
Estoy escribiendo documentos técnicos con matemáticas/diagramas/gráficos/código, etc. Quiero compilarlos en un solo documento y también debo poder ejecutar cada uno de ellos de forma independiente. Estos documentos técnicos pertenecientes a cada tema se encuentran en sus floders. ¿Alguien puede guiarme sobre cómo administrarlo mejor y también hacerlo portátil? Como trabajo en los mismos documentos en Mac OSX/MS Windows.
Respuesta1
Si entiendo correctamente la pregunta, entonces una solución podría ser utilizar el paquete subfiles
.
Digamos que ese main.tex
es su archivo principal y son los file1.tex
que desea incluir. Entonces su documento principal se vería así:file2.tex
file3.tex
principal.txt:
\documentclass[a4paper]{article}
<your preamble>
\usepackage{subfiles}
\begin{document}
\subfile{file1}
\subfile{file2}
\subfile{file3}
\end{document}
donde puedes poner texto donde quieras, como si estuvieras usando \include
o \input
en lugar de \subfile
. El contenido de file1.tex
entonces se vería así
archivo1.tex
\documentclass[main.tex]{subfiles}
\begin{document}
<your document goes here>
\end{document}
La misma estructura debería aplicarse a los archivos file2.tex
y file3.tex
.
Ahora cuando compilas main.tex
entonces el contenido de los archivos, es decir, lo que te indiqué con <tu documento va aqui> se incluirá en su documento, y si compila, digamos file1.tex
, entonces el contenido de file2.tex
se compilará como si tuviera las especificaciones de clase de documento y el preámbulo de main.tex
.
Ahora todos los archivos del proyecto se pueden compilar por separado, pero para compilar uno de los subarchivos deberá tenerlos main.tex
en el mismo directorio.
documentación e instalación del paquete
No estoy seguro de si subfiles
viene como paquete estándar. No fue así para mí, así que dependiendo de la experiencia que tengas instalando paquetes, quería decir que los paquetes se pueden encontrar en
http://www.ctan.org/tex-archive/macros/latex/contrib/subfiles/
donde también hay una documentación del paquete, es decir, el documento pdf subfiles.pdf
. Si no sabe cómo manejar .ins
archivos .dtx
, hay una pequeña guía en
http://en.wikibooks.org/wiki/LaTeX/Packages/Installing_Extra_Packages
y si lo desea, puede colocar los archivos subfiles.cls
y subfiles.sty
que se generan mientras se compila el paquete en el mismo directorio que main.tex
, de modo que no dependa del hecho de que el siguiente sistema en el que se deben compilar los archivos tenga el paquete subfiels
instalado.
EDITAR
Contestar
Tengo tres niveles de directorio, 1 - nivel superior que tiene rootfile.tex, 2 - nivel de capítulo que tiene el archivo principal de cada capítulo, 3 - nivel de sección que tiene el contenido real de ese capítulo. Estoy creando instancias de 3 en 2 usando \include{./Sections/part1}. ¿Cómo se puede gestionar un sistema de este tipo utilizando subarchivos? – avlsi
Supongamos que tienes los archivos
./rootfile.tex
./chapter/chap1.tex
./chapter/chap1/section1.1.tex
./chapter/chap1/section1.2.tex
./chapter/chap2.tex
./chapter/chap2/section2.1.tex
./chapter/chap2/section2.2.tex
./chapter/chap3.tex
./chapter/chap3/section3.1.tex
./chapter/chap3/section3.2.tex
y desea incluir los archivos sectionX.1.tex
y sectionX.2.tex
en el archivo chapX.tex
para X=1,2 y aún poder compilar sus archivos de sección, sus archivos de capítulo y su archivo raíz. Esto se puede hacer dejando que sus archivos se vean así:
archivo raíz.tex:
\documentclass[a4paper]{article}
<your preamble>
\usepackage{subfiles}
\def\dirlevel{../}
\begin{document}
\def\dirlevel{}
\subfile{./chapter/chap1}
\subfile{./chapter/chap2}
\subfile{./chapter/chap3}
\end{document}
capX.tex:
\documentclass[./../rootfile.tex]{subfiles}
\begin{document}
\subfile{./\dirlevel chap/chapX/sectionX.1}
\subfile{./\dirlevel chap/chapX/sectionX.2}
\end{document}
secciónX.Y.tex:
\documentclass[./../../rootfile.tex]{subfiles}
\begin{document}
<your section goes here>
\end{document}
El truco es que \def\dirlevel{}
solo se lee si compila rootfile.tex
, mientras que \def\dirlevel{../}
se lee sin importar cuál de los archivos compile, por lo que no importa qué archivo compile, LaTeX aún podrá encontrar sus archivos.