
먼저 \VerbatimOut
. 그런 다음 \ShellEscape
절대 경로 이름을 알아야 하는 에서 이 파일을 사용하고 있습니다 . --output-directory
변경되어 \VerbatimOut
현재 디렉터리와 다른 위치에 파일을 저장할 때까지 모든 것이 잘 작동합니다 . 의 값을 어떻게 얻을 수 있나요 --output-directory
?
ps. 이건 불가능할 것 같아요.minted
말한다:
답변1
Linux에서는 명령을 사용하여 현재 실행 중인 프로세스 목록을 검색할 수 있습니다 ps aux
. 나에게 pdflatex
with 항목은 --output-dir
다음과 같습니다.
marijn 94217 0.0 0.2 119940 40784 pts/1 S+ 18:22 0:00 pdflatex --shell-escape --output-dir=diffout chkoutdir.tex
latex
그런 다음 및 가 포함된 항목에 대한 패턴 일치를 수행 --output-dir
한 다음 등호 뒤에 오는 내용을 캡처할 수 있습니다.
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}
스크립트:
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
--output-dir
이제 LaTeX 문서를 컴파일하면 플래그가 사용되는 상황과 사용되지 않는 상황 모두에서 터미널에 파일 내용이 표시됩니다 .
출력 디렉터리에 공백이 포함되어 있으면 작동하지 않습니다. 또한 지정된 출력 디렉터리 자체가 일종의 스크립트나 변수에 대한 호출인 경우에도 작동하지 않을 수 있습니다. 또한 LaTeX 인스턴스가 두 개 이상 실행 중인 경우 작동하지 않을 수 있습니다. 따라서 실제 사용에는 권장하지 않으며 단지 개념 증명일 뿐입니다.