首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Makefile/latexmk丢弃特殊字符问题

Makefile/latexmk丢弃特殊字符问题
EN

Stack Overflow用户
提问于 2022-01-08 09:19:01
回答 1查看 97关注 0票数 1

问题

这是我的Makefile

代码语言:javascript
复制
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时,

代码语言:javascript
复制
$ 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

  • Substitued

  • 直接执行整个命令(如下所示),而不是对Makefile: another上的宏使用latexmk:实际值(在另一个设备上使用相同的:Worked )

代码语言:javascript
复制
$ 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时.

  • 在设备X上运行Makefile A: Not工作(post中的问题)
  • 在设备Y上运行Makefile A: works
  • 在设备X上运行Makefile B:Works
  • 在设备Y上运行Makefile B:Works

f 223

我不知道为什么只有Makefile A不能在设备X上工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-15 14:09:31

我刚刚解决了这个问题;问题是在安装git时使用的是“可选的Unix工具”。git在设备X上安装了可选的Unix工具,而在设备Y上没有工具。

我在设备X上重新安装了git,没有工具,而且脚本工作正常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70631015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档