2016-04-29 13 views
1

Ich versuche, die \ def \ variableName {Variable} Funktion aus here zu finden, um Variablen aus Subprozess in Python zu meinem Latex-Skript übergeben. Wenn ich bestimmte Wörter als Variablennamen benutze, läuft das Skript nicht und ich erhalte diesen 'Fehler' (ich sage 'Fehler', da es sich nicht wirklich um einen Fehler handelt, aber das Programm stoppt hier). def Fehler in 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. *

Aus irgendwelchen Gründen dies funktioniert:

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)

Aber dies nicht:

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)

gefragt, ob jemand über dieses Problem oder Latex gekommen ist, wird Akzeptieren Sie nur bestimmte Wörter als Variablennamen?

Antwort

1

Wenn jemand darauf stolpert habe ich die Lösung gefunden.

Bei der Definition def\nearmiss{variable} Python war das Lesen der Escape-Zeichen \n so alles, was ich tun musste, war def\\nearmiss{variable} und es funktionierte.

Hoffe, dass jemand hilft!