如何使用 apacite(或类似程序)而不修改标题中的运行标题?

如何使用 apacite(或类似程序)而不修改标题中的运行标题?

我正在使用自定义 .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}}}%

相关内容