Seite 1 von 1

Gleichzeitiges Kompilieren mehrerer Dokumentenklassen?

Verfasst: Mo 23. Jan 2012, 13:36
von Janz Wichdig
Hallo,

ich arbeite mich gerade in die beamer-Klasse ein und bin dabei auf die handout und notes-Funktionen gestoßen. Um eine der 3 PDF-Dateien zu erhalten (Votrag, Notizen oder Handout), muss man ja immer die entsprechende Option in der Dokumentenklasse angeben. Also:
\documentclass{beamer}%Erzeugt die pdf-Datei
oder
\documentclass[notesonly]{beamer}%Erzeugt eine pdf nur mit den Notizen
oder
\documentclass[handout]{beamer}%Erzeugt das Handout
Damit wird immer die vorherige PDF überschrieben!? Gibt es eine Möglichkeit, mit einem Durchgang alle drei PDF-Dateien gleichzeitig mit unterschiedlichen Namen zu kompilieren und zu speichern? So das ich anschließend drei seperate Dateien habe -> z.B. Vortag.pdf, Notizen.pdf und Handout.pdf


Vielen Dank...

Verfasst: Mo 23. Jan 2012, 15:02
von nfa019
Ich arbeite mit mehreren "main"-Dateien, in der nur diese unterschiedlichen Zeilen stehen und sonst der Rest mit \input eingebunden wird.

Wenn du dir jetzt noch ein kleines Shell-Skript schreibst, was jeweils Latex-Läufe für die unterschiedlichen main-Dateien aufruft, bist du fertig.

Frauke

Verfasst: Mo 23. Jan 2012, 15:24
von Janz Wichdig
Im Moment mache ich das so, dass ich immer die beiden nicht benutzten Zeilen mit % deaktiviere, dann kompiliere und die PDF von Hand umbenenne. Das geht auch, ist aber mühsam.

Ich denke mal, das entspricht vom Ergebnis her in etwa deiner Vorgehensweise. Nur das du halt drei fast identische Masterdateien hast.

Das wäre ja schon die halbe Lösung. Man müsste nur halt eine TOP-Masterdatei haben, die dann die drei Unter-Masterdateien aufruft? Kann man das irgend wie über
\include
o.ä. bewerkstelligen???

Verfasst: Mo 23. Jan 2012, 20:31
von abc
Könnte man das nicht mit einer batch-Datei (*.bat) lösen? Du brauchst dazu drei "main"-Dateien (bspw. "main1.tex", "main2.tex" und "main3.tex") - eine pro "documentclass". Dann schreibst du in obig erwähnte batch-Datei:
"C:/Programme/.../pdflatex.exe" main1.tex
"C:/Programme/.../pdflatex.exe" main2.tex
"C:/Programme/.../pdflatex.exe" main3.tex
Dabei musst du "..." natürlich durch den Pfad zur "pdflatex.exe" ersetzen. Wenn du jetzt die batch-Datei ausführst, dann sollten alle drei Versionen "in einem Rutsch" erstellt werden.

Verfasst: Mo 23. Jan 2012, 21:22
von nfa019
das ist ja genau mein Vorschlag, nur dass die Batch-Datei unter Linux Shell-Skript heißt :)

Frauke

Verfasst: Di 24. Jan 2012, 09:20
von Janz Wichdig
Okay...erstmal Danke!

Aber da bin ich nun mit meinem Wissen an eine Grenze gestoßen. Zunächst sei gesagt, dass ich unter Windows mit Miktex und dem Texmaker arbeite. Das heißt, ich habe von Kommandozeileneingaben null Ahnung. Ich hatte eigentlich auf etwas gehofft, das in etwa so aussieht:
\save[Vortrag.pdf]{\documentclass{beamer}}
\save[Handout.pdf]{\documentclass[handout]{beamer}}
\save[Note.pdf]{\documentclass[notesonly]{beamer}}
Ich habe mir mal andere Batch-Dateien angesehen und KEIN Wort von dem Verstanden, was dort drinn steht. Wenn es aber wirklich keine andere Möglichkeit dafür gibt, muss ich entweder in den sauren Apfel beißen und mich damit auseinander setzen oder doch lieber 3mal von Hand kompilieren und die PDF-Dateien umbenennen :?

Grundlegend ist es ja so, dass dies ja nicht auf die Beamer-Klasse beschrenkt ist. Es könnte ja auch sein, dass man z.B. einen article oder ein book in verschiedenen Schriftarten oder -größen, bzw. mit unterschiedlichen Seiteneinstellungen o.ä. kompilieren will. Soll heißen, ich bin doch nicht etwa der Erste, der diesen Wunsch an Vereinfachung hat...oder doch? :shock:

Gibt es denn überhaupt die Möglichkeit, in der Präambel festzulegen wo und unter welchem Namen die erzeugte PDF gespeichert werden soll? Das wäre ja dann schonmal ein Anfang...


Grüße
Janz Wichdig

Verfasst: Di 24. Jan 2012, 14:07
von Gast
Du brauchst 5 Dateien:
main.tex: Hier steht alles außer
\documentclass...
drin.
Vortrag.tex: Hier steht
\documentclass{beamer}
\input{main.tex}
drin.
Handout.tex: Hier steht
\documentclass[handout]{beamer}
\input{main.tex}
drin.
Note.tex: Hier steht
\documentclass[notesonly]{beamer}
\input{main.tex}
drin.
MachMeinePDFs.bat: Hier steht
pdflatex Vortrag
pdflatex Handout
pdflatex Note
drin.

Du änderst die Datei main.tex Wenn Du mit Deinen Änderungen fertig bist, machst Du einen Doppelklick auf MachMeinePDFs.bat.

Verfasst: Di 24. Jan 2012, 14:56
von Janz Wichdig
:idea: Das geht ja einfach! Vielen Dank... :D