这就是问题所在。
我有一份文档的正文,其中包括文档后面的引用,比如说\cite{ref20}
。
我的一个图题中有\cite{ref20}
。现在给出的编号完全取决于 在该文档中ref20
的位置。figure
我想要的是无论图形的位置如何,编号都是相同的,以便所有图形都分组在末尾的版本具有相同的编号。
有任何想法吗?
答案1
如果 BibTeX 样式按首次出现顺序排列引用,那么您必须确保首次出现顺序符合您的要求。理论上可以使用 来实现\nocite
,但在最坏的情况下,这意味着您必须将\nocite
所有引用的声明以正确的顺序放入序言中。因此,这很可能不是一个好选择。
作为替代方案,您可以确保某个引用不会被 BibTeX 看到,换句话说,不会在文件中产生条目.aux
。当然,这只有当该引用至少一次以常规方式在文档中的某处被引用时才有效,但根据您的问题,情况确实如此。
以下是实现该功能的代码:
\documentclass{article}
\makeatletter
\def\ignorecitefornumbering#1{%
\begingroup
\@fileswfalse
#1% % do \cite comand
\endgroup
}
\makeatother
\begin{document}
\cite{foo}
\ignorecitefornumbering{\cite{bar}}
\cite{baz}
\cite{bar}
\end{document}
在 的参数中,\ignorecitefornumbering
您可以放置要使用的引用命令。当然,您可以将其更改为甚至\cite
在内部包含命令,但这样您要么需要处理可选参数,要么没有可用的参数。此外,在这种情况下,替代引用命令(natbib
例如来自 )将不起作用。所以我想上面的方法实际上是更好的方法。
如果你运行这个,那么你的.aux
文件将包含
\relax
\citation{foo}
\citation{baz}
\citation{bar}
即,第一个引用bar
没有出现。