Biblatex 中的 autocite + mcite 功能

Biblatex 中的 autocite + mcite 功能

使用 Biblatexautocite命令时,我有时会遇到需要将引文格式化为参考集的情况。可以使用mcite,但这样我就失去了 autocite 提供的高级标记,例如在 、 和 之间切换plaininline如果superscript我使用autociteautocites,每个参考文献都会在参考书目中获得自己的引文。有没有提供类似我在这个例子中所说的解决方案的解决方案\mautocite

\usepackage[backend=biber,mcite,subentry,autocite=plain]{biblatex}
...
\begin{document}
Some text here\autocite{key1}. More text here\mautocite{set1,*key2,*key3,*key4}. 

Cite a subentry\autocite{key3}.

\end{document

在文本中,它看起来是

此处有一些文本 [1]。此处有更多文本 [2]。

引用子条目 [2b].

这将在参考书目中给出两个条目,其中第二个参考 [2] 将是一个集合。有没有办法让 biblatex 做到这一点?

答案1

类似 mcite 的命令在 biblatex 模块中定义blx-mcite.def。在那里你会发现一个引用命令修饰符\mcitelike,用法如下。

\newrobustcmd*{<new mcite command>}{\mcitelike<existing citation command>}

mcite-like\autocite有点奇怪,因为\autocite它旨在与样式无关,但 mcite-like 命令仅与数字引用样式相关。也就是说,你可以使用\autocite以下方式定义 mcite 变体:

\newrobustcmd*{\mautocite}{\mcitelike\autocite}

这是一个例子。

\documentclass{article}
\usepackage[backend=biber,style=numeric,mcite,subentry,autocite=superscript]{biblatex}

% just for demo
\ExecuteBibliographyOptions{firstinits,sorting=none}

% define mcite-like variant of \autocite
\newrobustcmd*{\mautocite}{\mcitelike\autocite}

\addbibresource{biblatex-examples.bib}
\begin{document}
\mtextcite{companion,bertram,knuth,*knuth:ct:a,*knuth:ct:b} showed that...
Filler text \autocite{knuth:ct:a}.
Filler text \mautocite{model,*weinberg,*glashow}. 
Filler text \autocite{weinberg}.
\printbibliography
\end{document}

在此处输入图片描述

请注意,这\mtextcite{companion,bertram,knuth,*knuth:ct:a,*knuth:ct:b}相当于:

\defbibentryset{knuth}{knuth:ct:a,knuth:ct:b}
\textcite{companion,bertram,knuth}

类似地\mautocite{model,*weinberg,*glashow}变成:

\defbibentryset{model}{weinberg,glashow}
\autocite{model}

更多详细信息请参阅 biblatex 手册中的“mcite 类引用命令”和“动态条目集”部分。版本 1.1 和 2.7 之间引入/修复了各种标签编号和条目集错误,因此您应该升级到最新的 biblatex 和 biber 版本以使所有相关功能正常运行。

答案2

对于这种类型,biblatex 提供了设置条目:

@SET{a-set,
     entryset={key2,key3,key4},
    }

在您的示例中,这将如下所示:

\usepackage[backend=biber,mcite,subentry,autocite=plain}
...
\begin{document}
Some text here\autocite{key1}. More text here\autocite{a-set}. 

Cite a subentry\autocite{key3}.

\end{document}

相关内容