2010-07-14 24 views
8

Tengo un documento de látex bastante grande con muchas figuras de TikZ en el interior. Tengo el hábito de recompilarme con frecuencia y se tarda una eternidad en compilarlo usando pdflatex. Las figuras en TikZ toman la mayor parte del tiempo.Látex, TikZ y compilación separada de capítulos y figuras

Mi pregunta es: ¿cuál es la mejor manera de dividir el documento en archivos tex separados (figuras/capítulos) para lograr una compilación separada de figuras y capítulos, pdfs de capítulos separados y un archivo pdf completo?

Respuesta

6

¿Ha intentado compilar cada imagen por sí mismo y luego incluirlas en su archivo tex como pdf en lugar del código tikz? Puede usar el paquete de forma independiente para que la imagen tenga el tamaño exacto que necesita. Por lo tanto:

\documentclass{standalone} 

\usepackage{tikz,pgf} %and any other packages or tikzlibraries your picture needs 

\begin{document} 

\begin{tikzpicture} 

%your tikz code here 

\end{tikzpicture} 

\end{document} 

Lo bueno de esto es que usted puede incluir la compilación de este documento directamente para conseguir una figura pdf para incluir en el documento, o puede utilizar el comando \ input para incluirlo en su principal documentar como un código TikZ añadiendo

\usepackage{standalone} 

en el documento principal (junto con los paquetes TikZ y bibliotecas), y luego

\begin{figure} 
\input{tikzfile.tex} 
\end{figure} 
1

La forma general que hago esto es aplicar Lat ex solo una parte del archivo: Emacs y varios otros editores de látex le permiten compilar regiones: con Auctex, puede ejecutar TeX-pin-region para especificar el capítulo actual, y luego TeX-command-region para ejecutar Latex en el seleccionado región.

La forma tradicional de hacerlo es cortar partes del archivo grande en partes más pequeñas que son \include d, y luego comentar las partes en las que no desea trabajar, o poner alguna macrología al principio y al final de cada archivo que les permite compilarse por separado.

2

¿Qué le parece poner cada capítulo en un archivo separado y luego usar \include para ponerlos en algún archivo maestro? Luego puede usar \includeonly para compilar únicamente el capítulo en el que está trabajando actualmente. Eso debería ahorrar algo de tiempo al menos.

espero algún tipo de makefile sería aún mejor que esta solución basada, pero no sé nada acerca de los archivos make ...

5

Hay una mejor manera posible (en mi humilde opinión) a caché TikZ-pictures. Añadir las siguientes líneas en su preámbulo :

\usetikzlibrary{external} 
\tikzexternalize[prefix=i/] 

Después de un pdflatex plazo verá todas las fotografías del ./i subdirectorio. Si actualiza el código de una imagen tikz, simplemente deseche su archivo pdf correspondiente y se regenerará. Para obtener más información, consulte el manual de PFG/TikZ sección 32.4 Externalización de gráficos y posiblemente 32.5 Uso de gráficos externos sin pgf Instalado.

Cuestiones relacionadas