Estoy redactando un documento grande y, en lugar de usar incluir/entrar, uso el \subimport*
comando del import
paquete. Esto me permite ocuparme de los caminos de mis familiares con mucha facilidad.
Sin embargo, lo bueno \include
es que puedo \includeonly
incluir solo ciertos archivos, sin romper las referencias. ¿Existe un comando similar para \subimport
?
editar
Estoy intentando crear un código que solucione este problema, pero mi conocimiento de LaTeX es realmente muy limitado. Escribí una especie de pseudocódigo extraño, ¿puede ser de ayuda?
\makeatletter
\AtBeginDocument{%
\let\origsubimport\subimport
\newcommand\subimportonly[1]{\let\somevar=#1}
\renewcommand\subimport[1]{\@ifstar
if #1 == letvar, use origsubimport*;
o/w just include aux?
}}
\makeatother
Respuesta1
Actualice todas las instancias de \subimport
to \subincludefrom
y elimine la extensión '.tex' de la ruta.
Por ejemplo, este uso de \subimport
:
\begin{document}
\subimport{intro/}{intro.tex}
\subimport{chap1/}{chap1.tex}
\subimport{discussion/}{discussion.tex}
\end{document}
Se convertiría en esto:
\begin{document}
\subincludefrom{intro/}{intro}
\subincludefrom{chap1/}{chap1}
\subincludefrom{discussion/}{discussion}
\end{document}
Después de haber compilado al menos una vez y ahora solo desea incluir la discusión (por ejemplo), puede agregar un \includeonly
al preámbulo, así:
\includeonly{discussion}
\begin{document}
\subincludefrom{intro/}{intro}
\subincludefrom{chap1/}{chap1}
\subincludefrom{discussion/}{discussion}
\end{document}
Y el documento solo incluirá discusión.tex. Esto hace que el ciclo de edición-compilación-vista sea más rápido al no incluir secciones en las que no está trabajando, pero utiliza los archivos *.aux para las inclusiones intro.tex y chap1.tex para evitar que se rompan las referencias.
Gracias al comentario de @touhami,¿Esta respuesta para acelerar la compilación (pre)compilando capítulos por separado?yesta respuesta a ¿Cómo hacemos inclusiones jerárquicas con rutas locales?por ayudarme a unir los puntos.
Respuesta2
Al momento de escribir este artículo, elrespuesta existenteno funciona ni en ni Debian/TeXLive 2019 (LaTeX2e <2020-02-02> patch level 5), import 6.0
en Windows/MiKTeX 2.9 (LaTeX2e <2019-10-01> patch level 3), import 6.1
. Ambos están completamente actualizados.
Hace apenas dos días, 2020-04-01, 6.2
se lanzó la versión y estádisponible en CTAN. Al usar ese sty
archivo manualmente, el problema no se solucionó.
Mientras tanto, tuve que emitir (tomando prestado el ejemplo de @Paul-Calcraft)
\includeonly{discussion/discussion}
\begin{document}
\subincludefrom{intro/}{intro}
\subincludefrom{chap1/}{chap1}
\subincludefrom{discussion/}{discussion}
\end{document}
Es decir, con la ruta completa en includeonly
. De lo contrario, hay un warning (pdf backend): no pages of output.
saludo muy inesperado, ya que todo el contenido del documento está dentro de subincludefrom
los comandos.