
Construyo fuera de fuente con
pdflatex -output-dir=/foo
Una de mis macros genera archivos temporales en el directorio de trabajo.
\immediate\write18{bash -c "some-command >outputfile"}
En su lugar, quiero que los guarde en el directorio de salida.
¿Cómo puedo hacer que mi macro conozca el valor dado a la -output-dir
opción de línea de comando?
Respuesta1
El problema es que en LaTeX el directorio de salida es también un directorio de entrada (por ejemplo, aux-file, toc, etc.) no sólo para pdflatex sino también para otras herramientas. En mi experiencia, a la larga es mucho mejor no usarlo --output-dir
. Siempre hay una herramienta que no encuentra sus archivos de entrada. En git simplemente uso un .gitignore
archivo sensible para evitar que se confirmen los archivos auxiliares.
Además de esto: con luatex puede acceder a los argumentos de la línea de comando como se describe en esta respuesta:https://tex.stackexchange.com/a/18813/2388.
Con pdflatex puedes recuperar la --output-dir
ruta en texlive con la ayuda del paquete currfile. Necesita la --recorder
opción -.
\documentclass{article}
\usepackage[abspath]{currfile}
\begin{document}
\getabspath{test-utf8.log}
\theabsdir
\end{document}