biblatex,编辑 \footcite 命令

biblatex,编辑 \footcite 命令

我正在使用 biblatex 包。对于我的论文,我对页脚中的引用有以下要求:

参见“作者姓氏”(“年份”)、“页数”。

脚注示例:参见 Miller (2010),第 3 页。

脚注引用示例:参见 Miller (2010),第 3 页;Martin (2008),第 23 页;Matthew (2000),第 44 页。

我分别使用\footcite[pre][post]{citekey}\footcites(pre)(post)[pre][post]{citekey}...[pre][post]{citekey}命令,但它没有提供“年份”周围的括号,其他一切都很好。

我找到了一种解决方法\footnote{See \textcite{citekey}, "pages".},它可以生成我所需要的内容,但是这个解决方案对于标点符号来说不方便。

因此:是否有任何解决方案可以自定义上述命令?我在这里发现了一些类似的问题,但对我没有任何帮助。

编辑:MWE:编辑 2:实际上我使用 BibDesk 来组织我的参考资料,但是我现在使用了 filecontents 包。现在每个人都应该能够编译它。

\documentclass[toc=listof,12p,bibintoc]{scrreprt}
\usepackage[backend=bibtex,style=authoryear]{biblatex}

\addbibresource{example.bib} 
\RequirePackage{filecontents}

\begin{filecontents}{example.bib}
@article{example2,
Author = {Author2},
Date-Added = {2014-11-10 20:00:20 +0000},
Date-Modified = {2014-11-10 20:01:29 +0000},
Journal = {Journal2},
Title = {Title2},
Year = {2012}}

@article{example1,
Author = {Author1},        
Date-Added = {2014-11-10 20:00:07 +0000},
Date-Modified = {2014-11-10 20:01:10 +0000},
Journal = {Journal1},
Title = {Title1},
Year = {2010}}

@article{example3,
Author = {Author3},
Date-Added = {2014-11-10 19:59:11 +0000},
Date-Modified = {2014-11-10 20:00:40 +0000},
Journal = {Journal2},
Title = {Title2},
Year = {2014}}
\end{filecontents}

\begin{document}
footcite\footcite[See][p. 30]{example1}
footcites\footcites(See)(){example1}{example2}{example3}

\printbibliography[heading=bibintoc]

\end{document}    

下面是两个命令和页脚输出的示例: 在此处输入图片描述 在此处输入图片描述

一切都很好,只是缺少“年份”周围的括号。

提前致谢!

答案1

在我看来这是一个非常标准的问题,但我找不到只针对这个问题的答案(有一些组合答案也包含了这个问题)。

使用authoryearstle 时,\footcite使用 bibmacro cite(它可能对几乎所有标准样式都这样做),因此我们对其进行修改以在年份周围添加括号。(这也会以正常方式\cite和 in \parencite(但不在\textcite)的方式在年份周围添加括号 - 如果您不想要这样,则需要做更多的工作。)我还添加了一个检查,如果没有年份,则抑制括号 - 毕竟,我们不想以一对空括号结束。

cite变为(在末尾添加并更改了相关行)

\renewbibmacro*{cite}{%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
       {\usebibmacro{cite:label}%
        \setunit{\printdelim{nonameyeardelim}}}
       {\printnames{labelname}%
        \setunit{\printdelim{nameyeardelim}}}%
     \iffieldundef{labelyear}
       {}
       {\printtext[parens]{\usebibmacro{cite:labeldate+extradate}}}}
    {\usebibmacro{cite:shorthand}}}

平均能量损失

\documentclass{article}
\usepackage[style=authoryear]{biblatex}

\addbibresource{biblatex-examples.bib} 

\renewbibmacro*{cite}{%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
       {\usebibmacro{cite:label}%
        \setunit{\printdelim{nonameyeardelim}}}
       {\printnames{labelname}%
        \setunit{\printdelim{nameyeardelim}}}%
     \iffieldundef{labelyear}
       {}
       {\printtext[parens]{\usebibmacro{cite:labeldate+extradate}}}}
    {\usebibmacro{cite:shorthand}}}

\begin{document}
footcite\footcite[See][30]{wilde}
footcites\footcites(See)(){companion}{knuth:ct:a}{knuth:ct:b}

\printbibliography[heading=bibintoc]
\end{document}  

在此处输入图片描述

相关内容