Ir al contenido principal

Escritura técnica: usando matemáticas

En una publicación anterior mencioné algunos aspectos generales de la escritura técnica. En este me gustaría hablar sobre la inclusión de expresiones matemáticas en documentos técnicos.

Hay dos formas principales de incluir matemáticas en documentos:

  • utilizando texto; y

  • utilizando una interfaz gráfica.

Usar una interfaz gráfica, como el editor de ecuaciones en LibreOffice Writer o MS Word, o MathType es conveniente. No es necesario memorizar nada y se pueden mirar las expresiones mientras se crean. Sin embargo, puede ser algo lento en comparación con el uso de entrada de texto —una vez que se está cómodo con la sintaxis—.

Hay dos tipos de ecuaciones utilizadas en Internet:

  • MathML es un estándar W3C para ecuaciones y está incluido en HTML5, por lo que funcionaría en todos los navegadores modernos. El problema con este es que no está diseñado para ser escrito a mano. Por tanto, uno puede usarlo si tiene alguna forma automática de generar el código.

  • LaTeX es mi forma sugerida de escribir ecuaciones. La curva de aprendizaje podría ser un un poco empinada al principio pero vale la pena.

Una herramienta que ayuda con las ecuaciones es MathPix Snip que genera automáticamente código LaTeX o MathML a partir de una imagen, incluso una escrita a mano. Otra herramienta que es realmente útil es Detexify que permite dibujar un símbolo y proporciona la sintaxis de LaTeX de este.

En el resto de la publicación mostraré mis sugerencias para trabajar con ecuaciones en LibreOffice y MS Word. Si estás utilizando LaTeX o MarkDown/ReStructuredText para tus documentos ya estás utilizando LaTeX para tus ecuaciones.

LibreOffice

LibreOffice tiene su propio editor de ecuaciones con su propia sintaxis y funciona bien para expresiones pequeñas, pero se complica para ecuaciones grandes o largas manipulaciones algebraicas. Para LibreOffice sugeriría usar TexMaths, es fácil de usar y funciona para el procesador de textos (Writer) y presentaciones (Impress). Supongo que también funciona para hojas de cálculo (Calc), pero no recuerdo haber usado ecuaciones en una.

MS Office

MS Office también tiene su propio editor de ecuaciones, funciona bien y es fácil de usar. Sin embargo, el mismo problema aparece cuando quieres expresiones largas. Una opción es usar directamente LaTeX en Office pero prefiero usar IguanaTex. Es un complemento que permite ingresar ecuaciones de forma similar a TexMaths en LibreOffice.

También puede pegar directamente las ecuaciones MathML en MS Word (>2013 y Windows).

Usa SymPy

Independientemente de la herramienta que use para escribir sus documentos, sugiero usar un CAS (del inglés Computer Algebra System), como Mathematica o SymPy. Estos programas permiten la generación automática de LaTeX y MathML a partir de expresiones y esto facilita mucho el proceso.

Veamos un ejemplo. Supongamos que tenemos la función

\begin{equation*} f(x) = \exp(-x^2) \sin(3*x) \end{equation*}

y queremos calcular su segunda derivada

\begin{equation*} f''(x) = \left(- 12 x \cos{\left(3 x \right)} + 2 \left(2 x^{2} - 1\right) \sin{\left(3 x \right)} - 9 \sin{\left(3 x \right)}\right) e^{- x^{2}} \end{equation*}

El siguiente bloque de código nos da el código LaTex

from sympy import *
init_session()
f = exp(-x**2)*sin(3*x)
fxx = diff(f, x, 2)
print(latex(fxx))

que es

\left(- 12 x \cos{\left(3 x \right)} + 2 \left(2 x^{2} - 1\right) \sin{\left(3 x \right)} - 9 \sin{\left(3 x \right)}\right) e^{- x^{2}}

Este corresponde con el código que usé arriba para representar la ecuación.

Si quisiéramos el código MathML de esa expresión podríamos usar el siguiente fragmento de código

from sympy import *
init_session()
f = exp(-x**2)*sin(3*x)
fxx = diff(f, x, 2)
print(mathml(fxx, printer="presentation"))

observe el argumento opcional printer = "presentation". Si queremos agregar esto a MS Word, por ejemplo, podríamos agregar la salida (que no voy a mostrar porque es realmente larga) dentro del siguiente código

<math xmlns = "http://www.w3.org/1998/Math/MathML">
</math>

Cuando se usa Jupyter Notebook, esto se puede hacer gráficamente con un clic derecho sobre la expresión. Y se muestra el siguiente menú.

/images/jupyter_export_eqs.png

Referencias

  1. “How to Insert Equations in Microsoft Word.” WikiHow, https://www.wikihow.com/Insert-Equations-in-Microsoft-Word. Fecha de acceso: Agosto 3, 2020.

  2. “Copy MathML into Word to Use as Equation.” Stack Overflow, https://stackoverflow.com/questions/25430775/copy-mathml-into-word-to-use-as-equation. Fecha de acceso: Agosto 3, 2020.

  3. “Python - Output Sympy Equation to Word Using Mathml.” Stack Overflow, https://stackoverflow.com/questions/40921128/output-sympy-equation-to-word-using-mathml. Fecha de acceso: Agosto 3, 2020.

  4. OERPUB (2016), “Mathconverter”, https://github.com/oerpub/mathconverter, Fecha de acceso: Agosto 3, 2020.

Comentarios

Comments powered by Disqus