Ausgabedatei automatisiert umbenennen

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: Ausgabedatei automatisiert umbenennen

von Noch so einer » Di 28. Apr 2015, 07:40

Ich vergaß darauf hinzuweisen, dass das Beispiel wegen der \write18-Anweisung einen Aufruf mit Option -shell-escape benötigt.

von Noch so einer » Di 28. Apr 2015, 07:38

Aus der TeX-Datei heraus einen anderen Namen für das PDF (oder die log-Datei) zu wählen, funktioniert nicht. Was hingegen funktioniert, ist ein Aufruf der Art: pdflatex --jobname=DateiName2 test.tex

Unter Linux funktioniert außerdem:
\documentclass{scrartcl}

\usepackage[utf8]{inputenc}

\newcommand\Ausgabename[1]{% Diese Liste der Dateinamen soll noch wesentlich länger werden
 \ifcase#1  % 0
    DateiName0%
  \or % 1
    DateiName1%
  \or % 2
    DateiName2%
  \else % >2
    DateiName3%
 \fi}

\AtEndDocument{\write18{mv \jobname.pdf \Ausgabename{2}.pdf}}

\begin{document}
Test
\end{document}
Unter Linux geht das, weil die Datei durch das Umbenennen trotzdem offen bleibt. Unter Windows geht das so AFAIK nicht.

Was ebenfalls möglich wäre, ist die Umbenennung per arara oder ähnliche Verarbeitungsprogramme oder über ein Nachbearbeitungsscript im Editor, falls der so etwas unterstützt.

Ausgabedatei automatisiert umbenennen

von ToniFalk » Mo 27. Apr 2015, 20:00

Hallo.
Ich möchte im Quellcode bewirken, dass der ausgegebene Dateiname, also der Name des pdf-Dokuments, anders benannt wird, als das tex-Dokument!
In meinem konkreten Fall habe ich eine Liste mit verschiedenen Ausgabenamen in einer ifcase-Anweisung. Je nachdem, welchen Wert der Index erhält, soll das pdf-Dokument einen anderen Namen erhalten. Die Liste zu erstellen habe ich noch hinbekommen, allerdings bin ich weder hier im Forum, noch auf anderen Seiten fündig geworden, was den Befehl für die Dateinamensänderung betrifft.
Vielen Dank schon mal vorab für eure Hilfe.
\documentclass{scrartcl}

\usepackage[utf8]{inputenc}

\newcommand\Ausgabename[1]{% Diese Liste der Dateinamen soll noch wesentlich länger werden
 \ifcase#1  % 0
    DateiName0
  \or % 1
    DateiName1
  \or % 2
    DateiName2
  \else % >2
    DateiName3
 \fi}
\newcounter{index}
\setcounter{index}{2} % dieser Index soll frei wählbar sein

%   An dieser Stelle soll Quellcode eingefügt werden,
%   welcher bewirkt, dass das erzeugte pdf-Dokument den
%   Namen: \Ausgabename\theindex erhält.
%   In diesem Fall (index = 2) soll das ausgegebene pdf-Dokument
%   dann "DateiName2.pdf" heißen.


\begin{document}

\end{document}

Nach oben