¿Cómo incluir el nombre del archivo fuente tex en las rutas del directorio auxiliar y de salida con latexmk?

¿Cómo incluir el nombre del archivo fuente tex en las rutas del directorio auxiliar y de salida con latexmk?

Digamos que tengo tres directorios src, aux-diry out-dir, todos en el mismo directorio del espacio de trabajo work, y algunos archivos independientes pero con formato similar bleb1.tex,, bleb2.tex... ubicados en src. Me gustaría configurarlo latexmkpara compilar algunos bleb<i>.texde bleb<i>.pdfmodo que los archivos auxiliares se escriban en un subdirectorio bleb<i>de aux-diry los archivos de salida (por ejemplo, bleb<i>.pdf) se escriban en un subdirectorio bleb<i>de out-dir. Dado que habrá muchos bleb<i>.texarchivos, me gustaría evitar la necesidad de crear estos subdirectorios manualmente antes de compilar cada uno por primera vez bleb<i>.tex.

He definido un latexmkarchivo de configuración personalizado workcon este fin. Sé que dentro de un archivo de configuración, el destino de los archivos auxiliares y el destino de los archivos de salida se pueden especificar mediante las variables $aux_diry $out_dir, respectivamente, y eso latexmkes incluso tan conveniente como para crear las rutas especificadas en las variables si aún no existen. Sin embargo,Lo que no sé es cómo hacer que los nombres de los subdirectorios dependan del nombre base bleb<i>del archivo .tex de origen.

No parece que ninguna de las variables de marcador de posición %A, %Retc. sea accesible en el archivo de configuración fuera de sobrescribir una variable de comando (por ejemplo $latex = "latex %O %S"). Mi primer intento fue cambiar $latexa internal mylatex %Apara acceder al nombre del archivo fuente e insertarlo $aux_dirdentro $out_dirde mi propia mylatexsubrutina. Mi segundo intento fue intentar configurar $aux_diry $out_dirvariables en una ruta que contenga el nombre de archivo proporcionado $$Pbaseen una subrutina personalizada para ser llamado en el before_xlatexgancho. Para ambos intentos, latexmkno detecta los cambios $aux_diry $out_dirantes de vomitar todos los archivos auxiliares y de salida workde forma predeterminada. La documentación latexmkno parece especificar cómo acceder, en el archivo de configuración, a los argumentos de la línea de comando (en particular, el nombre del archivo fuente) pasados ​​por latexmk de cualquier otra manera. En mi tercer intento, en lugar de cambiar $aux_diry $out_dir, simplemente intenté cambiar los indicadores -aux-directoryy correspondientes -output-directoryen una systemllamada de Perl que realicé latexdentro de la mylatexsubrutina desde el primer intento, pero, nuevamente, latexmkignoro estos indicadores y simplemente vuelco los archivos en work.

En este punto, me he dado cuenta de que, para empezar, mi estructura de directorios planificada original workno es ideal debido a los posibles problemas que podrían surgir con, por ejemplo, bibtex, pero he pasado suficiente tiempo trasteando tratando de lograr que el plan original funcione. trabajo que tengo curiosidad por ver si es posible, o si he entendido mal algún principio de diseño fundamental latexmk.

Respuesta1

En este punto, lo que está solicitando no es compatible con latexmk. Sería posible implementarlo; esto implicaría un cambio en el código que utiliza latexmk antes de comenzar a procesar un archivo tex. Actualmente

Los intentos que hiciste llegaron demasiado tarde para hacer lo que se necesitaba. Una vez realizada la inicialización para un archivo .tex determinado, los directorios $aux_outy $out_dirdeben permanecer fijos y conocidos por latexmk.

información relacionada