我想在章节和小节编号后添加一个点

我想在章节和小节编号后添加一个点

我想在章节和小节编号后添加一个点,即使在目录交叉引用. 使用\sectiondot{subsection}ofsecdot包时,我们没有得到最后一个点目录交叉引用。

我已尝试重新定义以下命令:

\renewcommand{\thechapter}{\arabic{chapter}.}
\renewcommand{\thesection}{\thechapter\arabic{section}.}
\renewcommand{\thesubsection}{\thechapter\thesection\arabic{subsection}.}

但目录中的结果如下: 在此处输入图片描述

那就是小节看起来就像是小节

还有小节标题如下图所示: 在此处输入图片描述

编辑 1 _________________________________________________________________

有了这个Manuel Kuehner 博士的守则

\renewcommand\thechapter{\arabic{chapter}.}
\renewcommand\thesection{\thechapter\arabic{section}.}
\renewcommand\thesubsection{\thesection\arabic{subsection}.}

结果是正确的目录但在章节和小节的标题我们得到这个:

在此处输入图片描述

编辑 2 _________________________________________________________________

此外,我希望章节编号不要以点结尾,因为它们会进入一个框内,如下图所示:

在此处输入图片描述

编辑 3 _________________________________________________________________

最后,这是对我有用的代码

\renewcommand\thepart{\Roman{part}.}
\renewcommand\thesection{\thechapter.\arabic{section}.}
\renewcommand\thesubsection{\thesection\arabic{subsection}.}

冲突是由我在另一本书中使用过的定义引起的,通过该定义,我得到了标题数字右侧的要点,但没有得到目录中的要点(我在这里用 ** strong. text ** 标记了这些要点以突出显示它们):

% Section style definition
\titleformat{\section}[runin]
{\normalsize \bfseries}
{\color{black} \S \thesection **strong . text**}
{1ex}{\color{black}}[\qquad]

% Subsection style definition
\titleformat{\subsection}[runin]
{\normalsize \bfseries}
{\color{black} \S \thesubsection **.**}
{1ex}{\color{black}}[\qquad]

当尝试在目录中获取章节编号后的点等时,由于忘记了上述定义,我得到了这些奇怪的结果。

我向所有慷慨地花费宝贵时间试图帮助我的人道歉。在你们的合作下,看到你们得到了正确的结果而我没有,我不得不仔细检查我的代码(相当麻烦),从而发现错误的原因。通过删除\thesection强文本显然\thesubsection **.**,问题消失了。

现在只剩下要解决如何在目录中的章节号后面添加点(见下面的截图):

在此处输入图片描述

编辑4 _______________________________________________________________

简化语句,要解决的问题如下:在所有部分章节部分小节 数字,标题中(章节除外,章节在标题中不能带句号,但在目录中可以不带句号)和目录中都有。

答案1

如果我理解正确的话,你想要做的是在数字后面添加点,但是仅有的在目录中。

在这种情况下,最好的方法是修改目录中内容的打印方式。如果你查看文件.toc,你可能会看到类似以下内容:

\contentsline {chapter}{\numberline {4}Defining new commands and environments}{79}{}%

\numberline命令负责打印数字。它保留一定量的空间并将数字放入其中。我们要做的是\numberline使用保存定义\let

\let\OldNumberline=\numberline

然后我们可以重新定义\numberline来调用旧的定义,但在参数后面有一个点:

\RenewDocumentCommand{\numberline}{ m }{% ❶
   \OldNumberline{#1.}%
}

如果你有旧的 LaTeX 发行版(2020 年 10 月之前),你应该将标有 ❶ 的行替换为

\renewcommand{\numberline}[1]{%

此外,这假设您使用的文档类与标准 LaTeX 类处理目录的方式没有太大差异。查看文件.toc将有助于验证此方法是否有效。

答案2

我觉得这很好(我没有彻底测试它,因为我即将离开我的公寓)。即使这不能解决您的问题,您也可以使用代码作为如何提供最小工作示例在这个网站上。

\documentclass{book}

% For the \blinddocument command.
\usepackage{blindtext}

% https://tex.stackexchange.com/questions/3177
\renewcommand\thechapter{\arabic{chapter}.}
\renewcommand\thesection{\thechapter\arabic{section}.}
\renewcommand\thesubsection{\thesection\arabic{subsection}.}

\begin{document}

\tableofcontents
\blinddocument

\end{document}

在此处输入图片描述

在此处输入图片描述


不带点的章节编号(未经测试):

\renewcommand\thechapter{\arabic{chapter}}
\renewcommand\thesection{\thechapter.\arabic{section}.}
\renewcommand\thesubsection{\thesection\arabic{subsection}.}

相关内容