2010-05-27 16 views
5

Al compilar documentos de látex, el compilador emite una gran cantidad de archivos de "objetos". Esto complica los directorios en los que estoy trabajando y dificulta el uso de VCS como SVN. Cuando trabajo con código C++ tengo directorios separados para el código y los objetos, puedo ejecutar make en el directorio fuente pero los archivos .o van al directorio de compilación.Realice una compilación separada de documentos de Latex

¿Existe una manera adecuada de realizar esta compilación separada con los documentos de Latex? ¿Se puede hacer usando Makefiles o pasando opciones al compilador de látex?

Gracias

Respuesta

4

que puede utilizar:

pdflatex --output-directory=tmp file.tex 

y todos los archivos se almacenarán en la carpeta tmp (pdf incluido).

Como esta no es una solución óptima, hice mi propia herramienta, pydflatex, que compila la fuente LaTeX almacenando los archivos auxiliares (usando el truco anterior), y trae el pdf al directorio actual, por lo que luego compilando usted solo tiene file.tex y file.pdf en su directorio. Esto funciona muy bien con el control de versiones.

+0

El comando latex también tiene esta opción --output-directory, gracias – tonicebrian

+1

Para ser precisos, tanto 'pdflatex' como' latex' son enlaces simbólicos al comando principal 'pdftex', por lo que tienen las mismas opciones. Por cierto, no creo que haya mucho interés en usar el comando 'latex' (vs' pdflatex') hoy en día, ya que el pdf ha reemplazado completamente a dvi. –

2

no puedo ayudar mucho con látex (teniendo último usuario en serio hace 20 años ;-), pero para Subversion, debe leer sobre la propiedad svn:ignore - que hace que sea fácil de ignorar archivos con extensiones que hace no desea versión (archivos de objetos, archivos de código de bytes como Python a menudo puede poner en el mismo directorio que las fuentes, archivos de copia de seguridad que algunos editores de texto usan, & c).

+0

Subversion es un problema pero no el más importante. Puede usar svn: ignorar, pero debe especificar esa propiedad en cada documento y no es óptimo. Otros problemas que me molestan es que no puede autocompletar utilizando el shell porque todos los archivos con el mismo nombre con diferente extensión, o simplemente el archivo "objeto" cuando se descompone Latex. – tonicebrian

0

Latex genera los archivos temporales en el directorio donde se encuentra el documento principal. Si desea que los contenidos se coloquen en una ubicación diferente, intente con un archivo principal como a continuación.

\documentclass{article} 
\input{src/maindocument.tex} 

Usando este método, se puede mantener una estructura de directorios, como a continuación

/ 
    main.tex 
    /src 
     maindocument.tex 
0

Dos opciones, además de las anteriores.

  1. Utilice Lyx: se ocupa de los archivos separados. Creo que copia el archivo Latex en su propio directorio privado y ejecuta latex en él. En cualquier caso, no se crea nada en el directorio actual.
  2. Utilice un archivo makefile o uno de los programas especiales de fabricación de látex, y haga que sus objetivos habituales se ejecuten en make clean.
Cuestiones relacionadas