Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Mehrere pdfs aus einer Tex-Datei ausgeben

  1. #1
    Registrierter Benutzer
    Registriert seit
    05.02.2018
    Beiträge
    3

    Mehrere pdfs aus einer Tex-Datei ausgeben

    Hallo zusammen,

    ich nutzte Latex um Berichte zu verfassen. In der Regel benötige ich eine Kurz- und eine Langfassung des Berichts. Ich nutze in meinen Berichtdateien eine Fallunterscheidung, um Teile aus der langen Berichtversion herauszunehmen

    Code:
    \newcommand{\Lang{1}
    
    Im Kurzen Teil steht keine Werbung
    \ifnum\Lang=1
    	Hier könnte Ihre Werbung stehen
    \fi

    Bisher habe ich zwei Latexdateien BerichtKurz.tex und BerichtLang.tex, die die gleichen Inputdateien nutzen, der einzige Unterschied ist, dass bei der Kurzen Version die Variable \Lang=0 gesetzt wird und bei der langen Version die Variable \Lang=1 gesetzt wird.

    Um meine beiden Berichte zu bekommen muss ich BerichtKurz.tex und BerichtLang.tex durchlaufen lassen und bekommen BerichtKurz.pdf und BerichtLang.pdf. Wenn ich dann nochmal etwas ändere, muss ich jeweils die nicht aktive Datei nochmals laden und durchlaufen lassen.


    Gibt es eine Möglichkeit, beide Dateien gleichzeitig auszugeben? Und kann man den Namen der Ausgabedateien mit einen Variable verknüpfen?

    Ich nutze TeXstudio und Texlive.


    Vielen Dank für eure Hilfe

    Stubbe

  2. #2
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.027
    https://tex.stackexchange.com/questi...iles/5265#5265

    Abgesehen davon, kannst du dir natürlich einfach ein Skript schreiben, das beide Dateien kompiliert, oder ein passendes Profil in texstudio.

  3. #3
    Registrierter Benutzer
    Registriert seit
    05.02.2018
    Beiträge
    3
    Hallo Ulrike,

    vielen Dank für deine Antwort, so ähnlich wie in deinem Link beschrieben funktioniert auch mein Script, dabei bekomme ich jedoch immer nur die jeweilig ausgewählte Datei ausgegeben.

    Kann ich mit einem "passenden Profil" im TeXstudio mehrere Dateien ausgeben, hast du einen Link o.ä parat wie man das macht oder welche Einstellungen man da vornehmen muss?

    Mit einem zusätzlichem Programm welches jeweils meine Masterdateien abarbeitet möchte ich eher nicht arbeiten (es sind nur 2), das wäre ähnlich aufwendig wie das Laden und ausführen der zweiten Masterdatei.

    Viele Grüße

    Stubbe

  4. #4
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.714
    Du könntest -- unabhängig vom verwendeten Editor -- so etwas (im allgemeinen Teil) versuchen:
    Code:
    \ifnum\Lang=1
      \immediate\write18{pdflatex BerichtKurz.tex}% Langfassung wird gerade kompiliert, also Kurzfassung auch kompilieren
    \else
      \immediate\write18{pdflatex BerichtLang.tex}% wie oben, nur anders herum...
    \fi
    VG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  5. #5
    Registrierter Benutzer
    Registriert seit
    05.02.2018
    Beiträge
    3
    Hallo Zusammen,

    ich danke euch für eure tollen Beiträge, das Problem ist gelöst! Hier noch ein kleines Beispiel, damit es einfacher ist, alles nachzuvollziehen:
    Es werden drei Dateien im selben Ordner abgelegt, geöffnet wird nur die Datei "Lang.tex"

    Datei Lang.tex
    Code:
    \documentclass[					% Festlegung der Dokumentklasse
    paper=a4               % Papierformat
    ]
    {scrartcl} 
    \usepackage{blindtext} 
    
    \begin{document}
    	\newcommand{\Lang}{1}
    	\input{Text.tex}
    	\immediate\write18{pdflatex Kurz.tex}
    \end{document}
    Datei Kurz.tex
    Code:
    \documentclass[					% Festlegung der Dokumentklasse
    paper=a4               % Papierformat
    ]
    {scrartcl} 
    \usepackage{blindtext} 
    
    \begin{document}
    	\newcommand{\Lang}{0}
    	\input{Text.tex}
    \end{document}
    Datei Text.tex
    Code:
    \ifnum\Lang=1
    	Hier steht viel unnützes Zeug.
    	
    	Und werden alle Dateien aus der Langversion implementiert.
    	
    	\blindtext
    	
    	\blindtext
    \else
    	Hier steht nicht soviel.
    	
    	Und werden alle Dateien für die Kurzversion eingefügt.
    	
    	\blindtext
    	
    	Aber es könnte!!
    	
    \fi
    Wenn ihr das Programm Lang.tex durchlaufen lasst, werden euch zwei pdfs ausgegeben: "Lang.pdf" und "Kurz.pdf"

    Um den Code lauffähig zu machen muss im TeXstudio noch konfiguriert werden: Optionen -> TeXstudio konfigurieren ... -> Befehle -> PdfLaTeX: pdflatex.exe --shell-escape -synctex=1 -interaction=nonstopmode %.tex


    Viel Spaß beim Testen


    Stubbe

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •