有没有办法在 LaTeX 中实现以下样式?
“章节应使用大写罗马数字(I、II、III 等)进行编号。章节标题应出现在文本的第一行,以斜体显示,作为每个章节第一段的一部分。”
引文中没有说明,但章节编号应作为章节标题居中显示在自己的行上(使用中等粗细、正常大小的字体)。
我找不到通过尝试 titlesec 来实现单独标题和插入元素的方法。在此先行致谢!
答案1
您可以在与行一样宽的框中排版章节编号,这样它就会显示在章节文本上方的中央。要使用的样式是runin
。
\documentclass{article}
\usepackage{titlesec}
\titleformat{\section}[runin]
{\normalsize}
{\makebox[\columnwidth]{\thesection}}
{0pt}
{\textit}
\renewcommand{\thesection}{\Roman{section}}
\usepackage{lipsum}
\begin{document}
\section{This is the first section}
\lipsum[3]
\section{This is the second section}
\lipsum[3]
\end{document}
如果您想添加标点符号(仅在必要时),您可以利用\@addpunct
定义的宏amsthm
。
\documentclass{article}
\usepackage{titlesec}
\usepackage{amsthm}
% A helper command
\makeatletter
\newcommand{\sectiontitleformat}[1]{%
\itshape#1\@addpunct{.}}
\makeatother
\titleformat{\section}[runin]
{\normalsize}
{\makebox[\columnwidth]{\thesection}}
{0pt}
{\sectiontitleformat}
\renewcommand{\thesection}{\Roman{section}}
\usepackage{lipsum}
\begin{document}
\section{This is the first section}
\lipsum[3]
\section{Is this the second section?}
\lipsum[3]
\end{document}
如何增加数字和文本之间的间距?
添加一条不可见的规则,使用可选参数赋予它一些深度。
\titleformat{\section}[runin]
{\normalsize}
{\makebox[\columnwidth]{\rule[-\baselineskip]{0pt}{0pt}\thesection}}
{0pt}
{\sectiontitleformat}