对于BibLaTeX-OSCOLA
,我遇到了一个错误,即连续调用带有shorthand
字段的立法时没有使用“ibid”,而是引用了简写名称。有没有办法强制使用“ibid”?
梅威瑟:
\documentclass{article}
\usepackage[style=oscola,
backend=biber]{biblatex}
\begin{filecontents}{eucases3.bib}
@legislation{fir,
title = {Regulation (EU) № 1169/2011 of the European Parliament and of the Council of 25 October 2011 on the provision of food information to consumers, amending Regulations (EC) № 1924/2006 and (EC) № 1925/2006 of the European Parliament and of the Council, and repealing Commission Directive 87/250/EEC, Council Directive 90/496/EEC, Commission Directive 1999/10/EC, Directive 2000/13/EC of the European Parliament and of the Council, Commission Directives 2002/67/EC and 2008/5/EC and Commission Regulation (EC) № 608/2004},
shorthand = {FIR},
pagination = {article},
keywords = {eu},
}
\end{filecontents}
\addbibresource{eucases3.bib}
\begin{document}
A test sentence.\autocites[15]{fir} Another one \autocites[12]{fir}
\end{document}
答案1
显然, soscola
优先shorthand
于“ibid”。我们可以尝试通过重新排序cite
和footcite
bibmacros 中的某些代码来改变这种情况(您可以在以下位置找到这些宏的原始定义第 37-67 页oscola.cbx
,v1.6)。
\documentclass{article}
\usepackage[backend=biber, style=oscola]{biblatex}
\makeatletter
\renewbibmacro*{cite}{%
\usebibmacro{cite:citepages}%
\global\togglefalse{cbx:loccit}%
\ifciteseen
{\ifboolexpr{
test {\ifciteibid}
and
not test {\iffirstonpage}
and
not test {\iftoggle{bbx:suppressibid}}
}
{\usebibmacro{cite:ibid}}
{\iffieldundef{shorthand}
{\usebibmacro{cite:short}}
{\usebibmacro{cite:shorthand}}}}
{\usebibmacro{cite:full}}}
\renewbibmacro*{footcite}{%
\bbx@resetpostnotedelim%
\usebibmacro{cite:citepages}%
\global\togglefalse{cbx:loccit}%
\ifciteseen
{\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
{\usebibmacro{footcite:ibid}\bbx@unsetpostnotedelim}
{\iffieldundef{shorthand}
{\usebibmacro{footcite:note}}
{\usebibmacro{footcite:shorthand}}}}
{\usebibmacro{footcite:full}%
\usebibmacro{footcite:save}}}
\makeatother
\begin{filecontents}{\jobname.bib}
@legislation{fir,
title = {Regulation (EU) № 1169/2011 of the European Parliament
and of the Council of 25 October 2011 on the provision
of food information to consumers,
amending Regulations (EC) № 1924/2006 and
(EC) № 1925/2006 of the European Parliament and of the Council,
and repealing Commission Directive 87/250/EEC,
Council Directive 90/496/EEC, Commission Directive 1999/10/EC,
Directive 2000/13/EC of the European Parliament and of the Council,
Commission Directives 2002/67/EC and 2008/5/EC
and Commission Regulation (EC) № 608/2004},
shorthand = {FIR},
pagination = {article},
keywords = {eu},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
A test sentence.\autocites[15]{fir} Another one \autocites[12]{fir}
\end{document}