I noticed that the "makeglossaries" perl script doesn't work properly, when
the \gls command is used in an \include'd file.
Running it at
% ----- minimal example -----
\begin{filecontents}{test2.tex}
\gls{CAE}
\end{filecontents}
\documentclass{article}
\usepackage{glossaries}
\newglossaryentry{CAE}{
name = {CAE},
description = {CAE},
}
\makeglossaries
\begin{document}
% \gls{CAE} % <-- works
% \input{test2} % <-- works
\include{test2} % <-- doesn't work
\end{document}
% ---------------------------
gives
% ----- command output -----
>makeglossaries test
defined(%hash) is deprecated at
C:\Programme\LaTeX\MIKTEX~1.7\scripts\glossaries
\makeglossaries line 225.
(Maybe you should just omit the defined()?)
No \@istfilename found in 'test.aux'.
Did your LaTeX run fail?
Did your LaTeX run produce any output?
Did you remember to use \makeglossaries?
% --------------------------
although in the "test.aux" is written
% ----- test.aux -----
\relax
\@input{test2.aux}
\@newglossary{main}{glg}{gls}{glo}
\@istfilename{test.ist}
\@glsorder{word}
% --------------------
and the "test.glo" is present with
% ----- test.glo ----- (1 line)
\glossaryentry{CAE?\glossaryentryfield{CAE}{\glsnamefont{CAE}}{CAE}{\relax }|setentrycounter{page}\glsnumberformat}{1}
% --------------------
Somebody an idea?
I am using an up-to-date MiKTeX.
(Perl is working for the other 2 cases so I think, that cannot be the
problem.)
Best regards,
Stefan Pinnow
I think that bug crept into the latest release. I haven't had time to
fix it yet, but you should be able to get around it by commenting out
line 358 in the makeglossaries Perl script. I will tried to get it fixed
soon.
Regards
Nicola Talbot
--
Home: http://theoval.cmp.uea.ac.uk/~nlct/
LaTeX Related Information: http://theoval.cmp.uea.ac.uk/~nlct/latex/
Creating a LaTeX Minimal Example:
http://theoval.cmp.uea.ac.uk/~nlct/latex/minexample/
--- news://freenews.netfront.net/ - complaints: ne...@netfront.net ---
The correct fix is to add
local(*AUXFILE);
to the scan_aux subroutine:
sub scan_aux{
my $name = shift;
local(*AUXFILE);
It will be correct in the next release.