from IPython.display import display, Latex, Markdown

"""
Explanation: Jupyter Notebooks: Intermedio
Jupyter permite integrar sus capacidades de visualización html con el modulo IPython.display. De esta forma se puede generar la visualización de texto, imagen, video y ecuaciones de una forma sistematica al integrarlo con patrones generados mediante código.
End of explanation
"""


mark_text = "_Ejemplo_ de **markdown**  \nHola mundo"
display(Markdown(mark_text))

"""
Explanation: A continuación usaremos una celda de código en la cual guardaremos una expresión markdown en una variable python para su posterior visualización.
End of explanation
"""


fila1 = "|columna 1|columna 2|"
filaalineacion = "|---:|:---:|"
fila2 = "|der|cen|"
display(Markdown(fila1+"\n"+filaalineacion+"\n"+fila2))

"""
Explanation: El método display cumple la función de renderización de código html en el navegador, donde dicho código es generado por otro método, en este caso por el método markdown que convierte markdown a html y si almacena en un objeto de ipython para dicho fin.  
De esta misma forma se pueden generar elementos de documento más complejos de forma automatica, como tablas.
End of explanation
"""


latexexp = "$$\\frac{mc^2}{2}$$"
display(Latex(latexexp))

"""
Explanation: En este ejemplo las variables fueron asignadas de manera estatica, pero usted puede generar un código que cree el contenido de cada celda, y uniendo su representación en string a las cadenas necesarias para formar el patron markdown de una tabla.  
De igual manera es posible generar renderizado de ecuaciones de forma sistematica (elemento aprovechado por paquetes de algebra como Sympy).
End of explanation
"""


import IPython.display as Display
dir(Display)

"""
Explanation: Otras opciones de visualización soportadas son:
End of explanation
"""


