¿Cómo me refiero al directorio de salida en una macro?

¿Cómo me refiero al directorio de salida en una macro?

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-diropció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 .gitignorearchivo 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-dirruta en texlive con la ayuda del paquete currfile. Necesita la --recorderopción -.

\documentclass{article}
\usepackage[abspath]{currfile}
\begin{document}
\getabspath{test-utf8.log}
\theabsdir

\end{document}

ingrese la descripción de la imagen aquí

información relacionada