|  | %%% Build instructions | 
|  | %%% pdflatex -shell-escape ceres && bibtex ceres && pdflatex -shell-escape ceres && pdflatex -shell-escape ceres | 
|  |  | 
|  | \documentclass[11pt,letterpaper,oneside]{memoir} | 
|  | \usepackage{fouriernc} | 
|  | \usepackage[T1]{fontenc} | 
|  | \usepackage{minted,amsmath,amssymb,amsthm,url,booktabs} | 
|  | \usepackage[pdftex]{graphicx} | 
|  | \usepackage[sort&compress]{natbib} | 
|  | \usepackage[breaklinks=true,letterpaper=true,colorlinks,bookmarks=false]{hyperref} | 
|  | \usepackage{algorithm} | 
|  | \usepackage{algorithmic} | 
|  |  | 
|  | % page dimensions | 
|  | \addtolength{\textwidth}{1.5in} | 
|  | \addtolength{\oddsidemargin}{-0.75in} | 
|  | \addtolength{\evensidemargin}{-0.75in} | 
|  | \addtolength{\spinemargin}{-0.75in} | 
|  | \addtolength{\foremargin}{-0.75in} | 
|  | \setlength{\parindent}{0.0in} | 
|  | \setlength{\parskip}{0.12in} | 
|  |  | 
|  | % Our pagestyle | 
|  | \copypagestyle{ceres}{headings} | 
|  | \makeevenhead{ceres}{\thepage}{}{\scshape\rightmark} | 
|  | \makeoddhead{ceres}{\scshape\rightmark}{}{\thepage} | 
|  |  | 
|  | %% ceres chapter style | 
|  | \makechapterstyle{ceres}{% | 
|  | \renewcommand{\chapterheadstart}{}% | 
|  | \renewcommand{\printchaptername}{}% | 
|  | \renewcommand{\chapternamenum}{}% | 
|  | \renewcommand{\printchapternum}{}% | 
|  | \renewcommand{\afterchapternum}{}% | 
|  | \renewcommand{\printchaptertitle}[1]{% | 
|  | \raggedright\Large\scshape\MakeLowercase{##1}}% | 
|  | \renewcommand{\afterchaptertitle}{% | 
|  | \vskip\onelineskip \hrule\vskip\onelineskip}% | 
|  | }% | 
|  | \renewcommand{\cftchapterfont}{\normalfont}% | 
|  | \renewcommand{\cftchapterpagefont}{\normalfont}% | 
|  | \renewcommand{\cftchapterpresnum}{\bfseries}% | 
|  | \renewcommand{\cftchapterleader}{}% | 
|  | \renewcommand{\cftchapterafterpnum}{\cftparfillskip}% | 
|  |  | 
|  |  | 
|  | %% Section title style | 
|  | \setsecheadstyle{\raggedright\scshape\MakeLowercase}% | 
|  | \setbeforesecskip{-\onelineskip}% | 
|  | \setaftersecskip{\onelineskip}% | 
|  |  | 
|  | %% Subsection title style | 
|  |  | 
|  | \setsubsecheadstyle{\sethangfrom{\noindent ##1}\raggedright\itshape}% | 
|  | \setbeforesubsecskip{-\onelineskip}% | 
|  | \setaftersubsecskip{\onelineskip}% | 
|  |  | 
|  | \captiontitlefont{\small\sffamily}% | 
|  | \let\caption\legend | 
|  |  | 
|  |  | 
|  | \title{\Huge\scshape | 
|  | \MakeLowercase{Ceres Solver:  Tutorial \& Reference} | 
|  | } | 
|  | \author{ | 
|  | \scshape\MakeLowercase{Sameer Agarwal} \\ \texttt{sameeragarwal@google.com} | 
|  | \and | 
|  | \scshape\MakeLowercase{Keir Mierle} \\  \texttt{ keir@google.com} | 
|  | } | 
|  | \checkandfixthelayout | 
|  |  | 
|  | \pagestyle{ceres} | 
|  |  | 
|  | \newcommand{\ceres}{{Ceres }} | 
|  | \newcommand{\reals}{\mathbb{R} } | 
|  | \def\eg{\emph{e.g. }} | 
|  | \def\ie{\emph{i.e. }} | 
|  | \newcommand{\glog}{\texttt{google-glog}} | 
|  | \newcommand{\gflags}{\texttt{gflags}} | 
|  | \newcommand{\eigen}{\texttt{Eigen3}} | 
|  | \newcommand{\suitesparse}{\texttt{SuiteSparse}} | 
|  | \newcommand{\cholmod}{\texttt{CHOLMOD}} | 
|  | \newcommand{\amd}{\texttt{AMD}} | 
|  | \newcommand{\colamd}{\texttt{COLAMD}} | 
|  | \newcommand{\lapack}{\texttt{LAPACK}} | 
|  | \newcommand{\blas}{\texttt{BLAS}} | 
|  | \newcommand{\denseschur}{\texttt{DENSE\_SCHUR}} | 
|  | \newcommand{\sparseschur}{\texttt{SPARSE\_SCHUR}} | 
|  | \newcommand{\iterativeschur}{\texttt{ITERATIVE\_SCHUR}} | 
|  | \newcommand{\cmake}{\texttt{cmake}} | 
|  | \newcommand{\protobuf}{\texttt{protobuf}} | 
|  | \settocdepth{chapter} | 
|  |  | 
|  | \begin{document} | 
|  | \chapterstyle{ceres} | 
|  | \maketitle | 
|  | \thispagestyle{empty} | 
|  | \newpage | 
|  | \pagestyle{ceres} | 
|  | \tableofcontents | 
|  | \newpage | 
|  |  | 
|  | \chapter{A Note to the Reader} | 
|  | Building this pdf from source requires a relatively recent installation of \texttt{LaTeX}~\footnote{\url{http://www.tug.org/texlive/}}, \texttt{minted.sty}\footnote{\url{http://code.google.com/p/minted/}} and \texttt{pygments}\footnote{\url{http://pygments.org/}}. | 
|  |  | 
|  | Despite our best efforts, this manual remains a work in progress and the source code for Ceres Solver remains the ultimate reference. | 
|  |  | 
|  | \input{changes} | 
|  | \input{introduction} | 
|  | \input{build} | 
|  |  | 
|  | %% Tutorial | 
|  | \part{Tutorial} | 
|  | \label{part:tutorial} | 
|  | \input{nnlsq} | 
|  | \input{helloworld} | 
|  | \input{powell} | 
|  | \input{curvefitting} | 
|  | \input{bundleadjustment} | 
|  |  | 
|  | %% Reference | 
|  | \part{Reference} | 
|  | \label{part:reference} | 
|  | \input{reference-overview} | 
|  | \input{modeling} | 
|  | \input{solving} | 
|  |  | 
|  | \input{faq} | 
|  | \input{further} | 
|  | \bibliographystyle{plain} | 
|  | \bibliography{ceres} | 
|  | \end{document} |