我正在写一封带有 APA 样式参考书目的信,我想将参考书目标题居中。没有用于apacite
控制其格式的钩子,所以我必须更新\section
(这在环境中没有定义letter
,但我无论如何都会为正文定义它)。所以我写了这段代码:
\documentclass[12pt]{letter}
\usepackage{microtype} % better spacing
\usepackage[margin=1in]{geometry} % nice margins
\usepackage[utf8]{inputenc} % utf-8 encoding
\usepackage{block} % left-align everything
\usepackage[natbibapa]{apacite} % citations
\usepackage[english]{babel} % correct line breaks
\usepackage{setspace} % double spacing
%\addto{\captionsenglish}{\renewcommand{\refname}{}}
\newcommand{\section}[1]{{\bf #1}\hfill\break}
\begin{document}
\begin{letter}{}
\bibliographystyle{apacite}
\doublespacing
\newcommand{\newblock}{}
\renewcommand{\section}[1]{\begin{center}#1\end{center}}
\bibliography{bibliography.bib}
\singlespacing
\end{letter}
\end{document}
但它并没有将我的标题居中,而是执行以下操作:
这是什么意思?我该如何防止这种情况发生?
答案1
答案是显而易见的,一旦你看到它。apacite
正在为提供两个参数\section
,一个是星号,另一个是标题。(我自己也曾为更改标题而苦苦挣扎;结果发现这是与包的交互babel
,记录在案这里。)因此重新定义的正确代码\section
是:
\renewcommand{\section}[2]{\begin{center}#2\end{center}}