mit Python und Latex ein PDF erstellen

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: mit Python und Latex ein PDF erstellen

von Gast » Mo 3. Sep 2018, 14:16

Bisher erzeugt dein Script AFAIK kein gültiges TeX-File. Außerdem musst du pdflatex den Namen der TeX-Datei als Parameter übergeben. Den Namen der PDF-Datei braucht es hingegen nicht.

Die Editoren die du normalerweise für deine LaTeX-Dateien verwendest, also TeXmaker oder Texwork, haben mit dem Problem hingegen nichts zu tun. Die sind ja bei der Erstellung der PDF-Datei gar nicht beteiligt.

Nützlich bei Problemen auf der LaTeX-Seite ist übrigens hier weniger das Python-Script als die davon erzeugte TeX-Datei und die von pdflatex erzeugte log-Datei. Außerdem aus dem Python-Script ggf. noch der gewählte Aufruf.

BTW: Im ersten Schritt würde ich empfehlen, auf -output-directory zu verzichten und den Aufruf von pdflatex möglichst einfach zu halten. Wenn das so weit funktioniert, ist es früh genug, um mit weiteren Optionen für pdflatex zu spielen.

BTW: Mit Mathematik hat die Frage irgendwie rein gar nichts zu tun. Mit LaTeX auch nur sehr am Rande.

mit Python und Latex ein PDF erstellen

von Georg » Mo 3. Sep 2018, 13:56

Hallo,

ich beschäftige mich seit kurzem mit einem kleinen Python und Latex Problem. Ich würde gerne mit Python und der Hilfe von Latex eine PDF Datei erzeugen. In Python hat das erstellen der Latexdatei schon funktioniert und ich konnte auch mit Hilfe von Texmaker und Texworks die PDF Datei erstellen. Leider erstellt mir aber das Pythonprogramm nur die Latexdatei und nicht die PDF Datei.
Muss ich in den Programmen Texmaker und Texwork irgendetwas bestimmtes einstellen?

Ich möchte mich schon jetzt für eure Hilfe bedanken.

lg
Georg
import re
import os
import shutil

project = "./"
in_file = "{}example.txt".format(project)
build_d = "{}.build/".format(project)
out_file = "{}template".format(build_d)
template = "test"


current_object = None
current_content = ""
latex_formated_variables = ""

with open(in_file) as f:
    content = f.read()
    keys = re.findall(r"%(.+):", content)
    values = re. findall(r":\s*([\w\W]+?)\s*(?:%|$)", content)

options = zip(keys, values)

tex_code = ""
for key, value in options:
    tex_code = tex_code + "\\newcommand{{\\{}}}{{{}}}\n".format(key, value)
tex_code = tex_code + """

\\documentclass{{{}}} % din a4, 11 pt, one-sided,

\\begin{{document}}

\\end{{document}}
""".format(template)

if not os.path.exists(build_d):  # create the build directory if not exisiting
    os.makedirs(build_d)

with open(out_file+".tex", "w") as f:  # saves tex_code to outpout file
    f.write(tex_code)

os.system("pdflatex -output-directory {} {}".format(os.path.realpath(build_d), os.path.realpath(out_file)))

#shutil.copy2(out_file+".pdf", os.path.dirname(os.path.realpath(in_file)))

Nach oben