如何使用字母引用样式在脚注中引用完整标题

如何使用字母引用样式在脚注中引用完整标题

我正在撰写论文,正在努力选择正确的引用样式。

我倾向于使用字母样式,因为我发现它易于阅读,并且如果引用是重复的,可以轻松回忆起引用指的是哪个参考文献,而无需检查脚注(我认为这很让人分心),甚至更糟的是论文的末尾(阅读 PDF 时情况还不算太糟,只需单击超链接,然后使用反向引用即可返回,但阅读打印文档时麻烦得多)。

不过,我希望可以添加脚注,提供更详细的参考。这样,当我有,比如说,

\autocite{AB12}

输出为 [AB12] 引用处,此外,还有类似

[AB12] 阿伯拉尔和巴金斯基,伪造文件(2012 年)

出现在脚注中。我该如何实现?

答案1

根据评论,我修改了我的答案,旧版本位于下方。

我们首先需要为无标记脚注定义一个新的包装器

\makeatletter
\newrobustcmd{\mkbibblfootnote}[1]{%
  \iftoggle{blx@footnote}
    {\blx@warning{Nested notes}%
     \addspace\mkbibparens{#1}}
    {\unspace
     \ifnum\blx@notetype=\tw@
       \expandafter\@firstoftwo
     \else
       \expandafter\@secondoftwo
     \fi
       {\csuse{blx@theendnote}{\protecting{\blxmkbibnote{end}{#1}}}}
       {\csuse{blfootnote}{\protecting{\blxmkbibnote{foot}{#1}}}}}}

\newcommand\blfootnote[1]{\begingroup\let\thefootnote\relax\footnotetext{#1}\endgroup}
\makeatother

\megafullcite现在打印字母标签,如果这是第一次引用该作品 - 对于该功能,我们需要citetracker其任何一种风格(参见§3.1.2.3,第 54 页biblatex文档);在 MWE 中我选择了strict-,还打印了一个无标记的脚注,其中包含字母标签、作者姓名、年份和标题。

脚注\megafullcite{wilde}

[Wil99] 王尔德(1899),《认真的重要性》:一部写给严肃人士的琐碎喜剧。

\DeclareCiteCommand{\megafullcite}
  {\usebibmacro{prenote}}
  {\mkbibbrackets{\usebibmacro{cite}}%
   \ifciteseen{}
   {\mkbibblfootnote{%
     \mkbibbrackets{\usebibmacro{cite}}%
     \setunit{\addspace}%
     \usebibmacro{morecite}}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\newbibmacro*{morecite}{%
  \printnames{labelname}%
  \setunit{\addspace}%
  \printfield[parens]{year}%
  \setunit{\nametitledelim}%
  \printfield[citetitle]{labeltitle}}

平均能量损失

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[british]{babel}
\usepackage{csquotes}
\usepackage[style=alphabetic,backend=biber,citetracker=strict]{biblatex}
\usepackage{hyperref}
\addbibresource{biblatex-examples.bib}
\makeatletter
\newrobustcmd{\mkbibblfootnote}[1]{%
  \iftoggle{blx@footnote}
    {\blx@warning{Nested notes}%
     \addspace\mkbibparens{#1}}
    {\unspace
     \ifnum\blx@notetype=\tw@
       \expandafter\@firstoftwo
     \else
       \expandafter\@secondoftwo
     \fi
       {\csuse{blx@theendnote}{\protecting{\blxmkbibnote{end}{#1}}}}
       {\csuse{blfootnote}{\protecting{\blxmkbibnote{foot}{#1}}}}}}

\newcommand\blfootnote[1]{\begingroup\let\thefootnote\relax\footnotetext{#1}\endgroup}
\makeatother

\DeclareCiteCommand{\megafullcite}
  {\usebibmacro{prenote}}
  {\mkbibbrackets{\usebibmacro{cite}}%
   \ifciteseen{}
   {\mkbibblfootnote{%
     \mkbibbrackets{\usebibmacro{cite}}%
     \setunit{\addspace}%
     \usebibmacro{morecite}}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\newbibmacro*{morecite}{%
  \printnames{labelname}%
  \setunit{\addspace}%
  \printfield[parens]{year}%
  \setunit{\nametitledelim}%
  \printfield[citetitle]{labeltitle}}

\begin{document}
  Lorem ipsum \megafullcite{wilde} again \megafullcite{wilde}.

  Lorem ipsum \megafullcite{wilde,cicero}.

  Lorem ipsum \megafullcite{baez/article,baez/online}.

  \printbibliography
\end{document}

在此处输入图片描述


这是答案的旧版本,它实现了更详细的版本\fullcite

我们可以定义两个新的引用命令

\megafootfullcite将在脚注中打印字母标签和完整的参考书目条目。

\DeclareCiteCommand{\megafootfullcite}[\mkbibfootnote]
  {\usebibmacro{prenote}}
  {\mkbibbrackets{\usebibmacro{cite}}%
   \setunit{\addspace}%
   \usedriver
     {\DeclareNameAlias{sortname}{default}}
     {\thefield{entrytype}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

所以\megafootfullcite{wilde}给出了内容的脚注

[Wil99] 奥斯卡·王尔德。《认真的重要性:一部写给严肃人士的琐碎喜剧》。伦纳德·史密瑟斯出版社,1899 年。

\megafullcite在文本中打印字母标签并为完整的参考书目条目添加脚注。

\DeclareCiteCommand{\megafullcite}
  {\usebibmacro{prenote}}
  {\mkbibbrackets{\usebibmacro{cite}}%
   \mkbibfootnote{\usedriver
     {\DeclareNameAlias{sortname}{default}}%
     {\thefield{entrytype}}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

或者

\DeclareCiteCommand{\megafullcite}
  {\usebibmacro{prenote}}
  {\mkbibbrackets{\usebibmacro{cite}}%
   \mkbibfootnote{%
     \mkbibbrackets{\usebibmacro{cite}}%
     \setunit{\addspace}%
     \usedriver
       {\DeclareNameAlias{sortname}{default}}%
       {\thefield{entrytype}}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

以上两个版本的不同之处在于后者会将字母标签也放入脚注中,而前者不会在脚注中重复标签。

平均能量损失

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[british]{babel}
\usepackage{csquotes}
\usepackage[style=alphabetic]{biblatex}
\usepackage{hyperref}
\addbibresource{biblatex-examples.bib}

\DeclareCiteCommand{\megafootfullcite}[\mkbibfootnote]
  {\usebibmacro{prenote}}
  {\mkbibbrackets{\usebibmacro{cite}}%
   \setunit{\addspace}%
   \usedriver
     {\DeclareNameAlias{sortname}{default}}%
     {\thefield{entrytype}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}


\DeclareCiteCommand{\megafullcite}
  {\usebibmacro{prenote}}
  {\mkbibbrackets{\usebibmacro{cite}}%
   \mkbibfootnote{\usedriver
     {\DeclareNameAlias{sortname}{default}}%
     {\thefield{entrytype}}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\begin{document}
  Lorem ipsum\megafootfullcite{wilde} and \megafullcite{wilde}.

  Lorem ipsum\megafootfullcite{wilde,cicero} and \megafullcite{wilde,cicero}.

  \printbibliography
\end{document}

在此处输入图片描述

相关内容