
我嘗試先使用\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
然後,您可以對包含and的條目進行模式匹配--output-dir
,然後捕獲等號後面的內容。
微量元素:
\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 實例正在運行,它可能無法運作。所以我不推薦它用於實際使用,只是一個概念證明。