¿Es posible obtener el valor de --output-directory mediante programación a partir del código LaTeX?

¿Es posible obtener el valor de --output-directory mediante programación a partir del código LaTeX?

Primero estoy intentando guardar un archivo, usando \VerbatimOut. Luego, estoy usando este archivo en \ShellEscape, donde necesito saber su nombre de ruta absoluta. Todo funciona bien, hasta que --output-directoryse cambia y \VerbatimOutguarda el archivo en una ubicación diferente al directorio actual. ¿Cómo puedo obtener el valor de --output-directory?

PD Supongo que no es posible, ya que esto es lo queminteddice:

ingrese la descripción de la imagen aquí

Respuesta1

En Linux puedes buscar en la lista de procesos actualmente en ejecución usando el comando ps aux. Para mí, una entrada de pdflatexwith --output-dirse ve así:

marijn     94217  0.0  0.2 119940 40784 pts/1    S+   18:22   0:00 pdflatex --shell-escape --output-dir=diffout chkoutdir.tex

Luego puede hacer coincidir el patrón para una entrada que contenga latexy --output-diry luego capturar lo que viene después del signo igual.

MWE:

 \documentclass{article}
\usepackage{fancyvrb}
\usepackage{shellesc}
\begin{document}
\begin{VerbatimOut}{verbfile.txt}
I write that. And that too.
\end{VerbatimOut}
\ShellEscape{bash chkdirscript.sh}
\end{document}

Guion:

if ps aux|pcregrep -q "latex.*[-]output-dir=[^ ]+ "; then
    OUTDIR=$(ps aux|pcregrep -o1 "latex.*[-]output-dir=([^ ]+) ")
    cat $OUTDIR/verbfile.txt
else
    cat verbfile.txt
fi

Al compilar el documento LaTeX ahora se mostrará el contenido del archivo en la terminal tanto en situaciones donde --output-dirse usa la bandera como en situaciones donde no se usa.

Esto no funciona si el directorio de salida contiene espacios. Es posible que tampoco funcione si el directorio de salida especificado es en sí mismo una llamada a un script o variable de algún tipo. Además, es posible que no funcione si hay más de una instancia de LaTeX ejecutándose. Así que no lo recomiendo para uso real, sólo como prueba de concepto.

información relacionada