有人可以告诉我这个命令是如何工作的吗?

有人可以告诉我这个命令是如何工作的吗?

我正在尝试使我的章节不被标记为“第 1 章”、“第 2 章”等。我只希望它有编号,没有“章节”。我希望“章节”一词消失。快速的 Google 搜索向我展示了如何使用该titlesec 包实现这一点,即

\usepackage{titlesec}

\titleformat{\chapter}{}{}{0em}{\bf\LARGE}

这对我来说很管用。但是,我不喜欢不理解代码就直接使用,有人能告诉我这是什么意思吗?我试着通读了文档但我不明白为什么上述代码会导致章节前的“章节号”被省略。

答案1

由于您使用了空的第三个参数,因此不使用标签;特别是,不会使用字符串“Chapter”(或“Appendix”)作为章节标题,也不会出现计数器;但请注意,计数器不会打印在标题中,但“它仍然存在”(例如,它将显示在目录中)。

您的定义中也没有使用可选的第一个参数,因此<shape>将默认为hang,这是标准类中的章节标题使用的形状。

在您的描述中,您说您只想隐藏字符串“Chapter”(或“Appendix”)但保留编号,因此更好的选择是使用类似

\titleformat{\chapter}
  {\bfseries\LARGE}
  {\thechapter}
  {0.5em}
  {}

请注意,我添加了\thechapter第三个强制参数,因此计数器将被排版,并且我\bfseries\LARGE从第五个强制参数移动到第二个参数;这样,格式将影响标签(在本例中为计数器)和标题;使用您的设置(用于第五个参数),它只会影响标题而不会影响标签。

完整示例:

\documentclass{book}
\usepackage{titlesec}

\titleformat{\chapter}
  {\bfseries\LARGE}
  {\thechapter}
  {0.5em}
  {}

\begin{document}

\chapter{Test chapter}
Some test text

\end{document}

结果:

在此处输入图片描述

附带说明一下,\bf这是一个 TeX 命令,不应在 LaTeX 文档中使用;\bfseries而应在 LaTeX2e 文档中使用。

titlesec 的文档在第 4 页解释了 的一般语法和参数的含义\titleformat。我认为没有必要在这里重复那里出现的内容。

答案2

就在我开始回答这个问题的时候,我看到 Gonzalo 提到了文档第 4 页,我正准备在这里重复并注释。哦,好吧。

您找到的代码:

\titleformat{\chapter}{}{}{0em}{\bf\LARGE}

从第 4 页开始文档titlesec

\titleformat{command}[shape]{format}{label}{sep}{before-code}[after-code]

您的示例中省略了可选参数shapeafter-code,因此您实际上运行了

\titleformat{command}{format}{label}{sep}{before-code}

带有,且command为空,和(应该是chapterformatlabelsep0embefore-code\bf\LARGE\bfseries\LARGE 自 1994 年左右以来)。

  • format对应于用于格式化整个分区的命令。在您的例子中,它是空的,或者可以将\bfseries\LARGEbefore-code移动到那里。

  • label对应于命令排版部门标签和编号。您的命令为空以隐藏标签和编号,但您可以使用任何带有\titlechaptername\thechapter或其他命令或文本的宏。

  • sep是文档分部标签和文档分部标题之间的间距。在您的情况下,0em请将其与正文的左边距对齐。其他章节形状可能会使用此间距来控制标签和标题之间的垂直间距。

  • before-code是部门标题前面的代码。您的是\bf\LARGE,但它可能包含装饰性规则、垂直空格或其他命令。如果您将格式命令放在参数中,它也可以为空format

相关内容