我使用 TikZ 和 pgfplots 制作了一些图形。我将代码和最少的必要前言放入每个图形的独立文档中。
假设我将第 3 章的所有文件(因此命名为 Chap03_Something.tex)放入 的main.tex
文件夹中。有没有办法在所有文件上运行我选择的引擎(大多数情况下是 pdflatex,或者几次是 LuaLaTeX)Chap03_*
立刻?
答案1
@ECHO OFF
SETLOCAL
SET "sourcedir=D:\files\"
SET /p mask="Which .tex-files?"
PUSHD "%sourcedir%"
FOR /f "tokens=1*delims=" %%a IN (
'dir /b /a-d "%mask%*.tex" '
) DO (
pdflatex.exe -interaction=nonstopmode --shell-escape "%%a" any other parameters perhaps containing "%%~na"
)
POPD
GOTO :EOF
全部功劳归于马古,我只是添加了与 pdflatex 一起使用的参数-interaction=nonstopmode --shell-escape
。如果您知道“外部化”在 TikZ/pgfplots 中的含义并且使用它,请按原样使用上面的代码,否则删除那个部分--shell-escape
。
为了在文件上运行另一个引擎,我复制了 .bat 文件,并简单地将其替换lualatex.exe
为pdflatex.exe
。当然,必须相应地组织序言。
答案2
制作专属目录图片并加载主文件\graphicspath{{./pictures/}}
使用包的命令graphics(x)
。
创建批处理文件,例如
@echo off
echo "Processing images ..."
for %%i in (./*.tex) do pdflatex -interaction=nonstopmode %%i
echo "Deleting auxiliary files ..."
for %%i in (./*.aux) do del %%i
echo "Deleting log files ..."
for %%i in (./*.log) do del %%i
echo Done
pause
并将其命名pr_images.bat
为例如并将其<imagefile_*>.tex
与图片目录,然后运行它。
如果要处理,则通过lualatex
编辑.bat
文件进行更改。pdflatex
lualatex
现在只需将数字包括在内主文件\includegraphics[<options>]{...}
该.bat
文件必须位于图片目录。