SmtC: Show me the Code
Ole Peter Smith
Instituto de Matemática e Estatística
Universidade Federal de Goiás
http://www.olesmith.com.br

Python
  • Run $\LaTeX$ Script*
Viver é algo que se faz agora ou nunca...
Qual você faz?
Piet Hein
< $\LaTeX$ | Run $\LaTeX$ Script | TikZ >
Add Preamble and Run $\LaTeX$ Script
Python Listing: tikz2pdf.py.
#!/usr/bin/python3

#"pasta1/pasta2/pasta3"

import sys,os,re

pdflatex="/usr/bin/pdflatex"
docclass="standalone"
preamble="PreAmble.tikz.tex"
tmp_tex="temp.tex" #address concurrency

if (len(sys.argv)<=1):
    print("Usage: "+sys.argv[0]+" file.tex")
    exit(1)
    
input_tex=sys.argv[1]


def File_Write(fname,lines):        
    f=open(fname,"w")

    size=0
    for line in lines:
        f.write("%s\n" % line)
        size+=len(line)

    print(str(size),"bytes written to",fname)
            
    f.close()

    return size

def System_Exec(commands):
    print ("Running command:"," ".join(commands)+":")

    command=" ".join(commands)
    
    try:
        output=os.system(command)
    except:
        output="Warning! Unable to execute system command: "+command

    return output


for input_tex in sys.argv:

    tmp_pdf=re.sub('\.tex$',".pdf",tmp_tex)
    tmp_log=re.sub('\.tex$',".log",tmp_tex)
    pdf=re.sub('\.tex$',".pdf",input_tex)

    latex=[
        "\\documentclass{"+docclass+"}\n",
        "\\input{"+preamble+"}\n",
        "\\begin{document}",
        "   \\input{"+sys.argv[1]+"}",
        "\\end{document}",
    ]


    File_Write(tmp_tex,latex)
    System_Exec([
        pdflatex,
        tmp_tex,
        ">",
        tmp_log,
    ])

    os.rename(tmp_pdf,pdf)

    print("Output pdf in "+pdf)
< $\LaTeX$ | Run $\LaTeX$ Script | TikZ >
Messages:
0 secs.