Revista   1 2 3 4   

FELTEX
Un editor para TEX

Juan Félix Avila Herrera 
Escuela de Informática
Universidad Nacional

Resumen

Este trabajo tiene como finalidad hacer pública una herramienta que el autor espera ayudará a facilitar el levantado de textos matemáticos y afines, usando TEX. El producto fue desarrollado en Delphi y tiene la virtud de ser muy transportable (requiere menos de 1.44 MB). Aunque Feltex es una versión prototipo, el autor confía en que podrá ser de mucha ayuda para aquellos que todavía prefieren generar ellos mismos (y por completo) el código fuente de sus documentos TEX.

Descargar Feltex

Introducción

Resulta muy placentero estar levantando este documento usando un editor creado por mi mismo. Siempre me ha parecido que los editores que acompañan muchos de los distintos ambientes que nos han permitido usar TEX, por ejemplo, EmTEX, PcTEX, etc, carecen de facilidades que le permitan al digitador abstenerse de digitar (y memorizar) muchos comandos. Además de esto, realizar tareas sencillas como justificar un texto, cambiar su tipografía, tamaño, etc, ha sido típicamente una tarea tediosa. Estas son algunas de las razones que me movieron para crear este producto.

Muchos de nosotros probablemente nos dimos a la tarea de buscar un editor de texto que nos facilitara las cosas. Yo por ejemplo utilicé Sidekick, el editor de Turbo Pascal, WordPerfect, MS-Word, EmTEX, PcTEX16, PcTEX32 etc. Ninguno de estos satisfiso por completo las necesidades que se presentan cuando se debe escribir código TEX. En un pasado un poco más cercano, notamos la presencia de herramientas gráficas como Scientific-Word que eliminan muchos de los inconvenientes en el uso de TEX. Sin embargo este programa me resultó un tanto inapropiado pues este servidor ya había adquirido la costumbre (y necesidad) de estar viendo el código TEX es su forma básica. No quiero dejar la impresión de que la herramienta mencionada no es útil, todo lo contrario, me parece muy valiosa, sin embargo yo prefiero visualizar completamente el código fuente de mis documentos.

Feltex está en un nivel intermedio entre editores como el que acompaña a PcTEX y herramientas gráficas como Scientific-Word. La idea sencillamente es que Feltex realiza la generación instantánea del código TEX que el digitador necesita para llevar a cabo ciertas tareas. Por ejemplo si necesitamos justificar a la izquierda la palabra ``felicidad'', en Feltex simplemente se debe seleccionar (usando el ratón) dicha palabra y presionar la tecla correspondiente en una las barras de edición:

Esto generará el siguiente código:

\begin{flushright}%_ 10:23:12 AM
felicidad\\
\end{flushright}%_ 10:23:12 AM
Feltex se encarga de escribir los comandos
\begin$\displaystyle \left\{\vphantom{{flushright} }\right.$flushright$\displaystyle \left.\vphantom{{flushright} }\right\}$ y \end$\displaystyle \left\{\vphantom{flushright }\right.$flushright$\displaystyle \left.\vphantom{flushright }\right\}$
Además Feltex agrega unos comentarios indicando donde empieza y donde termina el texto justificado. Las etiquetas no son mas que la hora en la que se usó el comando. Esto resulta conveniente cuando uno tiene la necesidad de anidar varios de estos comandos y después de varias anidaciones no es claro qué cierra con qué.

El ejemplo anterior muestra entonces cual es la filosofía de Feltex: facilitar la generación de código TEX en labores tediosas. Antes de hacer un recorrido por Feltex, es conveniente hacer otro ejemplo. Suponga que deseamos escribir lo siguiente:

 

$\displaystyle \int_{a}^{b}$$\displaystyle {\frac{x+4}{x-4}}$ dx

 

Con Feltex necesité tocar menos de 12 veces el teclado para obtener el código fuente:
$$% Inicio 10:43:09 AM
\int_{a}^{b}\frac{x+4}{x-4}  \, dx
$$% Fin    10:43:09 AM

Otra ventaja de la generación automática del código es la reducción de errores. Una de las principales fuentes de error en el levantado de textos usando TEX, es la escritura equivocada de un comando. Desafortunadamente este tipo de yerros se detectan hasta que se efectúa la compilación y por ende se pierde una cantidad considerable de tiempo tratando de corregir esta situación, sobre todo si se trata de un digitador novato. Feltex proporciona un menú del tipo List-Box cada vez que el usuario presiona la tecla \ ,   se despliega un menú  tal como se muestra en el siguiente dibujo:

Supongamos que el usuario desea digitar el comando \frac $\displaystyle \left\{\vphantom{ }\right.$$\displaystyle \left.\vphantom{ }\right\}$$\displaystyle \left\{\vphantom{ }\right.$$\displaystyle \left.\vphantom{ }\right\}$. Al digitar la ``f'', el cursor se ubica en el primer comando que empieza con esa letra. Cuando digita la ``r'', el curso salta al comando \frac $\displaystyle \left\{\vphantom{ }\right.$$\displaystyle \left.\vphantom{ }\right\}$$\displaystyle \left\{\vphantom{ }\right.$$\displaystyle \left.\vphantom{ }\right\}$ y una vez ubicado completamente, basta dar enter para que Feltex escriba el resto del comando por nosotros. Al principio esto puede parecer algo lento pues nosotros mismos debemos ir engrosando la lista de comandos personales. Sin embargo, una vez que hayamos agregado los comandos que más frecuentemente usamos, la edición se vuelve más rápida. Feltex incorpora una lista básica de comandos personales, una lista de comandos TEX y una lista de comandos LaTEX. Podemos alternar entre estas listas simplemente usando el menú de edición o bien las teclas rápidas asociadas.

Si por alguna razón alguien desea emplear el menú del   \    solamente cuando lo desee, es suficiente desactivar la opción ``Backslash activo'', en el menú de opciones. De esta forma al presionar la tecla \, no se desplegará ningún menú, sin embargo al hacer click sobre el botón del \ ubicado en la parte superior del editor, se desplegará el menú mencionado. Por otro lado, cuando la opción ``Backslash activo'' esté seleccionada, al dar click sobre el botón del \ simplemente se desplegará un \.

Otros  aspectos en los que Feltex resulta útil es en la inserción de tablas y gráficas. Tradicionalmente la inclusión de tablas ha sido una tarea que requiere mucho cuidado (cuando se hace ``a pie''). Feltex proporcional una hoja (semejante a la usada en MS-Excel) para que el usuario introduzca solamente el contenido de las celdas. El usuario puede escoger el tipo de justificación de las columnas, ya sea en grupo o individualmente, indicar si se trata de una matriz o de texto, etc. Feltex generará el código correspondiente.

Tal vez el elemento más difícil de incorporar a nuestro documentos TEX sean los gráficos. Una de las primeras herramientas que se utilizaron en la inclusión de gráficas fue el TEXCad. Esta herramienta permitía hacer algunas gráficas y luego generaba el código TEX asociado. Los resultados eran buenos (para la época) pero requerían de mucha paciencia y práctica. Las nuevas versiones de PcTEX permiten la inclusión de gráficas tipo Bmp, Encapsulated PostScript, Windows Metafile, o WMF y PostScript, o PS. El editor Feltex permite realizar estas tareas con relativa facilidad en el caso de Bmp y Wmf. En efecto en ambos tipos de imagenel usuario puede incorporar gráficas desde un archivo visualizando el dibujo antes de generar el código fuente. En el caso de Bmp, se da la facilidad adicional de hacer un paste (pegue) vía el portapapeles. Feltex sugiere un nombre para el archivo del Bmp y luego genera el código fuente para incluirlo en el documento. Ya sea vía archivo o portapapeles, Feltex sugiere además las dimensiones apropiadas en centímetros para el código fuente de la inclusión.