我正在使用 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
在我看来这是一个非常标准的问题,但我找不到只针对这个问题的答案(有一些组合答案也包含了这个问题)。
使用authoryear
stle 时,\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}