如何在目录中的数字后添加括号

如何在目录中的数字后添加括号

1) 或者像 1.1) 或 1.1.1)

我想让目录列表的数字后面有一个括号。我该怎么做?我的项目刚刚开始,但现在想弄清楚。

\documentclass[a4paper,12]{report}
\usepackage[english,ngerman]{babel}
\begin{document}
\tableofcontents
\input{tex/Einleitung}\newpage\cleardoublepage
\end{document}

答案1

首先:如果你可以切换到 KOMA-Script 课程,那么使用@Schweinebacke 的回答

使用标准类,您可以使用包tocloft和重新定义等\cftpartaftersnum\cftchapaftersnum

\documentclass{report}

\usepackage{tocloft}
\usepackage{expl3}
\ExplSyntaxOn
\makeatletter
\clist_map_inline:nn {chap,sec,subsec,subsubsec,para,subpara}
  {\cs_set_nopar:cpn {cft #1 aftersnum} ##1 {)}}
\ExplSyntaxOff

\usepackage{mwe}
\begin{document}
\tableofcontents
\blinddocument
\end{document}

在此处输入图片描述

请注意,这不适用于目录中的部分条目。如果\part使用,则\@part必须修补:

\usepackage{xpatch}
\makeatletter
\xpatchcmd\@part
  {\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}}
  {\addcontentsline{toc}{part}{\thepart)\hspace{1em}#1}}
  {}{\PatchFailed}
\makeatother

但也可以tocbasic与标准类一起使用:

\documentclass{report}

\usepackage{tocbasic}
\usepackage{expl3}
\ExplSyntaxOn
\clist_map_inline:nn {chapter,section,subsection,subsubsection,paragraph,subparagraph}
  {\DeclareTOCStyleEntry[entrynumberformat=\numberwithbracket]{tocline}{#1}}
\cs_set_nopar:Npn \numberwithbracket #1 {#1)\hfill}
\ExplSyntaxOff

\usepackage{mwe}
\begin{document}
\tableofcontents
\blinddocument
\end{document}

结果类似。

如果有部件,您可以使用与\@part上面相同的补丁,或者您可以使用

\documentclass{report}
\usepackage{xpatch}
\makeatletter
\xpatchcmd\@part
  {\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}}
  {\addcontentsline{toc}{part}{\protect\numberline{\thepart}#1}}
  {}{\PatchFailed}
\makeatother

\usepackage{tocbasic}
\DeclareTOCStyleEntry[numwidth=1.5em,dynnumwidth]{tocline}{part}
\usepackage{expl3}
\ExplSyntaxOn
\clist_map_inline:nn {part,chapter,section,subsection,subsubsection,paragraph,subparagraph}
  {\DeclareTOCStyleEntry[entrynumberformat=\numberwithbracket]{tocline}{#1}}
\cs_set_nopar:Npn \numberwithbracket #1 {#1)\hfill}
\ExplSyntaxOff

\usepackage{mwe}
\begin{document}
\tableofcontents
\part{Part}
\blinddocument
\end{document}

在此处输入图片描述

答案2

如果您使用像 或 这样的 KOMA-Script 类scrartclscrbookscrreprt将非常容易:

\documentclass{scrartcl}
\AfterTOCHead[toc]{\let\autodot)}
\usepackage{mwe}
\begin{document}
\tableofcontents
\blinddocument
\end{document}

使用 scrartcl 的示例

相关内容