![同一括号内有多个引用](https://linux22.com/image/288849/%E5%90%8C%E4%B8%80%E6%8B%AC%E5%8F%B7%E5%86%85%E6%9C%89%E5%A4%9A%E4%B8%AA%E5%BC%95%E7%94%A8.png)
假设我在同一处引用了两个
\cite{ref1}, \cite{ref2}
它看起来就像
[1], [2]
有时我会看到类似这样的引用
[1, 2]
在 TeX 中如何实现这一点?此外,我什么时候应该使用其中一个而不是另一个?
答案1
可以使用以下方法在同一位置实现多次引用
\cite{ref1,ref2,...}
有些书目样式(ieee
例如)会将多个引用(即 [1,2])转换为 [1], [2]。因此,对于第二部分,这是所用样式和习惯的问题。
答案2
只需将多个源放入\cite{}
参数字段内:
\documentclass{article}
\usepackage[]{biblatex}
\addbibresource{refs.bib} %Import the bibliography file
\begin{document}
multiple citation example: \cite{article1,article2,article3}
\end{document}
输出:
citestyle=
您可以通过指定包内的选项来选择数字样式的变体{biblatex}
,例如:
\usepackage[citestyle=numeric-comp,]{biblatex}
还有单独查看的选项:
\usepackage[citestyle=numeric-verb,]{biblatex}
答案3
如果你想包含页码,你可以使用 BibLaTex 的\cites
命令(如所述这里) 或者您可以使用 BibTex 包xparse
并定义您自己的命令。
\usepackage{xparse}
% Takes up to 4 pairs of citations with optional page reference
\NewDocumentCommand{\multicite}{ogogogog}{%
\citetext{%
\IfValueT{#2}{%
\IfValueT{#1}{\citealp[p.~#1]{#2}}%
\IfNoValueT{#1}{\citealp{#2}}%
}%
\IfValueT{#4}{%
;
\IfValueT{#3}{\citealp[p.~#3]{#4}}%
\IfNoValueT{#3}{\citealp{#4}}%
}%
\IfValueT{#6}{%
;
\IfValueT{#5}{\citealp[p.~#5]{#6}}%
\IfNoValueT{#5}{\citealp{#6}}%
}%
\IfValueT{#8}{%
;
\IfValueT{#7}{\citealp[p.~#7]{#8}}%
\IfNoValueT{#7}{\citealp{#8}}%
}%
}
}
用法示例:
\multicite[1]{Sjostrom2018}{Kerly2007}[3]{Winkler2019}
导致:
(Sjöström 等人,2018 年,第 1 页;Kerly 等人,2007 年;Winkler und Roos,2019 年,第 3 页)