![如何使用 apacite(或类似程序)而不修改标题中的运行标题?](https://linux22.com/image/477862/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20apacite%EF%BC%88%E6%88%96%E7%B1%BB%E4%BC%BC%E7%A8%8B%E5%BA%8F%EF%BC%89%E8%80%8C%E4%B8%8D%E4%BF%AE%E6%94%B9%E6%A0%87%E9%A2%98%E4%B8%AD%E7%9A%84%E8%BF%90%E8%A1%8C%E6%A0%87%E9%A2%98%EF%BC%9F.png)
我正在使用自定义 .cls 文件,具有自己的实现,用于在标题中运行文本除了第一页之外,其他所有页面的角落都有。我使用的 .cls 文件取自此 Overleaf 模板:https://www.overleaf.com/latex/templates/dagstuhl-seminar-report-template/fptyrrjnkpgg
这似乎包括其自己在页眉中运行标题的自定义实现(在偶数页上运行标题,在奇数页上运行作者),使用如下命令:
\titlerunning{Running Title}
\authorrunning{Running Authors}
因此它似乎没有使用类似的自定义包fancyhdr
。
该页面上的示例建议使用\bibliographystyle{plain}
,但这会导致编号引用如 [1]、[2] 等,并且参考文献的格式与我喜欢的不同。我更喜欢使用apacite
, 或类似的东西,只要它能够指向按字母顺序排列的参考文献,并且支持以下两种格式的文内引用:
- (作者,年份)
- 作者(年份)
我的问题是:当偏离推荐\bibliographystyle{plain}
(例如使用\bibliographystyle{apacite}
)时,页面上开始列出参考文献的运行标题被替换为“参考文献”一词,而我更愿意保留原始文本(标题或作者,取决于它是偶数页还是奇数页)。
因为问题似乎与特定的自定义 .cls 文件密切相关,所以我认为最简单的方法是分享一个最小工作示例是指向 Overleaf 项目的链接,因此我准备了这个链接:https://www.overleaf.com/read/chsbcjbbkzfq。我稍微调整了 .cls 文件,删除了带有许可证、徽标和所有内容的页脚,这样我就不必将这些图像复制到 MWE 中。
我还可以包括最小工作示例的 .tex 源代码这里,但它不包含完整的.cls 文件:
\documentclass[a4paper,UKenglish]{dagrep}
\usepackage[utf8]{inputenc}
\usepackage{apacite}
\bibliographystyle{apacite}
\usepackage{lipsum}
\title{Title}
\titlerunning{Running Title}
\author{Author}
\authorrunning{Running Authors}
\begin{document}
\maketitle
\lipsum[1-3]
\newpage
\citeA{article-minimal}.
\newpage
\lipsum[1-3]
\newpage
\lipsum[1-3]
\newpage
\bibliography{xampl}
\end{document}
这预期行为第 5 页的左上角会显示“连续作者”(因为它在奇数页),而不是“参考文献”。
请注意,如果我们注释掉\usepackage{apacite}
,将参考书目样式修改为\bibliographystyle{plain}
,并将更改为\citeA{}
,\cite
则最后一页的页眉会得到修复,但我没有想要的参考书目样式。
答案1
我还没有找到一个“干净”的解决方案,但我确实找到了针对该项目中使用的特定 .cls 文件的“黑客”解决方案。
在链接的 Overleaf 项目中,运行标题由文件的第 277-280 行实现dagrep.cls
:
\def\@evenhead{\large\sffamily\bfseries
\llap{\hbox to0.5\oddsidemargin{\thepage\hss}}\leftmark\hfil}%
\def\@oddhead{\large\sffamily\bfseries\rightmark\hfil
\rlap{\hbox to0.5\oddsidemargin{\hss\thepage}}}%
具体来说,\leftmark
和\rightmark
部分最终会产生打印的文本,而这些文本开始变成不需要的文本“参考”。
一个 hack 修复方法是直接用我们想要的硬编码运行标头替换这两个词。这很丑陋,因为它们将不再从文件中使用的\titlerunning
和\authorrunning
命令中干净地提取.tex
,但它有效。上面的行将如下所示:
\def\@evenhead{\large\sffamily\bfseries
\llap{\hbox to0.5\oddsidemargin{\thepage\hss}}Running Title\hfil}%
\def\@oddhead{\large\sffamily\bfseries Running Authors\hfil
\rlap{\hbox to0.5\oddsidemargin{\hss\thepage}}}%