BibLaTeX 允许创建条目集它由一系列引用组成,例如
@set{set1,
entryset = {member1, member2}
}
但是,当使用 引用这些内容时\cite{set1}
,所有参考文献在最终参考书目中都显示为单个项目。是否有选项可以将集合中的每个成员显示为单独的项目?本质上,我想实现与 相同的效果\cite{member1,member2}
,但引用集合名称而不是单个成员。
答案1
从评论中可以看出,条目集不是相关概念,你只是在寻找一个列出几个参考文献的简写。简单的 LaTeX 宏就足够了。只需定义
\newcommand{\myreflist}{key1,key2,...}
然后您可以使用\cite{\myreflist}
等来引用这些条目。
这里有一个例子,证明引用排序等功能仍然有效。
\documentclass{article}
\usepackage[sortcites=true]{biblatex}
\addbibresource{biblatex-examples.bib}
\newcommand{\myreflist}{westfahl:space,glashow,baez/article}
\begin{document}
Here some citations \cite{\myreflist}.
\printbibliography
\end{document}
答案2
您可以使用usebib
包装方式@egreg为此目的。软件包文档几乎包含了所有需要的解释,即以下步骤,应按顺序将其添加到序言中:
- 包括
\usepackage{usebib}
(加载后hyperref
); entryset
使用启用密钥\newbibfield{entryset}
;\bibinput{filename}
将其指向不使用扩展名的 bib 文件.bib
;entryset
然后您可以使用访问键的值\usebibentry{cite_key}{entryset}
。
总之,你可以通过 得到你想要的东西\cite{\usebibentry{set1}{entryset}
。当然,如果需要,你也可以定义一个简单的新命令来缩短这个命令,例如
\newcommand{\citeset}[1]{\cite{\usebibentry{#1}{entryset}}}
那么你就可以使用了\citeset{set1}
。下面是一个最小的工作示例。
测试文件
@misc{foo1,
author = {Foo, F. and Bar, B.},
year = {2021},
title = {Foo 1},
}
@misc{foo2,
author = {Foo, F. and Bar, B.},
year = {2021},
title = {Foo 2},
}
@set{foo,
entryset = {foo1, foo2}
}
测试.tex
\documentclass{article}
\usepackage{biblatex}
\addbibresource{test.bib}
\usepackage{usebib}
\newbibfield{entryset}
\bibinput{test}
\begin{document}
This is the entryset key: \usebibentry{foo}{entryset}
Here we cite foo as individual references.\autocite{\usebibentry{foo}{entryset}}
\printbibliography
\end{document}