Вопрос

Вопрос

Вопрос

Если у меня есть документ с несколькими оглавлениями, могу ли я ограничить область оглавления, добавить разделы и сбросить оглавление?

Ситуация

У меня есть документ, составленный на 10 языках (используя \input{en}, \input{de}, \input{da}и т. д.). Имеется 11 оглавлений:

  • Языковой каталог (состоящий из каждого \input(вероятно, должен будет просто представлять собой пользовательскую таблицу, содержащую хуки для каждого \input. Я пока не знаю, как это реализовать.
  • Локальное оглавление для каждого конкретного языка (10 языков)

Пример кода

Пример основного .tex

\documentclass{article}
\usepackage{fontspec}
\begin{document}
\maketableofcontents % language directory (list of inputs with language names)
\input{en}
\input{de}
\input{da}
\end{document}

Пример en.tex

\maketableofcontents % local toc
\section{apple}
%\somecommand % TOC scope limit

Пример de.tex

\maketableofcontents % local toc
\section{apfel}
%\somecommand % TOC scope limit

Пример da.tex

\maketableofcontents % local toc
\section{æble}
%\somecommand % TOC scope limit

решение1

Вот решение с использованием etoc.Обратите внимание на ограничения среды 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}

Связанный контент