使用该包更改我的部分的样式titlesec
可以很好地处理这些行
\usepackage{titlesec}
\titleformat{\section}[block]{\large\scshape\centering{\Roman{section}.}}{}{1em}{}
但是将我的文献添加到文件末尾后……
\bibliographystyle{plain}
\bibliography{literature}
...计数器没有增加,并且参考部分的间距不完全正确。但是,标题具有定义的部分样式。您有解决方案来获得一致的计数器吗?
答案1
在 的第二个参数中包含计数器并不方便\titleformat
;这将导致带星号的部分以“非正统”的方式编号,如下面的简单示例所示:
\documentclass{article}
\usepackage{titlesec}
\titleformat{\section}[block]{\large\scshape\centering{\Roman{section}.}}{}{1em}{}
\begin{document}
\section{Test Section}
\subsection{Test Subsection}
\section*{Test Section}
\subsection{Test Subsection}
\end{document}
这会产生以下错误结果(编号错误、编号和标题之间的间距错误以及下属部门单位的计数器未正确重置):
正确的做法是\thesection
先重新定义使用罗马数字,如下例所示:
\documentclass{article}
\usepackage{titlesec}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{test,
author= "The Author",
journal = "The Journal",
pages= "1-2",
year="2012"
}
\end{filecontents*}
\renewcommand\thesection{\Roman{section}}
\titleformat{\section}[block]
{\large\scshape\filcenter}{\thesection.}{1em}{}
\begin{document}
\section{test}
\cite{test}
\bibliographystyle{plain}
\bibliography{\jobname}
\end{document}
如果您想要对参考书目部分进行编号,则可以使用该etoolbox
包来修补\thebibliography
要使用的命令,\section
而不是默认命令\section*
:
\documentclass{article}
\usepackage{titlesec}
\usepackage{etoolbox}
\usepackage{filecontents}
\patchcmd{\thebibliography}{\section*}{\section}{}{}
\begin{filecontents*}{\jobname.bib}
@article{test,
author= "The Author",
journal = "The Journal",
pages= "1-2",
year="2012"
}
\end{filecontents*}
\renewcommand\thesection{\Roman{section}}
\titleformat{\section}[block]
{\large\scshape\filcenter}{\thesection.}{1em}{}
\begin{document}
\section{test}
\cite{test}
\bibliographystyle{plain}
\bibliography{\jobname}
\end{document}
与原始问题无关,但\centering
没有参数,因此\centering{text}
应该使用类似的内容{\centering text\par}
(仅当需要明确分组以保持局部效果时才需要括号)。