2016-04-29 182 views
1

我试图使用从here找到的\ def \ variableName {variable}函数将变量从Python中的子进程传递到我的Latex脚本。如果我使用某些词语作为变量名称,脚本不会运行,并且我得到这个'错误'(我说'错误',因为它不是一个真正的错误,但程序只停留在这里)。 Latex中的def错误

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)

想知道是否有人已经遇到这个问题,或者乳胶会只接受某些词作为变量名?

回答

1

如果有人绊倒了这一点,我找到了解决办法。

当定义def\nearmiss{variable} Python正在阅读转义字符\n所以我所要做的只是def\\nearmiss{variable},它的工作。

希望能帮助别人!