Escribir fórmulas químicas con L Y X Francesc Carmona fcarmona@ub.edu 17 de noviembre de 2010 1. Introducción L Y X es un procesador de documentos orientado a la escritura con un enfoque basado en la estructura del documento (WYSIWYM) y no simplemente en su aspecto (WYSIWYG). L Y X combina la potencia de TEX/LATEX con la facilidad de uso de una interfaz gráca. Esto resulta muy interesante en la creación de documentos con contenido matemático (dispone de un editor de ecuaciones totalmente integrado) y documentos estructurados como artículos académicos, tesis o libros. Además, permite la integración normalizada de elementos esenciales en escritos cientícos como los índices de referencias o de materias. Pero también se puede usar L Y X para escribir una carta, una novela, una obra de teatro o un guión de película. Incorpora una amplia colección de diseños de documentos listos para su uso. L Y X se publica bajo una licencia Free Software / Open Source, funciona en Linux/Unix, MS-Windows y Mac OS X, y está disponible en varios idiomas. Su página principal es http://www.lyx.org/webes.home. En este artículo vamos a explicar cómo incorporar fórmulas químicas sencillas y también complejas en un documento utilizando L Y X/LATEX. Precisamente, para escribir fórmulas químicas en LATEX existen varias extensiones que podemos hallar en el TEXCatalog http://texcatalogue.sarovar.org/bytopic.html#chem 1
Vamos a presentar aquí algunas de estas soluciones, desde la más sencilla con macros propias ad hoc, hasta paquetes como mhchem, pasando por alguna solución gráca como Chemtool. 2. Una primera propuesta Como sabemos, para escribir una fórmula podemos utilizar el editor de ecuaciones de L Y X y su extensión o directamente código LATEX con. Depende de nuestro nivel de conocimiento de LATEX. Seguramente cuantas más instrucciones LATEX conozcamos, más fácil será escribir, incluso en el editor de ecuaciones. Para escribir las fórmulas químicas se puede utilizar simplemente el modo matemático, con cualquiera de las dos opciones, pero el resultado no es plenamente satisfactorio. Por ejemplo, el siguiente código LATEX (que también se puede lograr con el editor de ecuaciones ) \[ CH_4 + 2O_2 \longrightarrow CO_2 + 2H_2 O \] proporciona la fórmula CH 4 + 2O 2 CO 2 + 2H 2 O Observemos que las letras están en cursiva (italic), cuando deberían estar en roman upright. Para corregir este problema podemos modicar el tipo de letra, una a una, con el icono y la instrucción \mathrm{...}. Otra opción es englobar toda la fórmula con la instrucción \mathrm{...}, pero esto implicará a todas las letras de la fórmula, lo que puede ser inconveniente en algunos casos. La fórmula anterior se corrige con el código \[ \mathrm{ CH_4 + 2O_2 \longrightarrow CO_2 + 2H_2 O }\] que proporciona la misma fórmula pero en roman upright CH 4 + 2O 2 CO 2 + 2H 2 O Podemos incluso crear 1 dos nuevas macros de LATEX e incluirlas en Documento Conguración Preámbulo LaTeX del documento. Para ello copiaremos las instrucciones \newcommand{\quim}[1]{$\mathrm{#1}$} \newcommand{\quimecu}[1]{\[\mathrm{#1}\]} en el preámbulo LATEX y las utilizaremos en el texto como código LATEX con el icono así 1 Algo similar se puede tener con el paquete chemist.sty ahora obsoleto. 2
\quim{ CH_4 + 2O_2 \longrightarrow CO_2 + 2H_2 O } para insertar la fórmula en línea o así \quimecu{ CH_4 + 2O_2 \longrightarrow CO_2 + 2H_2 O } para tener la misma fórmula en modo presentación. Sin embargo, si la fórmula contiene una variable como n que debe ir en cursiva, la solución anterior se tiene que modicar. Por ejemplo si la fórmula es \quimecu{ C_n H_{2n+2} + \frac{3n + 1}{2}O_2 \longrightarrow n CO_2 + (n+1)h_2 O } el resultado no es el deseado C n H 2n+2 + 3n + 1 O 2 nco 2 + (n + 1)H 2 O 2 La variable n aparece también en roman upright. Para arreglarlo deberemos cambiar sus apariciones con el formato \mathit{...}. Entonces, la fórmula anterior quedaría así \quimecu{ C_\mathit{n} H_{2\mathit{n}+2} + \frac{3\mathit{n} + 1}{2}O_2 \longrightarrow \mathit{n} CO_2 + (\mathit{n}+1)h_2 O } El resultado, ahora sí, es el correcto Ligaduras y echas C n H 2n+2 + 3n + 1 O 2 nco 2 + (n + 1)H 2 O 2 Para las fórmulas semidesarrolladas en línea, se puede utilizar para las ligaduras simples, = para las ligaduras dobles y \equiv para las triples. Las echas de reacción se obtienen desde el editor de ecuaciones o con las instrucciones del tipo \rightarrow, \longrightarrow y \rightleftarrows (o \rightleftharpoons). En el modo matemático también disponemos de echas con escritura encima o debajo, pero hay que escribir la instrucción directamente. Las instrucciones 2 son \xrightarrow{texto encima}, \xrightarrow[texto debajo]{} \xrightarrow[texte debajo]{texto encima} Para utilizarlas basta con estar en el modo matemático y empezar a escribir la instrucción. Entonces L Y X nos ofrecerá acabar de escribirla y abrirá dos cajas para escribir encima y debajo. Dejaremos en blanco la que no nos interese. La longitud de la echa se ajustará al texto. 2 Estas instrucciones pertenecen al paquete amsmath que en LY X está siempre disponible. 3
También podemos pensar en las instrucciones de posición como \overset{texto encima}{texto principal } y \underset{texto debajo}{texto principal }. Un ejemplo. Si abrimos el modo matemático y vamos tecleando la siguiente instrucción Ag^+ + Cl^- \rightarrow \underset{\searrow}{agcl} nos muestra como resultado Ag + + Cl AgCl sólo hay que corregir el tipo de letra de cursiva a upright con el icono. 3. El paquete mhchem El paquete mhchem de LATEX contiene un conjunto de macros especícas para escribir estructuras químicas que permiten un mayor nivel de sosticación. Está en el paquete llamado texlive-science de la distribución TEXlive y en Ubuntu, por ejemplo, hay que instalarlo expresamente: sudo apt-get install texlive-science También está disponible en los repositorios de MiKTEX para MS-Windows. 4. La utilidad gráca Chemtool Para el diseño de moléculas utilizaremos un entorno gráco como Chemtool e insertaremos la imagen producida. Chemtool es una alternativa a ChemDraw, una popular aplicación de código cerrado (no libre) para MS-Windows. Chemtool es capaz de exportar las estructuras químicas en docenas de diferentes formatos para permitir su fácil inserción en otras aplicaciones como L Y X. Dispone de una interfaz muy sencilla para dibujar y de multitud de plantillas con moléculas prediseñadas para simplicar el proceso. Toda la información y manuales se hallan en la página ocial del proyecto http://ruby.chemie.uni-freiburg. de/~martin/chemtool/. La instalación de esta aplicación es simple. Se halla disponible en el Ubuntu Software Center y en los repositorios. También se puede instalar desde la consola con la instrucción sudo apt-get install chemtool La aplicación la encontraremos en Aplicaciones Educación Chemtool. 4
5. Otras opciones El paquete PPCHT E X El paquete PPCHT E X es un conjunto coherente de macros que se pueden utilizar para escribir o, mejor, para dibujar fórmulas de estructuras químicas. Las macros se basan en PICT E X, un paquete de dibujo de dominio público escrito por Michael Wichura. Aunque originalmente estaban escritas únicamente en PICT E X, la segunda edición puede cooperar con el PSTRICKS de Timothy Van Zandt, eso sí, con algunas limitaciones. En todo caso, la dicultad de componer las fórmulas con estas macros se compensa con la calidad del resultado al utilizar la salida PICT E X. Las macros se pueden usar desde otros paquetes en forma de módulos ConT E Xt genéricos. Dichas macros están escritas de forma que se pueden ampliar con extensiones compatibles con relativa facilidad (para los que dominen el tema). La interfície se ajusta a la interfície de ConT E Xt. PPCHT E X se pensó originalmente para escribir fórmulas de estructuras químicas como sixrings. Ahora también se da soporte a los mecanismos de reacción. Las fórmulas se pueden escribir en diferentes tamaños. Los elementos más comunes o las fórmulas utilizadas con más frecuencia se pueden reutilizar. Se ha primado la exibilidad y la calidad frente a la velocidad y los grácos se toman su tiempo. La opción de PICT E X de guardar las imágenes no sirve para ganar tiempo y, por tanto, no vale la pena utilizarla. La plantilla Chemstyle La plantilla o paquete Chemstyle desarrollado por Joseph Wright, proporciona un sistema extensible para dar formato a documentos de química según las convenciones de un buen número de revistas punteras. Por supuesto que también contiene un conjunto de prácticas macros relacionadas con la química. 5
Figura 1: Estructura de la nicotina creada con PPCHT E X. Chemstyle es una mejora de un paquete anterior llamado rsc y todas las macros de este último se han incorporado. El paquete chemscheme se distribuye conjuntamente con Chemstyle. El paquete ChemTEX Este paquete fué uno de los primeros en demostrar las posibilidades de TEX para obtener grácos de calidad. Ahora ya prácticamente no se utiliza, pero es un símbolo del esfuerzo innovador de las primeras épocas. La moderna alternativa es el conjunto de paquetes XyMT E X para dibujar una amplia variedad de fórmulas químicas estructurales. 6