
Ich stehe vor einem Problem, bei dem ich Etiketten „zuverlässig“ machen muss.
Ich arbeite an einem Mechanismus, um einen Teil der Tex-Datei zweimal mit zwei unterschiedlichen Parametern zu durchlaufen, um unterschiedliche Teile des Textes auszugeben. Dies geschieht durch die Verwendung von \input mit einer zuvor gesetzten Variable. Im fertigen PDF sollen beide Anordnungen nacheinander ausgedruckt werden.
Der Mechanismus funktioniert folgendermaßen:
...
\DefCurrentLanguage{DE}
\input{content.tex}
\DefCurrentLanguage{EN}
\input{content.tex}
...
Das bereitet mir einige Probleme, wenn ich Labels verwende. Hier eine vereinfachte Version (ohne \input, aber mit klarem Text)
\documentclass{scrbook}
\usepackage{etoc}
\usepackage{hyperref}
\counterwithout{section}{chapter}
\begin{document}
% Usually this is input my \input{myfile.txt} with the first option
\chapter{GERMAN}
\etocsettocstyle{\section*{Inhalt}}{}
\etocsettocdepth.toc{subsection}
\localtableofcontents
\setcounter{section}{0}
\section{Eins}
Referenz auf zwei: \ref{mylabel}
\subsection{Ein.Eins}
\section{Zwei}\label{mylabel}
% Usually this is input my \input{myfile.txt} with the second option
\chapter{ENGLISH}
\etocsettocstyle{\section*{Content}}{}
\etocsettocdepth.toc{subsection}
\localtableofcontents
\setcounter{section}{0}
\section{One}
Refenence to two: \ref{mylabel}
\subsection{One.One}
\section{Two}\label{mylabel}
\end{document}
Ich brauche etwas, um das Label „mylabel“ im ersten Fall in „DE.mylabel“ und im zweiten Fall in „EN.mylabel“ umzubenennen.
Ich schätze, ich muss irgendwie einen eigenen \label- und \ref-Befehl erstellen? Irgendwelche Tipps? Wenn man das so verwendet, wie es ist, erhält man natürlich mehrere definierte Labels
Georg
Antwort1
Danke an @Teepeemm:
\documentclass{scrbook}
\usepackage{etoc}
\usepackage{hyperref}
\counterwithout{section}{chapter}
\begin{document}
% Usually this is input my \input{myfile.txt} with the first option
\def\lang {DE}
\chapter{GERMAN}
\etocsettocstyle{\section*{Inhalt}}{}
\etocsettocdepth.toc{subsection}
\localtableofcontents
\setcounter{section}{0}
\section{Eins}
Referenz auf zwei: \ref{\lang mylabel}
\subsection{Ein.Eins}
\section{Zwei}\label{\lang mylabel}
% Usually this is input my \input{myfile.txt} with the second option
\def\lang {EN}
\chapter{ENGLISH}
\etocsettocstyle{\section*{Content}}{}
\etocsettocdepth.toc{subsection}
\localtableofcontents
\setcounter{section}{0}
\section{One}
Refenence to two: \ref{\lang mylabel}
\subsection{One.One}
\section{Two}\label{\lang mylabel}
\end{document}