具有特定输出的新 cite 命令

具有特定输出的新 cite 命令

我正在尝试生成类似于引用脚注的输出:

K. van Berkel (2005),《物性论:重访》,第 215-218 页。

K. van Berkel (2004),《自然之书》引文。

IE

作者(年份)、简称、可选页码。

引用如下:

\mycite[215--218]{vanberkel2005}

我正在使用 biblatex:

\usepackage[backend=biber,style=authoryear,sorting=ynt, useprefix=true]{biblatex} 

我尝试在序言中使用 \AtEveryCitekey 命令和 \clearfield{publisher} 等,但它并没有达到预期的效果:当我使用 \fullcite 时,它​​不会更改/删除任何内容。我在序言中使用的代码是:

\AtEveryCitekey{% 
\clearfield{publisher}%
\clearfield{address}%
\clearfield{journal}%
\clearfield{pages}%
\clearfield{volume}%
}

创建自定义引用命令让我望而生畏。例如,我无法自定义答案这里因为我看不懂一半的代码。

答案1

该解决方案使用authoryear.cbx作为基础并定义一个新的 cite 宏,该宏基本上是标准宏mycite的副本,但另外包含 的一些内容。此外,我们定义了一种类似于标准 的新名称格式,但始终至少提供首字母。authoryear.cbxciteauthortitle.cbxcite:titlelabelname

\documentclass[british]{article}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear,backend=biber]{biblatex}

\addbibresource{biblatex-examples.bib}

\DeclareNameFormat{labelname:ext}{%
  \ifnum\value{uniquename}<2
    \ifuseprefix
      {\usebibmacro{name:given-family}
        {\namepartfamily}
        {\namepartgiveni}
        {\namepartprefix}
        {\namepartsuffixi}}
      {\usebibmacro{name:given-family}
        {\namepartfamily}
        {\namepartgiveni}
        {\namepartprefixi}
        {\namepartsuffixi}}%
  \else
    \usebibmacro{name:given-family}
      {\namepartfamily}
      {\namepartgiven}
      {\namepartprefix}
      {\namepartsuffix}%
  \fi
  \usebibmacro{name:andothers}}


\newbibmacro*{cite:title}{%
  \printtext[bibhyperref]{%
    \printfield[citetitle]{labeltitle}}}

\newbibmacro*{mycite}{%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
       {\usebibmacro{cite:label}}
       {\printnames[labelname:ext]{labelname}}%
     \setunit{\addspace}%
     \printtext[parens]{\usebibmacro{cite:labelyear+extrayear}}%
     \setunit{\addcomma\space}%
     \usebibmacro{cite:title}}
    {\usebibmacro{cite:shorthand}}}

\DeclareCiteCommand{\myfootcite}[\mkbibfootnote]
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{mycite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\begin{document}
Lorem\myfootcite[12]{sigfridsson} ipsum\myfootcite{nussbaum,geer}

\printbibliography
\end{document}

给出

1 E. Sigfridsson 和 U. Ryde (1998),《从电势和电矩推导原子电荷的方法比较》,第 12 页。

2 M.努斯鲍姆(1978),亚里士多德的《动物运动论》;I. d. Geer (1985),《伯爵、圣人、主教、吟游诗人——和音乐》。

在脚注中。

相关内容