正如标题所示,我希望我的章节标题是单个居中的罗马数字。就是这样,没有实际的章节名称。
这可能吗?如果可以,我该怎么做?
答案1
代码片段\@sect
(见 LaTeX 格式文件latex.ltx
)
#6{%
\@hangfrom{\hskip #3\relax\@svsec}%
\interlinepenalty \@M #8\@@par}%
基本上负责排版章节编号和章节标题。#6
实际上是来自的命令\@startsection
,与字体设置有关。
\@svsec
将\the...
有效地执行,即章节编号。
必须将其从标准定义中删除,并替换为
\centering
#6{\sv@sec}%
请注意,这会改变任何\section...
命令并且也会在目录中留下条目。
\documentclass{article}
\usepackage{xpatch}
\usepackage{blindtext}
\makeatletter
\renewcommand{\thesection}{\Roman{section}}
\xpatchcmd{\@sect}{%
\begingroup
#6{%
\@hangfrom{\hskip #3\relax\@svsec}%
\interlinepenalty \@M #8\@@par}%
\endgroup
}{%
\begingroup
\centering
#6{\@svsec}%
\endgroup
}{\typeout{Works}}{\typeout{Fails!}}
\makeatother
\begin{document}
\section{First}
\blindtext
\section{Second}
\blindtext
\section{}
\blindtext
\end{document}