二级目录中的编号部分

二级目录中的编号部分

我有一个主文档,其中包含一个次要文档目录。我使用上半部分中给出的示例这个答案

我的辅助目录不使用章节编号。我猜想这是因为我还没有定义必要的位toca,但我不确定这些位是什么。

如何为我的二级目录启用章节编号?

这是一个最小的、可工作的例子:

\documentclass{report}
\usepackage{tocloft}
\makeatletter
\newcommand\tableofcontentsA{%
    \@starttoc{toca}%
}
\makeatother

\begin{document}
\tableofcontents

\section{Main introduction}
\section{Example Document-2 Table of Contents}
% These are all defined in the same page, so disable page numbering    \cftpagenumbersoff{chapter}
\cftpagenumbersoff{section}
\cftpagenumbersoff{subsection}

\addcontentsline{toca}{chapter}{Introduction}
    \addcontentsline{toca}{section}{foo}
    \addcontentsline{toca}{section}{bar}
\addcontentsline{toca}{chapter}{baz}
    \addcontentsline{toca}{section}{barbar}

\tableofcontentsA
\section{Main Conclusion}

\end{document}

以下是它产生的结果:

示例文档

我想要更多类似的东西:

1 - Main intro
2 - Example ToC
    1 - Intro
    1.1 - foo
    1.2 - bar
    2 - Baz
    2.1 - barbar
3 - Main Conclusion

答案1

以下是我的做法:

\documentclass{report}
\usepackage{tocloft}

\makeatletter
\newcommand\tableofcontentsA{%
\indent
    \@starttoc{toca}%
}
\makeatother

\newcounter{tocachap}
\setcounter{tocachap}{0}

\newcounter{tocasect}[tocachap]
\setcounter{tocasect}{0}
\renewcommand{\thetocasect}{\thetocachap.\arabic{tocasect}}

\newcommand{\addchap}[1]{\refstepcounter{tocachap}
\cftaddtitleline{toca}{tocachap}{\indent\textbf{\thetocachap \hspace{1em}#1 \\[0.2em]}}{}
\par}

\newcommand{\addsect}[1]{\refstepcounter{tocasect}
\cftaddtitleline{toca}{tocasect}{\indent\thetocasect \hspace{0.5em}#1 \\[0.2em]}{}
\par}

\renewcommand{\thesection}{\arabic{section}}

\begin{document}
\tableofcontents

\section{Main introduction}
\section{Example Document-2 Table of Contents}

\addchap{Introduction}
\addsect{foo}
\addsect{bar}
\addchap{baz}
\addsect{barbar}

\tableofcontentsA
\section{Main Conclusion}

\end{document}

它产生以下输出:

输出

注 1可以为子部分创建一个命令。

笔记2由于章节计数器的重新定义,您不应在文档中使用任何章节,因为它可能会创建令人困惑的主目录。

相关内容