\documentclass[twoside]{book}

% Packages required by doxygen
\usepackage{fixltx2e}
\usepackage{calc}
\usepackage{doxygen}
\usepackage[export]{adjustbox} % also loads graphicx
\usepackage{graphicx}
\usepackage[utf8]{inputenc}
\usepackage{makeidx}
\usepackage{multicol}
\usepackage{multirow}
\PassOptionsToPackage{warn}{textcomp}
\usepackage{textcomp}
\usepackage[nointegrals]{wasysym}
\usepackage[table]{xcolor}

% Font selection
\usepackage[T1]{fontenc}
\usepackage[scaled=.90]{helvet}
\usepackage{courier}
\usepackage{amssymb}
\usepackage{sectsty}
\renewcommand{\familydefault}{\sfdefault}
\allsectionsfont{%
  \fontseries{bc}\selectfont%
  \color{darkgray}%
}
\renewcommand{\DoxyLabelFont}{%
  \fontseries{bc}\selectfont%
  \color{darkgray}%
}
\newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}}

% Page & text layout
\usepackage{geometry}
\geometry{%
  a4paper,%
  top=2.5cm,%
  bottom=2.5cm,%
  left=2.5cm,%
  right=2.5cm%
}
\tolerance=750
\hfuzz=15pt
\hbadness=750
\setlength{\emergencystretch}{15pt}
\setlength{\parindent}{0cm}
\setlength{\parskip}{3ex plus 2ex minus 2ex}
\makeatletter
\renewcommand{\paragraph}{%
  \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
    \normalfont\normalsize\bfseries\SS@parafont%
  }%
}
\renewcommand{\subparagraph}{%
  \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
    \normalfont\normalsize\bfseries\SS@subparafont%
  }%
}
\makeatother

% Headers & footers
\usepackage{fancyhdr}
\pagestyle{fancyplain}
\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}}
\fancyhead[CE]{\fancyplain{}{}}
\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}}
\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}}
\fancyhead[CO]{\fancyplain{}{}}
\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}}
\fancyfoot[LE]{\fancyplain{}{}}
\fancyfoot[CE]{\fancyplain{}{}}
\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }}
\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }}
\fancyfoot[CO]{\fancyplain{}{}}
\fancyfoot[RO]{\fancyplain{}{}}
\renewcommand{\footrulewidth}{0.4pt}
\renewcommand{\chaptermark}[1]{%
  \markboth{#1}{}%
}
\renewcommand{\sectionmark}[1]{%
  \markright{\thesection\ #1}%
}

% Indices & bibliography
\usepackage{natbib}
\usepackage[titles]{tocloft}
\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{5}
\makeindex

% Hyperlinks (required, but should be loaded last)
\usepackage{ifpdf}
\ifpdf
  \usepackage[pdftex,pagebackref=true]{hyperref}
\else
  \usepackage[ps2pdf,pagebackref=true]{hyperref}
\fi
\hypersetup{%
  colorlinks=true,%
  linkcolor=blue,%
  citecolor=blue,%
  unicode%
}

% Custom commands
\newcommand{\clearemptydoublepage}{%
  \newpage{\pagestyle{empty}\cleardoublepage}%
}

\usepackage{caption}
\captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top}

%===== C O N T E N T S =====

\begin{document}

% Titlepage & ToC
\hypersetup{pageanchor=false,
             bookmarksnumbered=true,
             pdfencoding=unicode
            }
\pagenumbering{alph}
\begin{titlepage}
\vspace*{7cm}
\begin{center}%
{\Large libebml\+\_\+ng }\\
\vspace*{1cm}
{\large Generated by Doxygen 1.8.14}\\
\end{center}
\end{titlepage}
\clearemptydoublepage
\pagenumbering{roman}
\tableofcontents
\clearemptydoublepage
\pagenumbering{arabic}
\hypersetup{pageanchor=true}

%--- Begin generated contents ---
\chapter{Namespace Index}
\input{namespaces}
\chapter{Hierarchical Index}
\input{hierarchy}
\chapter{Class Index}
\input{annotated}
\chapter{File Index}
\input{files}
\chapter{Namespace Documentation}
\input{namespaceebml}
\chapter{Class Documentation}
\input{classebml_1_1ebmlMultiSlot_1_1__const__iterator}
\input{classebml_1_1ebmlPair_1_1__const__iterator}
\input{classebml_1_1ebmlMasterElement_1_1__const__iterator}
\input{classebml_1_1ebmlMap_1_1__const__iterator}
\input{classebml_1_1ebmlList_1_1__const__iterator}
\input{classebml_1_1ebmlMasterElement_1_1__iterator}
\input{classebml_1_1ebmlMultiSlot_1_1__iterator}
\input{classebml_1_1ebmlPair_1_1__iterator}
\input{classebml_1_1ebmlList_1_1__iterator}
\input{classebml_1_1ebmlMap_1_1__iterator}
\input{classebml_1_1c__ebmlElement__l}
\input{classebml_1_1childClassSpec__t}
\input{structebml_1_1childClassSpecArg__t}
\input{classebml_1_1childSlot__t}
\input{classebml_1_1childSlot__t_3_01ebmlElement_01_4}
\input{classebml_1_1ebmlMasterElement_1_1const__iterator}
\input{classebml_1_1c__ebmlElement__l_1_1const__iterator}
\input{classebml_1_1const__slot__t}
\input{classebml_1_1ebmlDataContinues}
\input{classebml_1_1ebmlDataElement}
\input{classebml_1_1ebmlDataElement_3_01const_01T_01_4}
\input{classebml_1_1ebmlDataElementClass}
\input{classebml_1_1ebmlDataElementClass_3_01const_01T_01_4}
\input{classebml_1_1ebmlDecodeError}
\input{classebml_1_1ebmlDocument}
\input{classebml_1_1ebmlElement}
\input{classebml_1_1ebmlElementClass}
\input{classebml_1_1ebmlEncodeError}
\input{classebml_1_1ebmlException}
\input{classebml_1_1ebmlFormatError}
\input{classebml_1_1ebmlInvalidVint}
\input{classebml_1_1ebmlLazyLoad}
\input{classebml_1_1ebmlLazyLoadClass}
\input{classebml_1_1ebmlList}
\input{classebml_1_1ebmlListClass}
\input{classebml_1_1ebmlMap}
\input{classebml_1_1ebmlMapClass}
\input{classebml_1_1ebmlMasterElement}
\input{classebml_1_1ebmlMasterElementClass}
\input{classebml_1_1ebmlMultiSlot}
\input{classebml_1_1ebmlMultiSlotClass}
\input{classebml_1_1ebmlNoChildMatch}
\input{classebml_1_1ebmlNoMatch}
\input{classebml_1_1ebmlNotImplementedError}
\input{classebml_1_1ebmlPair}
\input{classebml_1_1ebmlPairClass}
\input{classebml_1_1ebmlSchema}
\input{classebml_1_1ebmlUnexpectedEndOfData}
\input{classebml_1_1ebmlVoid}
\input{classebml_1_1ebmlVoidClass}
\input{classebml_1_1ebmlWriteError}
\input{classebml_1_1flexible__ptr}
\input{classebml_1_1io}
\input{classebml_1_1ioBase}
\input{classebml_1_1slot__t_1_1iterator}
\input{classebml_1_1ebmlMasterElement_1_1iterator}
\input{classebml_1_1parseString_1_1iterator}
\input{classebml_1_1parseFile_1_1iterator}
\input{classebml_1_1const__slot__t_1_1iterator}
\input{classebml_1_1localReadLock__t}
\input{classebml_1_1localWriteLock__t}
\input{structebml_1_1occurSpec__t}
\input{classebml_1_1parseFile}
\input{classebml_1_1parseString}
\input{classebml_1_1query__t}
\input{structebml_1_1range__t}
\input{classebml_1_1seekData__t}
\input{classebml_1_1seekDataWithKey__t}
\input{classebml_1_1seekMap}
\input{classebml_1_1seekMapBase}
\input{structebml_1_1sizetree__t}
\input{classebml_1_1slot__t}
\input{classebml_1_1slotArg__t}
\input{classebml_1_1slotSpec__t}
\input{classebml_1_1stopIteration}
\input{classebml_1_1unicodeDecodeError}
\input{classebml_1_1unicodeEncodeError}
\input{classebml_1_1upgradedLock__t}
\chapter{File Documentation}
\input{libebml__ng_8h}
\input{basictypes_8h}
\input{dataelement_8h}
\input{document_8h}
\input{ebmlID__t_8h}
\input{element_8h}
\input{elementcls_8h}
\input{exceptions_8h}
\input{flexptr_8h}
\input{forwards_8h}
\input{head_8h}
\input{io_8h}
\input{parsing_2io_8h}
\input{__fd_8h}
\input{__stdio_8h}
\input{fd_8h}
\input{stdio_8h}
\input{base_8h}
\input{childslot_8h}
\input{lazyload_8h}
\input{list_8h}
\input{map_8cpp}
\input{map_8h}
\input{map2_8h}
\input{multislot_8h}
\input{pair_8h}
\input{io__noseek_8h}
\input{string_8h}
\input{ptrs_8h}
\input{repr_8h}
\input{schema_8h}
\input{seekdata_8h}
\input{struct_8h}
\input{binary_8h}
\input{datetime_8h}
\input{double_8h}
\input{ll_8h}
\input{ull_8h}
\input{unicode_8h}
\input{vint_8h}
\input{void_8h}
%--- End generated contents ---

% Index
\backmatter
\newpage
\phantomsection
\clearemptydoublepage
\addcontentsline{toc}{chapter}{Index}
\printindex

\end{document}
