让 BibTeX 忽略图片标题中的引用编号

让 BibTeX 忽略图片标题中的引用编号

这就是问题所在。

我有一份文档的正文,其中包括文档后面的引用,比如说\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没有出现。

相关内容