Hace unos años, después de sacar la oposición, decidí matricularme en la UNED, en la ingeniería técnica de informática. Aún sigo en ello (a ver si el año que viene la termino, antes de que me pille Bolonia).
El caso es que he tenido que entregar más de una memoria de prácticas que incluía código en diferentes lenguajes (principalmente Modula-2 y Java). En mi anterior etapa universitaria me aficioné a utilizar LaTeX para confeccionar mis documentos. Esto me plantea un problema: cómo "incrustar" el código desarrollado en un lenguaje de programación dentro del documento en LaTeX. Buscando por Internet, lo que uno encuentra como recomendación es que se use el entorno verbatim. Yo debo de ser muy torpe, pero con ese entorno no consigo que me queden bien las sangrías. Y por supuesto, me puedo ir olvidando de que me aparezcan en negrita las palabras reservadas del lenguaje.
Busqué alguna herramienta que tome el código como entrada y genere el código en LaTeX. Una vez encontré una que funcionaba muy bien para C++ (creo recordar que se llamaba cpp2latex, pero nunca más lo volví a encontrar). Sin embargo, estas últimas veces lo necesitaba para Java. Dado que precisamente estaba estudiando la asignatura de Compiladores, la solución apareció clara delante de mis narices: utilizar la herramienta jflex, un analizador léxico que permite hacer justo lo que quiero, simplemente configurándola con un sencillo fichero de entrada.
El resultado lo presento a continuación. Me queda perfeccionar los comentarios, pero lo que tengo actualmente ya sirve para generar un fichero LaTeX que puede ser incluido en un documento principal. Sólo hay que dar algún retoque.
Subo el fichero de entrada a la herramienta jflex y también el código java de la clase generada. Si no queréis perfeccionarlo, basta con este último para que lo podáis utilizar. Se publica con licencia GPLv3. Cuando tenga más tiempo intentaré subir el jar.
Espero que sirva.
No hay comentarios:
Publicar un comentario