tex zu PDF

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Freumel
User
Beiträge: 69
Registriert: Donnerstag 25. Januar 2018, 13:47

Halli hallo hallöchen,

folgendes Szenario: Ich habe eine fertige LaTeX Datei (natürlich als .tex File), ein Django Projekt und einen Ubuntu Server.

Die LaTeX Datei soll nun automatisch angepasst werden und PDF gespeichert werden.
Unabhängig davon, wie ich es auf dem Server am besten löse, habe ich mir für meinen Windows PC mal https://pypi.org/project/pdflatex/ angeguckt und bekomme folgende Fehlermeldung:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\freumel\AppData\Roaming\Python\Python37\site-packages\pdflatex\pdflatex.py", line 77, in create_pdf
with open(os.path.join(td, 'file.pdf'), 'rb') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\freumel\\AppData\\Local\\Temp\\tmpsgmaxb9b\\file.pdf'
Als Codesnipped habe ich das angegebene Beispiel in allen Variationen verwendet:

Code: Alles auswählen

from pdflatex import PDFLaTeX

pdfl = PDFLaTeX.from_texfile('main.tex')
pdf, log, completed_process = pdfl.create_pdf(keep_pdf_file=True, keep_log_file=True)
Wie kann man das am besten lösen?
Es muss nicht pdflatex sein. Ich habe eine fertige LaTeX Datei und LaTeX natürlich auf dem PC mit den nötigen Paketen (u.a. xcolor und tabularx) installiert.
Nicht zu vergessen, dass ich die Entwicklungsumgebung von Windows auf Ubuntu ohne GUI ändern muss. Von daher wäre ein "einfaches" pip Paket die schönste Lösung.
Natürlich kenne ich auch Overleaf. Allerdings habe ich es nicht raus, wie ich dort Dokumente via API bearbeiten und anschließend als PDF an meinen Server schicken lassen kann.

Eventuell hat jemand eine Lösung für mich :-)

Vielen Dank und einen guten Start in den Tag
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Freumel: Da wurde dann offensichtlich keine PDF-Datei erzeugt. In dem Verzeichnis sollte eine *.log-Datei von LaTeX liegen — steht da ein Grund drin?
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Freumel
User
Beiträge: 69
Registriert: Donnerstag 25. Januar 2018, 13:47

__blackjack__ hat geschrieben: Dienstag 12. November 2019, 11:06 @Freumel: Da wurde dann offensichtlich keine PDF-Datei erzeugt. In dem Verzeichnis sollte eine *.log-Datei von LaTeX liegen — steht da ein Grund drin?
Es wird keine .log-Datei erzeugt.
Ich habe mal im Appdata Verzeichnis geguckt - auch dort nicht.

Ich habe eine lastMiKTeXException Datei gefunden. Der Uhrzeit nach zu urteilen ist das der letzte Versuch gewesen:
[general]
programInvocationName=pdflatex
errorMessage=The command line options could not be processed.
description=
remedy=
tag=
[sourceLocation]
functionName=ProcessCommandLineOptions
fileName=Libraries\MiKTeX\TeXAndFriends\webapp.cpp
lineNo=343
tag=we343
[info]
optionError=unknown option
Anbei, eventuell noch wie ich das Skript ausführe:
Ich habe die tex File in einem Ordner, in den Navigiere ich mich über die Konsole und führe dort das Pythonskript aus.
Ich habe auf diese Weise diverse csv Tabellen ausgefüllt und geplottet. Hat immer funktioniert. Mit LaTeX scheint das schwieriger zu sein.
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Freumel: Funktioniert das Erstellen einer PDF-Datei denn ohne Python, also wenn Du selbst ``pdflatex`` aufrufst? Was gibt `pdfl.get_run_args()` aus? Was passiert wenn Du ``pdflatex`` manuell mit diesen Argumenten aufrufst?
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Freumel
User
Beiträge: 69
Registriert: Donnerstag 25. Januar 2018, 13:47

__blackjack__ hat geschrieben: Dienstag 12. November 2019, 11:47 @Freumel: Funktioniert das Erstellen einer PDF-Datei denn ohne Python, also wenn Du selbst ``pdflatex`` aufrufst? Was gibt `pdfl.get_run_args()` aus? Was passiert wenn Du ``pdflatex`` manuell mit diesen Argumenten aufrufst?
pdflatex.exe -synctex=1 -interaction=nonstopmode -shell-escape main.tex

Dieser Befehl funktioniert im gleichen Verzeichnis einwandfrei
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

Dann würde ich den Befehl mit subprocess ausführen.
Antworten