I am having problem with my bibtex reference number. The number does not increase in order as you can see from the screenshot below. The index goes from 1 to 3, 4, 5, and back to 2.
Sorry in advance for the lengthy question, I have tried to trim it down. I have attached my simplified latex files below.
As you can see from the source files, there are two figures, removal of any of these figures would eliminate the problem (but I need these images).
if I comment out the "List of Figure" The problem will also disappear. Again, I still need this section. Please help me to figure out what has gone wrong.
The entire source file can be taken from https://www.dropbox.com/s/o6648xgozxnxxfs/BibtexProblem_Question.zip?n=50499474
\documentclass[a4paper, 11pt, oneside]{Thesis} % Use the "Thesis" style, based on the ECS Thesis style by Steve Gunn
%\documentclass{book} % Use the "Thesis" style, based on the ECS Thesis style by Steve Gunn
\usepackage[square, numbers, comma, sort&compress]{natbib} % Use the "Natbib" style for the references in the Bibliography
\usepackage{verbatim} % Needed for the "comment" environment to make LaTeX comments
\usepackage{vector} % Allows "\bvec{}" and "\buvec{}" for "blackboard" style 6
\usepackage{amssymb}
\begin{document}
\lhead{\emph{List of Figures}} % Set the left side page header to "List if Figures"
\listoffigures % Write out the List of Figures
\mainmatter % Begin normal, numeric (1,2,3...) page numbering
\pagestyle{fancy}
%\input{Chapter1} % Introduction
This is the first \cite{Ackermann02}
\begin{figure}[h]
\centering
\includegraphics[width = 0.4\textwidth]{Figure1.jpg}
\caption{Figure1 \cite{Ackermann02}. }
\label{fig:Figure1}
\end{figure}
This is the second \cite{Esteban04, Remondino06, Nguyen12}.
Sixth is this \cite{Olsen09}.
\begin{figure}[h]
\centering
\includegraphics[scale=1.0]{Figure2.eps}
\hspace{ 5.5 mm}\caption{ (taken from \cite{Olsen09}). }
\label{fig:Figure2}
\end{figure}
\label{Bibliography}
\lhead{\emph{Bibliography}} % Change the left side page header to "Bibliography"
\bibliographystyle{unsrtnat} % Use the "unsrtnat" BibTeX style for formatting the Bibliography
\bibliography{Bibliography} % The references (bibliography) information are stored in the file named "Bibliography.bib"
\end{document} % The End
This latex file use an external thesis class,
%%
%% This is file `Thesis.cls', based on 'ECSthesis.cls', by Steve R. Gunn
%% generated with the docstrip utility.
%%
%% Created by Steve R. Gunn, modified by Sunil Patel: www.sunilpatel.co.uk
\NeedsTeXFormat{LaTeX2e}[1996/12/01]
\ProvidesClass{Thesis}
[2007/22/02 v1.0
LaTeX document class]
\def\baseclass{book}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\baseclass}}
\def\@checkoptions#1#2{
\edef\@curroptions{\@ptionlist{\@currname.\@currext}}
\@tempswafalse
\@tfor\@this:=#2\do{
\@expandtwoargs\in@{,\@this,}{,\@curroptions,}
\ifin@ \@tempswatrue \@break@tfor \fi}
\let\@this\@empty
\if@tempswa \else \PassOptionsToClass{#1}{\baseclass}\fi
}
\@checkoptions{11pt}{{10pt}{11pt}{12pt}}
\PassOptionsToClass{a4paper}{\baseclass}
\ProcessOptions\relax
\LoadClass{\baseclass}
\newcommand\bhrule{\typeout{------------------------------------------------------------------------------}}
\newcommand\btypeout[1]{\bhrule\typeout{\space #1}\bhrule}
\usepackage{setspace}
\usepackage{vmargin}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage{epstopdf}
\usepackage[scriptsize]{subfigure}
\usepackage{booktabs}
\usepackage{rotating}
\usepackage{listings}
\usepackage{lstpatch}
\usepackage[pdfpagemode={UseOutlines},bookmarks=true,bookmarksopen=true,
bookmarksopenlevel=0,bookmarksnumbered=true,hypertexnames=false,
colorlinks,linkcolor={blue},citecolor={blue},urlcolor={red},
pdfstartview={FitV},unicode,breaklinks=true]{hyperref}
\pdfstringdefDisableCommands{
\let\\\space
}
\addtocounter{secnumdepth}{1}
\setcounter{tocdepth}{3}
\newcounter{dummy}
\newcommand\addtotoc[1]{
\refstepcounter{dummy}
\addcontentsline{toc}{chapter}{#1}}
\renewcommand\listoffigures{
\btypeout{List of Figures}
\addtotoc{List of Figures}
\begin{spacing}{1}{
\setlength{\parskip}{1pt}
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse
\fi
\chapter*{\listfigurename
\@mkboth{\MakeUppercase\listfigurename}
{\MakeUppercase\listfigurename}}
\@starttoc{lof}
\if@restonecol\twocolumn\fi
\cleardoublepage
}\end{spacing}
}
and the bibtex file
@unpublished{Ackermann02,
author = "Author One",
title = "modelling",
note = "Available at",
year = 2000}
@book{Esteban04,
author = "Author Two",
title = "Title Two",
publisher = "Publisher 2",
address = "",
year = "2000"
}
@book{Nguyen12,
author = "Author three",
title = "Title Three",
publisher = "Publisher 3",
address = "",
year = "2000"
}
@article{Remondino06,
author = {Author Four},
journal = {The Photogrammetric Record},
title = {Title four},
volume = {20},
year = {2000}
}
@article{Olsen09,
author = {Author Five},
title = {Title Six},
journal = {Computers and Graphics},
volume = {31},
year = {2000},
pages = {0--10}
}
Best Answer
Since you put
\listoffigures
before your\cite
commands, the first two cited references are the ones inside the\caption
s.So they appear in the following order:
Moving
\listoffigures
at the end of the document solves the problem.If you can not move
\listoffigures
at the end of the document, you can\nocite
the references in the right order just after\begin{document}
:There are still two possibilities:
\caption{ (taken from \cite{Olsen09}). }
with\caption[Fig. 2]{ (taken from \cite{Olsen09}). }
. This way the corresponding\cite
is not collected..bib
file, put the references in the exact order they have to appear in the 'Bibliography' and put\nocite{*}
just after\begin{document}
. Anyaway, note that in this case all the references included in the.bib
file will be printed, even the ones you have not\cite
d...