# [OS X TeX] jobname

Alain Schremmer Schremmer.Alain at gmail.com
Wed Jan 24 18:28:44 CET 2007

Maarten Sneep wrote:

> On Jan 24, 2007, at 16:08, Alain Schremmer wrote:
>
>> Given a file ROOT that \include{FILE}, \jobname in FILE returns  ROOT
>> which makes sense but is there a way to get FILE instead of ROOT?
>
>
> FAQ: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=filename

Thanks: I had looked but of course didn't find this.

However, I cannot make it work. The code given there,

\def\ThisFile{\jobname}
\newcounter{FileStack}
\let\OrigInput\input
\renewcommand{\input}[1]{%
\stackinput{#1}{\OrigInput}%
}
\newcommand{\stackinput}[2]{%
\stepcounter{FileStack}%
\expandafter\let
\csname NameStack\theFileStack\endcsname
\ThisFile
\def\ThisFile{#1}%
#2{#1}%
\expandafter\let\expandafter
\ThisFile
\csname NameStack\theFileStack\endcsname
}

gives me "This makes 100 errors; please try again"

With the lines

\renewcommand{\input}[1]{%
\stackinput{#1}{\OrigInput}%
}

commented out I don't get any error so this would seem to be where the
problem is.

I tried with these lines at the end, that is after the definition of
\stackinput, but it makes no difference.

I looked at the reference, patching techniques, but this is way beyond
the little bit I have learned so I am crying for help.

Hopeful regards
--schremmer