我有一篇用 LaTeX 写的论文。我刚刚切换到它,natbib
因为它提供了一些不错的命令,但我开始遇到一些麻烦。我想这个小问题不大,但我有标题,上面有章节名称和页码。它们在文件中的实现方式.cls
如下:
\def \@oddhead{\normalfont \rmfamily \slshape \hfill \leftmark \hfill \thepage}% writes chapter (not sec) at top.
对于普通页面,
\def \ps@chapHeadings{\def \@oddhead{\hfill \textit{\thepage}}}
进入新章节页面。
现在参考文献页的标题全部大写。我不喜欢这样,因为这与论文其余部分的写作方式不一致。
有人知道如何对其进行排序吗?
答案1
将以下几行添加到你的序言中:
\makeatletter
\renewcommand\bibsection{%
\chapter*{\bibname\@mkboth{\bibname}{\bibname}}}
\makeatother
您应该使用biblatex
而不是natbib
。它提供相同的命令,但更灵活。
这是一个完整的工作示例,它运行良好:
\documentclass{book}
\usepackage{lipsum}
\usepackage{natbib}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{test,
author={John Smith},
title={TITLE},
year={2011},
publisher={\lipsum\lipsum},
}
\end{filecontents*}
\makeatletter
\def\@oddhead{\normalfont \rmfamily \slshape \hfill \leftmark \hfill \thepage}%
\def\@evenhead{\normalfont \rmfamily \slshape \hfill \thepage \hfill \rightmark}
\renewcommand\bibsection{%
\chapter*{\bibname\@mkboth{\bibname}{\bibname}}}
\makeatother
\begin{document}
\nocite{test}
\bibliography{\jobname.bib}
\bibliographystyle{plainnat}
\end{document}
这里有一个小小的扩展,用于列出目录中的参考文献:
\makeatletter
%not numbered
\renewcommand\bibsection{%
\chapter*{\bibname\@mkboth{\bibname}{\bibname}}
\addcontentsline{toc}{chapter}{\bibname}%
}
%numbered
% \renewcommand\bibsection{%
% \chapter{\bibname}\@mkboth{\bibname}{\bibname}
% }
\makeatother
答案2
如果你想完全删除标题(例如因为你在文件的其余部分不使用标题),只需添加
\renewcommand\bibsection{}
回到序言。
这应该适用于所有与之配合使用的模板natbib
,例如iopart
(IOP)。