遇到的问题有点类似于“如何在 LaTeX 中将章节编号放入章节标题的右侧”(这两个答案都没有让我满意),我正在摆弄titlesec
,然后发现了一个我无法理解的错误消息。
为了简洁起见,忽略示例的外观,其工作原理如下:
\documentclass{scrbook}
\usepackage[german]{babel}
\usepackage[utf8]{inputenc}
\usepackage{titlesec}
\titleformat{\section}[hang]{}{\thesection}{0pt}{}{} %% <--
\begin{document}
\section{Section}
\end{document}
(产生“0.1Section”。)
将标记的行切换为如下形式也有效:
\titleformat{\section}[hang]{}{}{0pt}{\thesection}{}
(产生“0.1Section”。)
但是,下面这行代码不是工作:
\titleformat{\section}[hang]{}{}{0pt}{}{\thesection}
(预期“Section0.1”,但出现 LaTeX 错误“缺少 \begin{document}”。)
显然“后“——领域\titleformat
处理事情的方式不同。为什么会出现这种情况,又能避免吗?”
答案1
“after” 字段可选地在“before” 字段后的方括号中指定,而不是在花括号中指定。这就是失败的原因。
正确的语法如下:
\titleformat{\section}[hang]{}{}{0pt}{}[\thesection]
得到预期结果:
部分
0.1