Estoy escribiendo un documento grande (casi un libro) de notas, así que para organizar el documento he estado usando subarchivos. La mayoría de las veces no puedo compilar la sección en la que estoy trabajando y tengo que compilar lacompletodocumento en lugar de la subsección en la que estoy trabajando.
A continuación se muestra cómo está organizado mi archivo: (he puesto el nombre entre comillas)
Mis carpetas son así...
FOLDER: "Main"
FILE: "ChapterA.tex"
FILE: "ChapterB.tex"
FILE: "ChapterC.tex"
FOLDER: "Sections"
FOLDER: "TopicA"
FILE: "SubsectionA1.tex"
FILE: "SubsectionA2.tex"
FILE: "SubsectionA3.tex"
FOLDER: "TopicB"
FILE: "SubsectionB1.tex"
FILE: "SubsectionB2.tex"
FILE: "SubsectionB3.tex"
FOLDER: "TopicC"
FILE: "SubsectionC1.tex"
FILE: "SubsectionC2.tex"
FILE: "SubsectionC3.tex"
FILE: "Main.tex"
FILE: "Preamble.sty"
FILE: "style.ist"
El archivo "Preámbulo.sty" parece...
\ProvidesPackage{Preamble}
\usepackage{--} %multiple packages for symbols and colors
\usepackage{morewrites}
\geometry{letterpaper,portrait, margin=1in}
[general formatting content for title and table of contents]
[creating some shortcuts and new commands that's used throughout the document using \DeclareMathOperator \newcommand and \catcode]
El archivo "Main.tex" se ve así...
\documentclass{article}
\usepackage{Preamble}
\usepackage{subfiles}
\makeindex[name=aa, title={TITLE},columns=1, intoc, options= -s style.ist]
\begin{document}
\subfile{Main/ChapterA} \NewPage
\subfile{Main/ChapterB} \NewPage
\subfile{Main/ChapterC} \NewPage
\printindex[aa]
\end{document}
El archivo CapítuloA, CapítuloB, CapítuloC se ve así:
\documentclass[../Main.tex]{subfiles}
\begin{document}
\Section{Chapter A}
\subfile{Sections/TopicA/SubsectionA1}
\subfile{Sections/TopicA/SubsectionA2}
\subfile{Sections/TopicA/SubsectionA3}
\end{document}
Todos los archivos de la subsección están en algún formato similar a este...
\documentclass[../Main.tex]{subfiles}
\begin{document}
\subsubsection{topic}
\begin{itemize}
\item TEXT...
\end{itemize}
\subsubsection{topic}
Some basic description
\begin{itemize}
\item MORE INFO
\end{itemize}
\end{document}
Cuando estoy en "ChapterA.tex" y compilo el archivo, el capítulo completo se compila sin el material anterior o posterior. con solo un error amarillo ("Advertencia del auxhook del paquete: No se puede parchear \document, usando \AtBeginDocument en su lugar").
Sin embargo, cuando estoy en "SubsectionA1.tex" y compilo, la subsección no se compila y aparece un error importante (' /usr/local/texlive/2017/texmf-dist/tex/latex/subfiles/subfiles.cls, línea 40 Error de LaTeX: Archivo `../Main.tex' no encontrado ')
Intenté editar \documentclass[..] pero no puedo compilar las subsecciones como lo hacen los capítulos. ¿Por qué funciona uno y el otro no?
Respuesta1
Tuve que modificar algunas rutas y cargar paquetes adicionales para que sus archivos sean compilables, pero su ejemplo funciona. Como regla básica,
La información de ruta es relativa al directorio que contiene el archivo con el comando
\subfile
o\documentclass
.
% folder structure
% ----------------
% Main.tex
% Preamble.sty
% Main/ChapterA.tex
% Main/ChapterB.tex
% Sections/TopicA/SubsectionA1.tex
% Sections/TopicA/SubsectionA2.tex
% Sections/TopicB/SubsectionB1.tex
% Sections/TopicB/SubsectionB2.tex
% Main.tex
\documentclass{article}
\usepackage{Preamble}
\makeindex[name=aa, title={TITLE},columns=1, intoc, options= -s style.ist]
\usepackage{subfiles}
\begin{document}
\subfile{Main/ChapterA}
\subfile{Main/ChapterB}
\printindex[aa]
\end{document}
% Preamble.sty
\usepackage{imakeidx}
\usepackage{geometry}
\geometry{letterpaper,portrait, margin=1in}
% Main/ChapterA.tex
\documentclass[../Main.tex]{subfiles}
\begin{document}
\section{Chapter A}
\subfile{../Sections/TopicA/SubsectionA1}
\subfile{../Sections/TopicA/SubsectionA2}
\end{document}
% Main/ChapterB.tex
\documentclass[../Main.tex]{subfiles}
\begin{document}
\section{Chapter B}
\subfile{../Sections/TopicB/SubsectionB1}
\subfile{../Sections/TopicB/SubsectionB2}
\end{document}
% Sections/TopicA/SubsectionA1.tex
% Sections/TopicA/SubsectionA2.tex
% Sections/TopicB/SubsectionB1.tex
% Sections/TopicB/SubsectionB2.tex
\documentclass[../../Main.tex]{subfiles}
\begin{document}
\subsubsection{topic}
\begin{itemize}
\item TEXT...
\end{itemize}
\end{document}
Luego, compilar los archivos por separado funciona (excepto que makeindex
falta style.ist
).