\documentclass[pagesize=auto, parskip=half, fontsize=12pt, DIV=9]{scrartcl} \usepackage{fixltx2e} \usepackage{etex} \usepackage{xspace} \usepackage{lmodern} \usepackage[T1]{fontenc} \usepackage{textcomp} \usepackage{microtype} \usepackage{hyperref} \newcommand*{\mail}[1]{\href{mailto:#1}{\texttt{#1}}} \newcommand*{\pkg}[1]{\textsf{#1}} \newcommand*{\cs}[1]{\texttt{\textbackslash#1}} \makeatletter \newcommand*{\cmd}[1]{\cs{\expandafter\@gobble\string#1}} \makeatother \addtokomafont{title}{\rmfamily} \title{The \pkg{notoccite} package} \author{Donald Arseneau\thanks{\mail{asnd@triumf.ca}; TRIUMF, Vancouver, Canada}} \date{Jul 20, 2000} \begin{document} \maketitle \noindent Ordinarily, cites used in titles or figure captions also appear in the table of contents and list of figures. If you then run \texttt{bibtex} using the \pkg{unsrt} (unsorted) style, they get numbered starting from 1, not the number they should have in the main text. A good option is to avoid cites in titles, and to specify optional caption text without cites:\\[0.4ex] \small \verb+\caption [Picture of a bird.]{Picture of a bird \cite{audobon}.}+ \normalsize If you must use moving cites, you could manage them by deleting \textsc{toc} and \textsc{lof} files, then running \texttt{latex} once, then \texttt{bibtex}\@. However, the following definition fixes the problem so you don't need to worry about that. \emph{NOTE:} This definition works for the ordinary \LaTeX\ definitions for \cmd{\cite} and others (\cmd{\addtocontents}, \cmd{\label}) but it may well fail when used with various packages for citations or cross references. It works by locally setting \cmd{\@fileswfalse}, which is something like \cmd{\nofiles}, but \cmd{\@fileswfalse} does not affect \cmd{\label} or \cmd{\addtocontents}. \cmd{\nofiles} does most of its work by redefining \cmd{\protected@write}, and neither \cmd{\addtocontents} nor \cmd{\label} check for \cs{if@filesw}. \cmd{\cite} \emph{does} check \cs{if@filesw}. \end{document}