
Frage
Wenn ich ein Dokument mit mehreren Inhaltsverzeichnissen habe, kann ich den Umfang eines Inhaltsverzeichnisses begrenzen, Abschnitte hinzufügen und das Inhaltsverzeichnis zurücksetzen?
Situation
Ich habe ein Dokument, das aus 10 Sprachen besteht (mithilfe von \input{en}, \input{de}, \input{da}
usw.). Es gibt 11 Inhaltsverzeichnisse:
- Sprachverzeichnis (bestehend aus jedem
\input
(wird wahrscheinlich nur eine benutzerdefinierte Tabelle mit Hooks für jedes sein\input
. Ich weiß noch nicht, wie ich das implementieren werde. - Lokales Inhaltsverzeichnis für jede spezifische Sprache (10 Sprachen)
Beispielcode
Beispiel für Main .tex
\documentclass{article}
\usepackage{fontspec}
\begin{document}
\maketableofcontents % language directory (list of inputs with language names)
\input{en}
\input{de}
\input{da}
\end{document}
Beispiel für en.tex
\maketableofcontents % local toc
\section{apple}
%\somecommand % TOC scope limit
Beispiel für de.tex
\maketableofcontents % local toc
\section{apfel}
%\somecommand % TOC scope limit
Beispiel für da.tex
\maketableofcontents % local toc
\section{æble}
%\somecommand % TOC scope limit
Antwort1
Hier ist eine Lösung mitetoc
.Beachten Sie die Einschränkungen der Standardumgebung „filecontents“
\begin{filecontents}{en.tex}
\localtableofcontents
\section{apple}
\end{filecontents}
\documentclass{article}
\usepackage{bookmark}
\usepackage{etoc}
% Use this version \newlang{<name>}{<file>}
% to use external files
\newcommand\newlangfile[2]{%
\newlang{#1}%
\input{#2}%
}
\newcommand\newlang[1]{%
\newpage\pdfbookmark{#1}{bkm#1}%
\renewcommand\contentsname{#1 Contents}%
\etoctoccontentsline{part}{#1}%
}
\begin{document}
\setcounter{tocdepth}{0}
\renewcommand\contentsname{Language directory}
\tableofcontents
\setcounter{tocdepth}{3}
%\newlang{english}
%\localtableofcontents
%\section{Apple}
% Or use
\newlangfile{english}{en.tex}
% if you prefer the second macro
\newlang{german}
\localtableofcontents
\section{Apfel}
\newlang{danish}
\localtableofcontents
\section{able}
\end{document}