需要引用(作者、期刊缩写、年份)

需要引用(作者、期刊缩写、年份)

我正在寻找论文中的某种引用。不幸的是,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}

相关内容