我想在章节和小节编号后添加一个点,即使在目录和交叉引用. 使用\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}.}