cite 包:禁用仅一组引文标注的排序

cite 包:禁用仅一组引文标注的排序

使用该cite包时,如何才能阻止对一条引文进行自动排序?在

\documentclass{article}

\usepackage[nocompress,space]{cite}
\usepackage{hyperref}

\begin{document}

Sort this: \cite{2,3,1}. %print "[1, 2, 3]"

Do not sort this: \cite{2,3,1}. %print "[2, 3, 1]"

Sort this: \cite{2,3,1}. %print "[1, 2, 3]"

\begin{thebibliography}{9}

\bibitem{1}
\bibitem{2}
\bibitem{3}

\end{thebibliography}

\end{document}

我希望中间的引用打印为“[2, 3, 1]”,但第一个和最后一个引用打印为“[1, 2, 3]”。另外,我知道我将使用包hyperref以及nocompressspace选项cite

编辑:仅供参考,查看cite.sty,我尝试定义一个\citenosort命令并将其用于我不想排序的引用:

\documentclass{article}

\usepackage[nocompress,space]{cite}
\usepackage{hyperref}

\makeatletter
\newcommand{\citenosort}[1]{\begingroup\def\@addto@cite@list{\@cite@dump@now}\cite{#1}\endgroup}
\makeatother

\begin{document}

Sort this: \cite{2,3,1}. %print "[1, 2, 3]"

Do not sort this: \citenosort{2,3,1}. %print "[2, 3, 1]"

Sort this: \cite{2,3,1}. %print "[1, 2, 3]"

\begin{thebibliography}{9}

\bibitem{1}
\bibitem{2}
\bibitem{3}

\end{thebibliography}

\end{document}

在我的示例中,它似乎有效,但我不知道它可能有什么副作用。显然我的命令不能有可选参数。

答案1

您似乎希望原始\cite命令可用;这需要一些技巧。

\documentclass{article}

\makeatletter % save the original \@citex command
\let\latex@citex\@citex
\makeatother

\usepackage[nocompress,space]{cite}
\usepackage{hyperref}

\makeatletter % define \citenosort as the original \cite
\DeclareRobustCommand{\citenosort}{%
  \@ifnextchar[{\@tempswatrue\latex@citex}{\@tempswafalse\latex@citex[]}%
}
\begin{document}

Sort this: \cite{2,3,1}. %print "[1, 2, 3]"

Do not sort this: \citenosort{2,3,1}. %print "[2, 3, 1]"

Sort this: \cite{2,3,1}. %print "[1, 2, 3]"

\begin{thebibliography}{9}

\bibitem{1}

\bibitem{2}

\bibitem{3}

\end{thebibliography}

\end{document}

在此处输入图片描述

答案2

单独打印引用:

\documentclass{article}

\usepackage[nocompress,space]{cite}
\usepackage{hyperref}

\begin{document}

Sort this: \cite{2,3,1}. %print "[1, 2, 3]"

Do not sort this: \citeleft\citen{2}\citepunct\citen{3}\citepunct\citen{1}\citeright. %print "[2, 3, 1]"

Sort this: \cite{2,3,1}. %print "[1, 2, 3]"

\begin{thebibliography}{9}

\bibitem{1}
\bibitem{2}
\bibitem{3}

\end{thebibliography}

\end{document}

在此处输入图片描述

相关内容