我正在尝试使用here中找到的\ def \ variableName {variable}函数将变量从Python中的子进程传递到我的Latex脚本。如果我使用某些单词作为变量名称,则脚本不会运行,我得到这个'错误'(我说'错误',因为它不是真正的错误,但程序只是停在这里)。
This is pdfTeX, Version 3.14159265-2.6-1.40.16 (MiKTeX 2.9)
entering extended mode
LaTeX2e <2015/10/01> patch level 2
Babel <3.9n> and hyphenation patterns for 69 languages loaded.
*
由于某些原因,这有效:
subprocess.call('pdflatex "\def\city{'+sys.argv[1][(sys.argv[1].rfind(os.sep))+1:-4]+'} \
\def\collisions{'+str(accidentDistributionList[0])+'} \
\def\collisionsb{'+str(accidentDistributionList[1])+'} \
\input{Summary.tex}"', shell=True)
但这不是:
subprocess.call('pdflatex "\def\city{'+sys.argv[1][(sys.argv[1].rfind(os.sep))+1:-4]+'} \
\def\collisions{'+str(accidentDistributionList[0])+'} \
\def\nearmisses{'+str(accidentDistributionList[1])+'} \
\input{Summary.tex}"', shell=True)
想知道是否有人遇到过这个问题,或者Latex只接受某些单词作为变量名?
答案 0 :(得分:1)
如果有人偶然发现了这个问题,我找到了解决办法。
定义def\nearmiss{variable}
Python正在读取转义字符\n
所以我所要做的就是def\\nearmiss{variable}
并且它有效。
希望能帮助别人!