我必须写一篇关于另一篇文章的文章。因此,我必须附加一个额外的目录,它实际上并不显示我的文档的结构,而是列出我的文档中未包含的部分。
需要澄清的是:应该有一个正常的目录列出我的部分,另外还有一个目录放在我自己的文档中的任何位置 - 不一定在附录等。
为了使事情变得更加困难,“第二个”目录不应包含页码。
\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}
您可以轻松配置列表的外观enumitem
,并通过将所有内容括在一个组中来保持本地设计。