I have a really weird problem: When changing the babel
language in combination with the use of babelbib
, certain substitutions stop working altogether. It took me hours to track down this cause. Consider the following minimal example:
\documentclass{article}
\usepackage[american]{babel}
\makeatletter
\title{Test}
\begin{document}
\section*{{\@title}}
This is the {\@title} document.
\end{document}
This yields a nice document:
If I add the babelbib
package like this
\documentclass{article}
\usepackage[american]{babel}
\usepackage{babelbib}
\makeatletter
\title{Test}
\begin{document}
\section*{{\@title}}
This is the {\@title} document.
\end{document}
the substitution of \@title
stops working:
Funny enough, this problem does not appear when the babel
language is set to German:
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{babelbib}
\makeatletter
\title{Test}
\begin{document}
\section*{{\@title}}
This is the {\@title} document.
\end{document}
This yields a perfectly fine document:
Similarly, using ngerman
for babel
, but removing babelbib
, does not exhibit this problem:
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{babelbib}
\makeatletter
\title{Test}
\begin{document}
\section*{{\@title}}
This is the {\@title} document.
\end{document}
My question now is: What is happening here and how can I fix it? I have German documents which use babel
and babelbib
that I need to translate to English. When changing the babel
language and replacing some text, the substitutions stop working as shown in the example below. Is there a way to use babelbib
with English as babel
language without this problem?
Leaving the babel
language at German is not an option since I need the language-specific terms of reference lists, table of contents etc. I am using the latest MiKTeX (32-bit) on Windows 7 and just updated all packages, in case it matters.
\@title
.title
like this? If so, what is the proper way to access it?