![Biblatex:脚注中重复引用的技巧](https://linux22.com/image/250489/Biblatex%EF%BC%9A%E8%84%9A%E6%B3%A8%E4%B8%AD%E9%87%8D%E5%A4%8D%E5%BC%95%E7%94%A8%E7%9A%84%E6%8A%80%E5%B7%A7.png)
我正在尝试调整样式提供的引用verbose-trad2
格式比布拉特克斯遵守我所得到的非常具体的要求。我思考 verbose-trad2
是默认选项中最接近我所有需求的。
引文应以脚注形式给出,通常为\footcite{}
,但偶尔也会用\footnote{Some remark... \cite{}.}
。我在这里称之为完整引文是关于一部作品的全部信息:作者、标题、出版商、日期等。我称之为缩写引文只是作者(总是完整的!)、缩写标题和可选的页码。第一次引用作品时,我必须使用完整引用,然后取决于中间是否引用了其他作品,但绝不会超过缩写引用。
我已经想出的 biblatex 相关代码可以在这里找到这里。LaTeX 文档本身是一个article
带有选项的onepage
。
首先,我已经应用了两种技巧。
- 始终打印作者的全名。因此我设置了
idemtracker=false
。 - 这个单词同上当两个后续引文具有相同的作者和标题时必须使用(而不是默认的同上在
verbose-trad2
)。因此我重新定义了ibidem = idem
。
其次,我仍然需要适应一些东西,即使浏览了文档和这个网站,我也没有丝毫的想法。(我可能错过了一些东西,因为我对低级 tex 或 biblatex 代码不太熟悉,如果是这样的话,我很抱歉。)
- 当两个后续引用具有相同的作者、标题和页码(在方括号参数中给出)时
\footcite[]{}
)时,只需打印同上。(没有其他的)。 - 新页面的脚注部分始终以完整或缩写的引文(作者(完整)、缩写标题、页码)开始,切勿以同上或者同上。即使前一个引用的最后一个引用相似/相同。我以为 biblatex 文档暗示这可以立即使用,但似乎并非如此。
- (可选)缩写标题是指:如果作者只有一部作品,则使用表达方式同上。同上。,否则使用标题的缩写形式(我必须
shorttitle
在 bibTeX 条目中使用该字段吗?)
提前感谢任何建议和帮助!
答案1
对于请求 1,添加选项ibidpage=true
。引用第 2 页75-style-verbose-trad2.pdf
:
选项
ibidpage
学术缩写同上在传统的引用方案中,有时被理解为“同一作者 + 同一标题”和“同一作者 + 同一标题 + 同一页”。默认情况下,这种样式并非如此,因为它可能导致引用不明确。如果您更喜欢更宽泛的解释同上,设置包选项
ibidpage=true
或直接ibidpage
在前言中设置。默认设置是ibidpage=false
。
对于请求 2,\iffirstonpage
必须向cite
bibmacro 添加测试;如果测试结果为真,cite:name
则cite:title
必须使用 bibmacros。
\documentclass{article}
\usepackage[style=verbose-trad2,ibidpage=true]{biblatex}
\renewbibmacro*{cite}{%
\usebibmacro{cite:citepages}%
\global\togglefalse{cbx:fullcite}%
\global\togglefalse{cbx:loccit}%
\bibhypertarget{cite\the\value{instcount}}{%
\ifciteseen
{\iffieldundef{shorthand}
{\iffirstonpage% NEW
{\usebibmacro{cite:name}% NEW
\usebibmacro{cite:title}}% NEW
{\ifciteibid
{\usebibmacro{cite:ibid}}
{\ifthenelse{\ifciteidem\AND\NOT\boolean{cbx:noidem}}
{\usebibmacro{cite:idem}}
{\usebibmacro{cite:name}}%
\usebibmacro{cite:title}}%
% \usebibmacro{cite:save}}% DELETED
\usebibmacro{cite:save}}}% NEW
{\usebibmacro{cite:shorthand}}}
{\usebibmacro{cite:full}%
\usebibmacro{cite:save}}}}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{A01,
author = {Author, A.},
year = {2001},
title = {Alpha},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\textheight=100pt% just for the example
\begin{document}
Some text \autocite[99]{A01}.
Some text \autocite[99]{A01}.
\clearpage
\citereset
Some text \autocite{A01}.
\clearpage
Some text \autocite{A01}.
\printbibliography
\end{document}