我正在寻找论文中的某种引用。不幸的是,biblatex 中没有满足我需求的选项。在 bib 文件中声明一个新的“短期刊”字段是最好的选择吗?还是 LaTex 可以识别期刊的首字母缩写?
我添加了一个完整的最小示例来展示我实际正在使用的内容:
\开始{文件内容}{min.bib} @article{boisson2003unexpected, title={包括细胞防御成分在内的意外蛋白质家族在高等真核生物的N-myristoylome中出现}, 作者={Boisson, B. 和 Giglione, Carmela 和 Meinnel, Thierry}, journal={生物化学杂志}, 年份={2003}, 出版商={ASBMB} } \结束{文件内容}\documentclass[fontsize=11pt, paper=a4, ngerman, DIV=calc]{scrartcl} \usepackage[scaled]{helvet} \renewcommand*\familydefault{\sfdefault} \usepackage{fixltx2e} \usepackage[utf8]{输入框} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{babel} \usepackage[babel, german=quotes]{csquotes} \usepackage[%style=authoryear-comp,sortcites=true,sorting=nyt,isbn=false,natbib=true, citestyle=authoryear,bibstyle=authoryear,backend=biber,maxnames=1,maxcitenames=1] {biblatex} \addbibresource{最小.bib} \DefineBibliographyStrings{ngerman}{ 和其他 = {{et\,al\adddot}} }
\开始{文档}
\citep{boisson2003unexpected} \[1em] 它看起来应该是这样的: \[1em] (Boisson 等人,JBC,2003 年)
\打印书目
\end{document}<code>
答案1
首先要做的是journalabbr
在 MWE 中为文章条目类型添加一个期刊缩写字段。因此,您需要声明一个数据模型(一个额外的文件;在 MWE 中,我使用了 filecontents 来模拟它),并且您必须告诉 biblatex/biber 在包选项中使用它。
然后,您必须修改 cite 命令,以便它适合您的需求。\citep
从 authoryear-style(您的 citestyle)使用该\cite
命令。您只需添加一个开关,检查字段是否journalabbr
为空,并将其打印出来。
最后但同样重要的一点是,您必须在条目中添加缩写字段。
梅威瑟:
\begin{filecontents}{min.bib}
@article{boisson2003unexpected,
title={Unexpected protein families including cell defense components feature in the N-myristoylome of a higher eukaryote},
author={Boisson, B. and Giglione, Carmela and Meinnel, Thierry},
journal={Journal of Biological Chemistry},
journalabbr={JBC},
year={2003},
publisher={ASBMB}
}
\end{filecontents}
\begin{filecontents}{authorjabbryear.dbx}
\ProvidesFile{authorjabbryear.dbx}
\DeclareDatamodelFields[type=field,datatype=literal]{journalabbr}
\DeclareDatamodelEntryfields[article]{journalabbr}
\end{filecontents}
\documentclass[fontsize=11pt, paper=a4, ngerman, DIV=calc]{scrartcl}
\usepackage[scaled]{helvet}
\renewcommand*\familydefault{\sfdefault}
\usepackage{fixltx2e}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage[german=quotes]{csquotes}
\usepackage[style=authoryear-comp,sortcites=true,sorting=nyt,isbn=false,natbib=true, citestyle=authoryear,bibstyle=authoryear,backend=biber,maxnames=1,maxcitenames=1,
,datamodel=authorjabbryear%added!
] {biblatex}
\DefineBibliographyStrings{ngerman}{ andothers = {{et\,al\adddot}} }
\renewbibmacro*{cite}{%from authoryear.cbx
\iffieldundef{shorthand}
{\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
{\usebibmacro{cite:label}%
\setunit{\addspace}}
{\printnames{labelname}%
\setunit{\nameyeardelim}}%
\iffieldundef{journalabbr}{}{%
\printfield{journalabbr}%
\setunit{\nameyeardelim}%
}%
\usebibmacro{cite:labelyear+extrayear}}
{\usebibmacro{cite:shorthand}}}
\addbibresource{min.bib}
\begin{document}
\citep{boisson2003unexpected}
How it should look like:
(Boisson et al., JBC, 2003)
\printbibliography
\end{document}