PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Vollständiger Pfad bei \openout



msthab
04-10-2016, 13:39
Hallo,

ich möchte bei jedem LaTex Durchlauf eine Versionsnummer erhöhen und ausgeben. Untenstehendes Beispiel funktioniert dazu prima.
Aber: Ich möchte die Datei, in der die laufende Nummer gespeichert wird, in einem beliebigen Pfad speichern. Wenn ich das versuche kommt immer eine Fehlermelung, dass in das File nicht geschrieben werden kann

Hat jemand eine Lösung?

Vielen Dank!
Manfred


\documentclass[a4paper,10pt]{article}

\begin{document}

\newcounter{compilationNumber}
\newwrite\writecompilationNumber
\newread\readcompilationNumber
\openin\readcompilationNumber=CompilationVersion.v rs
% Hier soll ein vollständiger Pfad stehen, z.B. D:\Temp\test\CompilationVersion.vrs

\ifeof\readcompilationNumber
% Bisher kein File vorhanden
\setcounter{compilationNumber}{1}%
\else
\read\readcompilationNumber to \temp
\setcounter{compilationNumber}{\temp}%
\stepcounter{compilationNumber}%
\fi
\closein\readcompilationNumber
\immediate\openout\writecompilationNumber=Compilat ionVersion.vrs
% Hier soll ein vollständiger Pfad stehen, z.B. D:\Temp\test\CompilationVersion.vrs

\immediate\write\writecompilationNumber{\arabic{co mpilationNumber}}
\immediate\closeout\writecompilationNumber


Das ist \LaTeX{} Durchlauf Nummer \thecompilationNumber.


\end{document}

klops
04-10-2016, 14:51
Aus Sicherheitsgründen schreiben moderne TeX nur in das aktuelle Arbeits-Verzeichnis und dessen Unterverzeichnisse bzw. in TEXMFOUTPUT, wenn ein angegebenes Verzeichnis nicht beschreibbar ist. Bei TeX Live ist das Verhalten via openout_any in texmf.cnf konfigurierbar. Siehe dazu `texdoc kpathsea` bzw. kpathsea.pdf.

msthab
05-10-2016, 07:28
Vielen Dank für die schnelle Antwort.
Dann muss ich meine Frage anders formulieren, da ich meistens Lyx benutze. Dazu erstelle ich dann aber ein neues Thema da es hierzu nicht mehr passt.