如何定制 \cite?

如何定制 \cite?

因此我需要在论文中引用以下论文:

Sih, Andrew, Alison M. Bell, J. Chadwick Johnson 和 Robert E. Ziemba。2004 年。《行为综合征:综合概述》。《生物学季刊》79 (3): 241-277。

Sih, Andrew, Alison Bell 和 J. Chadwick Johnson。2004 年。行为综合征:生态和进化概述。生态和进化趋势 19 (7): 372-378。

到目前为止,我已经使用了biblatex\autocite这给了我

(Sih、Bell、Johnson 和 Ziemba 2004)和(Sih、Bell 和 Johnson 2004)。

但我想得到这个

(Sih 等人 2004a、2004b)

我该怎么做?最好不要改变

\usepackage[backend=biber, authordate, maxcitenames=1, sorting=nyt]{biblatex-chicago}

答案1

这两个名单并不都缩写为“Sih et al.”,因为它们是不同的。这样biblatex可以避免给人造成两篇论文都是由同一批作者撰写的(错误)印象。

uniquename=false按照建议艾伦·芒恩 在评论中禁用该行为。

然而,这还不够。因为biblatex-chicago-comp机制将引用从“Knuth 1986a, Knuth 1986b”压缩为“Knuth 1986a, 1986b”,依赖于完整的作者列表,而不是可见的作者列表,引文不会被压缩。如果您想要这样做,您需要修改引文命令以从 切换到fullhash。不幸的是,中namehash大约有 29 处提及,因此所需的代码更改将相当大。这里有一个快速的解决方法,只需将 的值复制到引文中即可。fullhashchicago-dates-common.cbxnamehashfullhash

\documentclass[american]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber, authordate, uniquelist=false, maxcitenames=2]{biblatex-chicago}
\newcommand*{\letfield}[2]{\csletcs{abx@field@#1}{abx@field@#2}}
\AtEveryCitekey{\letfield{fullhash}{namehash}}

\begin{filecontents}{\jobname.bib}
@article{sih2004:behsynd:int,
  author  = {Sih, Andrew and Alison M. Bell and J. Chadwick Johnson
             and Robert E. Ziemba},
  year    = {2004},
  title   = {Behavioral Syndromes: An Integrative Overview},
  journal = {The Quarterly Review of Biology},
  volume  = {79},
  number  = {3},
  pages   = {241-277},
}
@article{sih2004:behsynd:ecoevo,
  author  = {Sih, Andrew and Alison M. Bell and J. Chadwick Johnson},
  year    = {2004},
  title   = {Behavioral Syndromes: An Ecological and Evolutionary Overview},
  journal = {Trends in Ecology and Evolution},
  volume  = {19},
  number  = {7},
  pages   = {372-378},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
\autocite{sih2004:behsynd:ecoevo,sih2004:behsynd:int}

\autocite{knuth:ct:b,knuth:ct:c}

\printbibliography
\end{document}

(Sih 等人 2004a、2004b)//(Knuth 1986a、1986b)


请注意,实现特定规范样式指南的参考书目和引文样式的习惯样式,如biblatex-chicago和,biblatex-apa通常不会考虑可定制性(超出样式指南要求)。如果开发人员必须在遵循规则的准确性和可定制性之间取得平衡,后者通常会失败。

因此我通常建议不要尝试修改诸如此类的样式biblatex-chicago

在这种情况下,我也同意艾伦的观点,即这种特定的变化可能会产生误导,因为它强烈暗示两篇论文是由同一组作者撰写的。

相关内容