Encapsulated Metapost en TexnicCenter con ejemplo
Asi, tal cual.
English details after the jump, at the bottom (link below), comment if you want the full translated article.
Resulta que MetaPost es un lenguaje bastante útil para hacer figuras, pero debe compilarse por separado y enlazar el archivo resultante en el archivo Latex, lo que puede llevar a errores en la sincronización. Aquí incluyo un método CON EJEMPLO FUNCIONANDO para escribir MetaPost embebido en Latex y compilarlo en un solo paso con TexnicCenter.
Usaremos un paquete llamado EMP (Encapsulated MetaPost) para generar y compilar automáticamente el código MetaPost. Esto significa que también podemos tener los diagramas en archivos MetaPost separados que podremos incluir desde Latex con \input{archivo} y se compilarán de forma automática, si cumplimos con lo que se detalla a continuación.
Recomiendo leer las instrucciones mirando el archivo de ejemplo
de mi autoría :). Primero incluiremos el paquete EMP, luego abrimos un bloque empfile donde irá cualquier cosa que hagamos con EMP.
Dentro de este bloque abrimos un bloque emp, el que creará una figura en la posición actual del documento. En el bloque emp podemos poner el programa MetaPost sin modificar.
Existen más formas de usar EMP, las que están MUY BREVEMENTE detalladas en su manual. Pero claro, el manual existente en CTAN que es el apuntado por la mayoría de las páginas que lo mencionan está.. ¡¡CORTADO A LA MITAD DEL PRIMER CODIGO EJEMPLO!! lo que no es de mucha utilidad.
Un manual completo puede encontrarse en CiteseerX (download es gratis, está a la derecha) o directamente en el mirror de la UTFSM (que también aloja la otra versión cortada como empman.pdf).
Adicionalmente hay una forma de configurar TexnicCenter para que haga todos los pasos necesarios para compilar y obtener un PDF a partir de estas fuentes. Esto está detallado en un mensaje a lista de correo "por ahí", con solo una respuesta indicando cómo respetar las reglas de formato para la lista de correo. Uf.
Moraleja: cuando alguien pregunta algo en un foro/lista de correo ud o responde o da un link. NO ENVIE A GOOGLE, QUE DE AHI VENDRA MUCHA GENTE.
Entonces, para configurar TexnicCenter:
- En el menú Build escoger Define Output Profiles. Agregar (botón Add, abajo) un nuevo perfil llamado LaTeX => MP => DVI => PDF
- Seleccionar este nuevo perfil y rellenar los datos siguientes en el tab Latex
- Marcar la casilla Run Latex in this profile
- En Path to Latex indicar la ubicación de latex.exe, en mi caso C:\Program Files (x86)\MiKTeX 2.7\miktex\bin\latex.exe
- En Command line arguments poner --src -interaction=nonstopmode "%Wm"
- En el tab Postprocessor crearemos 3 postprocesadores (con el botón ubicado sobre el listado vacío)
- MetaPost
- Executable mp.exe, en mi caso C:\Program Files (x86)\MiKTeX 2.7\miktex\bin\mp.exe
- Arguments %Bm.mp
- LaTeX to DVI
- Executable latex.exe, en mi caso C:\Program Files (x86)\MiKTeX 2.7\miktex\bin\latex.exe
- Arguments --src -interaction=nonstopmode "%Wm"
- DVI to PDF (opcional, convierte el DVI a PDF, también intercambiable por DVI to PS)
- Executable dvitopdfm.exe, en mi caso C:\Program Files (x86)\MiKTeX 2.7\miktex\bin\dvipdfm.exe
- Arguments %Bm.dvi
Hecho esto dar a OK y escoger el nuevo perfil en el listado arriba de la interfase del editor. Puede probarse con el archivo de ejemplo
. Podremos compilar como siempre.
También puede agregarse en el diálogo el visor para este perfil, para asi poder apretar el botón de view output y ver el documento. En el perfil creado sólo basta con copiar en el tab Viewer lo mismo que haya en otro perfil que termine en PDF.
ENGLISH
Here you can find the full Encapsulated MetaPost (EMP) manual, here is the mailing list archive post detailing how to get TexnicCenter to compile in one step. I only had to add a PDF postprocessor (look at the steps above, you should be able to figure it out) and a PDF viewer (which I copied from another PDF profile). Here
is a small example file using Encapsulated MetaPost which actually works right out of the box.
If this helped you or you need more, please let me know either way by commenting. Current antispam answer is santiago, which you would have figured out if you could read spanish :P
UPDATE
Eliminate postprocessor 3 and in postprocessor 2 put pdflatex.exe instead of latex.exe. Now follow instructions from Guy Wiener: How to embed UML in Latex and you've got MetaUML working embedded in Latex, which is what I was after from the start. Yay!
--Madster
Nadie ha comentado este artículo.