问题
这是我的Makefile
SRC=src/main.tex
DST_DIR=bin
ENGINE=latexmk
FLAGS=-synctex=1 --interaction=nonstopmode -file-line-error -xelatex -cd -outdir=../$(DST_DIR)
all:
$(ENGINE) $(FLAGS) -usepretex="\def\foo{1}\def\bar{0}" -jobname="all" $(SRC)当我运行目标all时,
$ make all
latexmk -synctex=1 --interaction=nonstopmode -file-line-error -xelatex -cd -outdir=../bin -usepretex="\def\foo{1}\def\bar{1}" -jobname="all" src/main.tex
Rc files read:
NONE
Latexmk: This is Latexmk, John Collins, 20 November 2021, version: 4.76.
Latexmk: Changing directory to 'src/'
Latexmk: applying rule 'xelatex'...
Rule 'xelatex': File changes, etc:
Changed files, or newly in use since previous run(s):
'main.tex'
------------
Run number 1 of rule 'xelatex'
------------
------------
Running 'xelatex -no-pdf -synctex=1 --interaction=nonstopmode -file-line-error -recorder --jobname="all" -output-directory="<my-project-dir>/bin" "deffoo1defbar1\input{main.tex}"'
------------
This is XeTeX, Version 3.141592653-2.6-0.999993 (TeX Live 2021/W32TeX) (preloaded format=xelatex)
restricted \write18 enabled.
entering extended mode
! I can't find file `deffoo1defbar1'.
<to be read again>
\let
<*> deffoo1defbar1\input
{main.tex}
(Press Enter to retry, or Control-Z to exit)
Please type another input file name
! Emergency stop.
<to be read again>
\let
<*> deffoo1defbar1\input
{main.tex}您可以看到pretex \def\foo{1}\def\bar{1}被正确地传递到latexmk,但在执行xelatex命令时更改为deffoo1defbar1,即忽略反斜杠和大括号。
这个问题的可能问题和解决办法是什么?
到目前为止我尝试过的
Worked
$ latexmk -synctex=1 --interaction=nonstopmode -file-line-error -xelatex -cd -outdir=../bin -usepretex="\def\foo{1}\def\bar{1}" -jobname="all" src/main.tex额外的神秘结果
我有Makefile A用于项目A,Makefile B用于项目B,Makefiles中的latexmk命令使用带有反斜杠和大括号的pretex。我还有两个Windows 10设备X和Y。当我在我的设备上运行Makefiles时.
f 223
我不知道为什么只有Makefile A不能在设备X上工作。
发布于 2022-01-15 14:09:31
我刚刚解决了这个问题;问题是在安装git时使用的是“可选的Unix工具”。git在设备X上安装了可选的Unix工具,而在设备Y上没有工具。
我在设备X上重新安装了git,没有工具,而且脚本工作正常。
https://stackoverflow.com/questions/70631015
复制相似问题