Subarchivos en el subdirectorio, archivo no encontrado

Subarchivos en el subdirectorio, archivo no encontrado

Estoy escribiendo un documento extenso con otras dos personas que utilizan Dropbox como mecanismo de almacenamiento de archivos. Quiero que cada persona pueda trabajar en su pieza individualmente. Por lo tanto, quiero poder compilar cada documento por separado, así como compilar el documento principal. El paquete de subarchivos parecía perfecto para esto.

Intenté seguir el ejemplo de documentos modulares enWikilibros, pero no me funciona. El documento de nivel superior se compilará, pero los de nivel inferior tendrán errores de archivo no encontrado.

He aquí mi arreglo:

  • Carpeta de imágenes
  • carpeta de texto
  • principal.tex
  • estilos.sty

Dentro de main.tex:

\documentclass[11pt,letterpaper]{article}
\usepackage{styling} %includes \usepackage{subfiles}
\begin{document}
\maketitle
\tableofcontents
\subfile{./tex/subpiece1}
\end{document}

Dentro de la subpieza1 en la carpeta tex:

\documentclass[../main.tex]{subfiles}
\graphicspath{ {Images/subpiece1/} }

\begin{document}
\section{sectiontitle}
%Images and text
\end{document}

El error al crear el subarchivo por separado: ../main.tex:4: Error de LaTeX: Archivo `styling.sty' no encontrado. [^^M]

Respuesta1

Me encontré con el mismo problema que tú cuando compilé mi primer documento de varios archivos usando el paquete subfiles.

Como no soy un usuario de látex desde hace mucho tiempo, no entiendo completamente la mecánica del problema, pero sospecho que el problema es que cuando compilas el archivo "esclavo" (en tu caso, 'subpiece1.tex'), tu compilador busca el archivo personalizado. paquete en el mismo directorio que 'subpiece1.tex' y los otros directorios tex predeterminados.

Logré resolver el problema cambiando el comando \usepackage{} para incluir también una ruta relativa que será común para los archivos .tex "maestro" y "esclavo".

Qué necesitas hacer:

  1. Agregue una carpeta en su directorio de inicio para el documento maestro. es decir, su directorio de inicio debe tener carpetas: carpeta maestra (que contiene main.tex), carpeta tex, carpeta de imágenes.
  2. Edite su carpeta main.tex para que el comando \usepackage{} incluya la ruta relativa a 'styling.sty' (debe leer \usepackage{../styling} sin extensión de archivo)
  3. Si realizó el primer paso correctamente, 'styling.sty' tendrá la misma ruta relativa desde 'main.tex' y 'subpiece1.tex' (la ruta relativa para ambos es una carpeta hacia arriba. Esto se logra con '../' en el comando \usepackage{})
  4. Actualice todas las demás rutas de archivos relativas para que se lean según sea necesario.

main.tex ahora lee

\documentclass[11pt,letterpaper]{article}
\usepackage{../styling} %includes \usepackage{subfiles}
\begin{document}
%\maketitle (I just removed these because for the demonstartion i didnt actually need them)
%\tableofcontents
\subfile{../tex/subpiece1}
\end{document}

subpieza1 ahora dice

\documentclass[../master/main.tex]{subfiles}
% again I just removed the graphics path because I have no need for it
\begin{document}
\section{sectiontitle}
%Images and text
\end{document}

Personalmente prefiero agrupar mi preámbulo.sty en la misma carpeta que mi main.tex, pero la idea básica es la misma. Creo que cualquier ruta estaría bien siempre que las rutas relativas sean las mismas para los archivos 'main.tex' y 'subpiece1.tex'.

También sospecho que hay formas mejores y más elegantes de solucionar este problema, pero hasta ahora me ha funcionado.

información relacionada