Biblatex 引用样式不超过一位作者,等用斜体表示,日期前有逗号?

Biblatex 引用样式不超过一位作者,等用斜体表示,日期前有逗号?

我刚刚收到了我的博士转学报告的反馈,我的导师要求我改变我的引用风格(他们不使用 LaTeX,所以帮不上什么忙,但我又不想在 Word 中写论文),在查看了可用于biblatexBiber 的风格以及类似的问题后,我仍然找不到解决方案,也不完全明白如何biblatex改变,它看起来并不像.bst为 BibTeX 编写文件那么简单。

他们想要的风格如下,引用多个作者时使用“et al.”并以斜体显示,并在日期前加逗号:

(洛迪什,2000)和(摩根,2003)和(Gray,1918)

但使用下面的代码我只能得到这些引用:

(Lodish 等人,2000 年)和(Morgan、Bayraktar 和 Keaveny,2003 年)以及(Gray,1918 年)

任何帮助将非常感激!

\documentclass{article}
\usepackage[backend=biber, style=apa, citestyle=apa, maxcitenames=1]{biblatex}
\usepackage{filecontents}
\usepackage{hyperref}

\begin{filecontents*}{\jobname.bib}
    }
@Article{Morgan2003,
  author  = {Morgan, Elise F. and Bayraktar, Harun H. and Keaveny, Tony M.},
  title   = {Trabecular bone modulus–density relationships depend on anatomic site},
  journal = {Journal of Biomechanics},
  year    = {2003},
  volume  = {36},
  number  = {7},
  pages   = {897-904},
  issn    = {00219290},
  doi     = {10.1016/s0021-9290(03)00071-x},
  type    = {Journal Article},
}

@Book{Gray1918,
  title     = {Anatomy of the Human Body},
  publisher = {Lea \& Febiger},
  year      = {1918},
  author    = {Gray, H.},
  address   = {Philadelphia and New York},
  edition   = {Twentieth},
  type      = {Book},
}

@InBook{Lodish2000,
  title     = {22.3 Collagen: The Fibrous Proteins of the Matrix},
  publisher = {W. H. Freeman},
  year      = {2000},
  author    = {Lodish, H. and Berk, A. and Zipursky, S. L. and Matsudaira, P. and Baltimore, D. and Darnell, J.},
  type      = {Book Section},
  address   = {New York},
  edition   = {4th},
  booktitle = {Molecular Cell Biology},
  doi       = {https://www.ncbi.nlm.nih.gov/books/NBK21582/},
  url       = {https://www.ncbi.nlm.nih.gov/pubmed/},
}
\end{filecontents*}
\addbibresource{\jobname.bib}

\begin{document}

\parencite{Lodish2000} and \parencite{Morgan2003} and \parencite{Gray1918}

  \printbibliography
\end{document}

答案1

正如评论中提到的,biblatex-apa它专门设计用于实施美国心理学会出版手册中复杂而全面的引文和参考书目指南。因此,即使是“应该很容易”且在标准样式中很容易的小改动,修改样式也可能会很棘手。因此,如果您不需要 APA 样式,通常最好从标准样式之一开始。

您的 MWE 还显示了可定制性问题之一biblatex-apa:它没有响应该maxcitenames选项。

由于您想要的引用样式与 APA 样式非常不同,因此最好切换到citestyle=authoryear,。我保留了它,bibstyle=apa,尽管我通常强烈建议不要biblatex-apa与其他样式混合,因为这不是样式的预期用途(但它通常有效)。

标准citestyle=authoryear,响应为 ,maxcitenames正如预期的那样。我选择 ,maxcitenames=2因为我不喜欢将“Sigfridsson and Ryde”缩写为“Sigfridsson et al.”,但如果你坚持的话,它maxcitenames=1也可以正常工作。标准authoryear没有作者和年份之间的逗号,但你可以通过重新定义 来获得它nameyeardelim。斜体“et al.”的选项在中进行了讨论https://github.com/plk/biblatex/issues/899(我选择是\DefineBibliographyStrings因为 它也适用于biblatex-apa)。

\documentclass{article}
\usepackage[backend=biber, bibstyle=apa, citestyle=authoryear, maxcitenames=2]{biblatex}
\usepackage{hyperref}

\DeclareDelimFormat{nameyeardelim}{\addcomma\space}

\DefineBibliographyStrings{english}{
  andothers = {\mkbibemph{et\addabbrvspace al\adddot}}
}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{Morgan2003,
  author  = {Morgan, Elise F. and Bayraktar, Harun H. and Keaveny, Tony M.},
  title   = {Trabecular bone modulus–density relationships depend on anatomic site},
  journal = {Journal of Biomechanics},
  year    = {2003},
  volume  = {36},
  number  = {7},
  pages   = {897-904},
  issn    = {00219290},
  doi     = {10.1016/s0021-9290(03)00071-x},
  type    = {Journal Article},
}
@book{Gray1918,
  title     = {Anatomy of the Human Body},
  publisher = {Lea \& Febiger},
  year      = {1918},
  author    = {Gray, H.},
  address   = {Philadelphia and New York},
  edition   = {20},
  type      = {Book},
}
@inbook{Lodish2000,
  title     = {Collagen: The Fibrous Proteins of the Matrix},
  chapter   = {22.3},
  publisher = {W. H. Freeman},
  year      = {2000},
  author    = {Lodish, H. and Berk, A. and Zipursky, S. L.
               and Matsudaira, P. and Baltimore, D. and Darnell, J.},
  type      = {Book Section},
  address   = {New York},
  edition   = {4},
  booktitle = {Molecular Cell Biology},
  url       = {https://www.ncbi.nlm.nih.gov/books/NBK21582/},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
  \parencite{Lodish2000}
  \parencite{Morgan2003}
  \parencite{Gray1918}
  \parencite{sigfridsson}

  \printbibliography
\end{document}

(Lodish 等,2000 年)(Morgan 等,2003 年)(Gray,1918 年)(Sigfridsson 和 Ryde,1998 年)

.bib请注意与您的条目相比的细微变化。

相关内容