svg2*tex.py: use subprocess in order to handle path with spaces.

See #10679
This commit is contained in:
Juergen Spitzmueller 2017-09-10 17:02:58 +02:00
parent 36b092cadd
commit 90df39d491
2 changed files with 7 additions and 6 deletions

View File

@ -27,13 +27,13 @@
# the real PDF file would be overwritten by a TeX file named outputfile.pdf.
#
import os, sys, re
import os, sys, re, subprocess
def runCommand(cmd):
''' Utility function:
run a command, quit if fails
'''
if os.system(cmd) != 0:
if subprocess.call(cmd) != 0:
print "Command '%s' fails." % cmd
sys.exit(1)
@ -65,7 +65,7 @@ OutBase = os.path.splitext(OutputFile)[0]
# while outsourcing the text to a LaTeX file ${OutBase}.pdf_tex which includes and overlays
# the PDF image and can be \input to LaTeX files. We rename the latter file to ${OutputFile}
# (although this is probably the name it already has).
runCommand('%s --file=%s --export-pdf=%s.pdf --export-latex' % (InkscapeCmd, InputFile, OutBase))
runCommand([InkscapeCmd, '--file=%s' % (InputFile), '--export-pdf=%s.pdf' % (OutBase), '--export-latex'])
os.rename('%s.pdf_tex' % OutBase, OutputFile)

View File

@ -30,13 +30,13 @@
# This script converts an SVG image to something that latex can process
# into high quality PostScript.
import os, sys
import os, sys, re, subprocess
def runCommand(cmd):
''' Utility function:
run a command, quit if fails
'''
if os.system(cmd) != 0:
if subprocess.call(cmd) != 0:
print "Command '%s' fails." % cmd
sys.exit(1)
@ -68,6 +68,7 @@ OutBase = os.path.splitext(OutputFile)[0]
# while outsourcing the text to a LaTeX file ${OutBase}.eps_tex which includes and overlays
# the EPS image and can be \input to LaTeX files. We rename the latter file to ${OutputFile}
# (although this is probably the name it already has).
runCommand('%s --file=%s --export-eps=%s.eps --export-latex' % (InkscapeCmd, InputFile, OutBase))
runCommand([InkscapeCmd, '--file=%s' % (InputFile), '--export-eps=%s.eps' % (OutBase), '--export-latex'])
os.rename('%s.eps_tex' % OutBase, OutputFile)