可以引用一系列 bibitem 吗?

可以引用一系列 bibitem 吗?

假设我想引用一系列这样的作者:

[3-11]

当我写的\cite{bibitem3-bibitem11}时候,它无法在 LaTeX 中编译,所以我写了\cite{bibitem3,bibitem4,...,bibitem11}。但这太大了,不太好。我应该如何处理引用范围?

答案1

不应提及推荐人的名字bibitemn,但要使用简短但有意义的键,如作者 + 年份。没有真正好的方法来避免\cite{...}文本中的长调用。我不知道有适合这种情况的软件包,因为没有人使用这种命名方案。

如果你真的想这样做,你可以使用 for 循环,例如 提供的循环pgffor。它允许使用...来定义范围。请参阅前列腺素完整语法请参阅手册:

\documentclass{article}

\usepackage{pgffor}
\makeatletter
\newcommand*\rcite[1]{%
    \def\@gtempa{}%
    \foreach \n in {#1} {%
        \edef\@tempa{,bibitem\n}%
        \expandafter\g@addto@macro\expandafter\@gtempa
        \expandafter{\@tempa}%
    }%
    \edef\@gtempa{{\expandafter\@gobble\@gtempa}}%
    \expandafter\cite\@gtempa
}
\makeatother

\begin{document}

% 3-10
\rcite{3,...,10}

% 2, 5-10
\rcite{2,5,6,...,10}

% 3, 5, 7, 9
\rcite{3,5,...,10}

\end{document}

相关内容