添加附加目录

添加附加目录

我必须写一篇关于另一篇文章的文章。因此,我必须附加一个额外的目录,它实际上并不显示我的文档的结构,而是列出我的文档中未包含的部分。

需要澄清的是:应该有一个正常的目录列出我的部分,另外还有一个目录放在我自己的文档中的任何位置 - 不一定在附录等。

为了使事情变得更加困难,“第二个”目录不应包含页码。

\documentclass[]{scrartcl}

\begin{document}
\tableofcontents

\section{Introduction}
    Lorem ipsum...

\section{Some text}
    blah blah

\section{Structure}
%Additional TOC defined here

\end{document}

它看起来应该是这样的:

Table of Contents
1  Introduction..................................1
2  Some text.....................................2
3  Structure.....................................4


1 Introduction
Lorem ipsum...

2 Some text
blah blah

3 Structure
  1  First Chapter
  2  Second Chapter
      2.1  A Subsection
      2.2  Another Subsection
  3  Last Chapter

感谢您分享您的想法。

答案1

section如果附加的“目录”应该对和条目使用相同的设置subsection

\documentclass[toc=sectionentrywithdots]{scrartcl}[2018/12/30]% needs version 3.26a
\DeclareNewTOC{str}
\BeforeStartingTOC[str]{%
  \DeclareTOCStyleEntries[
    linefill=\hfill,% no dots
    pagenumberformat=\gobble% no page number
  ]{tocline}{section,subsection}%
}
\newcommand\gobble[1]{}

\newcounter{strsection}
\newcounter{strsubsection}
\counterwithin{strsubsection}{strsection}

\newcommand\addstr[2]{%
  \stepcounter{str#1}%
  \addxcontentsline{str}{#1}[\csname thestr#1\endcsname]{#2}%
}
\begin{document}
\tableofcontents

\section{Introduction}
    Lorem ipsum...

\section{Some text}
    blah blah

\section{Structure}
\listoftoc*{str}
\addstr{section}{First Chapter}
\addstr{section}{Second Chapter}
\addstr{subsection}{A Subsection}
\addstr{subsection}{Another Subsection}
\addstr{section}{Last Chapter}

\end{document}

在此处输入图片描述


因为下面的评论:Overleaf 似乎使用了较旧的 TeX-Distribution,因此\counterwithin需要包chnngcntr。那里的 KOMA-Script 版本也已过时:新项目使用 KOMA-Script 版本 3.23,CTAN 上的当前版本是 3.26b。所以你不能使用\DeclareTOCStyleEntries。你必须用两个\DeclareTOCStyleEntry命令替换它。

\documentclass[toc=sectionentrywithdots]{scrartcl}[2017/04/13]% tested for version 3.23
\usepackage{chngcntr}% <- needed for older TeX Distributions

\DeclareNewTOC{str}
\BeforeStartingTOC[str]{%
  \DeclareTOCStyleEntry[
    linefill=\hfill,% no dots
    pagenumberformat=\gobble% no page number
  ]{tocline}{section}%
  \DeclareTOCStyleEntry[
    linefill=\hfill,% no dots
    pagenumberformat=\gobble% no page number
  ]{tocline}{subsection}%
}
\newcommand\gobble[1]{}

\newcounter{strsection}
\newcounter{strsubsection}
\counterwithin{strsubsection}{strsection}

\newcommand\addstr[2]{%
  \stepcounter{str#1}%
  \addxcontentsline{str}{#1}[\csname thestr#1\endcsname]{#2}%
}
\begin{document}
\tableofcontents

\section{Introduction}
    Lorem ipsum...

\section{Some text}
    blah blah

\section{Structure}
\listoftoc*{str}
\addstr{section}{First Chapter}
\addstr{section}{Second Chapter}
\addstr{subsection}{A Subsection}
\addstr{subsection}{Another Subsection}
\addstr{section}{Last Chapter}

\end{document}

结果和上面一样。

答案2

我只会使用列表。

\documentclass{article}

\usepackage{enumitem}

\begin{document}

{
    \setlist[enumerate]{label*=.\arabic*}
    \setlist[enumerate, 1]{label=\arabic*}
    \begin{enumerate}
        \item First Chapter
        \item Second Chapter
        \begin{enumerate}
            \item A Section
            \item Another Section
            \begin{enumerate}
                \item A Subsection
                \item One More Subsection
            \end{enumerate}
        \end{enumerate}
        \item Last Chapter
    \end{enumerate}
}

\end{document}

MWE 输出

您可以轻松配置列表的外观enumitem,并通过将所有内容括在一个组中来保持本地设计。

相关内容