PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wurde \jobname umdefiniert?



slkdjf
27-03-2014, 16:54
Vor nicht ganz 1 Jahr konnte ich noch mein Makro benutzen, das mithilfe von \jobname die Seitenzahl der momentanen \input-Datei rausgeschrieben hat.

Jetzt ist \jobname anscheinend immer die Hauptdatei. Soll das so sein, also war es früher ein Bug, oder ist es jetzt einer?

Wie bekomme ich den Namen der momentanen \input-Datei?

(Jeweils aktuelles TeXlive 2013)

cgnieder
27-03-2014, 18:43
Ohne Minimalbeispiel lässt sich die Frage nicht wirklich beantworten... dieses Beispiel gibt (und gab auch vor einem Jahr) »testtest« wenn die Hauptdatei »test.tex« heißt:


\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{extern.tex}
\jobname
\end{filecontents}
\begin{document}
\jobname
\input{extern.tex}
\end{document}

Grüße

slkdjf
27-03-2014, 18:55
sorry und danke

das Ergebis ist bei mir

jobtestjobtest

(Hauptdatei "jobtest.tex")

... äh ja, richtig, stimmt.

Frage mich, warum mein Makro funktionierte ...
Muss ich jetzt \input umdefinieren und darin den \jobname oder was anderes umdefinieren oder wie bekomme ich den "extern"?

cgnieder
27-03-2014, 18:56
sorry und danke

das Ergebis ist bei mir


(Hauptdatei "jobtest.tex")

Also genau wie es sein soll: zweimal der Name der Hauptdatei

Grüße

slkdjf
27-03-2014, 19:13
Muss ich jetzt \input umdefinieren und darin den \jobname oder was anderes umdefinieren oder wie bekomme ich den "extern"?
Ok geht wohl nicht anders und war auch gar nicht sooo schwer :p
danke

klops
28-03-2014, 09:04
Außer bei luatex war \jobname schon immer entweder der Name der Hauptdatei oder der Name der per Option -jobname beim Aufruf von (pdf)(la)tex übergeben wurde.

Bei luatex ist die Empfehlung -jobname immer anzugeben. Das Verhalten ist dort ein wenig von der Version abhängig.

Man sollte auch nicht einfach \jobname im Dokument ändern. Viele Befehle für Hilfsdateien hängen davon ab.

slkdjf
28-03-2014, 09:13
Ja, das Rätsel ist wirklich, warum es bisher funktioniert hat