18e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% $Id$
28e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\documentclass[12pt,paper=a4]{scrartcl}
38e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
48e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
58e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% Packages
68e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
78e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
88e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% ...
98e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels%\usepackage[margin=3cm]{geometry}
108e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\usepackage{a4wide}
118e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
128e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% ...
138e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\usepackage[english]{babel}
148e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
158e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels%\usepackage[latin1]{inputenc}
168e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels%\usepackage[T1]{fontenc}
178e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
188e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% Do not indent paragraphs, instead separate them via vertical spacing
198e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\usepackage{parskip}
208e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
218e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% Support for graphics, provides \includegraphics
228e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\usepackage{graphicx}
238e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels%\graphicspath{{images/}}	% Specify subdir containing the images
248e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
258e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% Hyperref enriches the generated PDF with clickable links,
268e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% and provides many other useful features.
278e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\usepackage{nameref}
288e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\usepackage[colorlinks]{hyperref}
298e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\def\sectionautorefname{Section}	% Write section with capital 'S'
308e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\def\subsectionautorefname{Subsection}	% Write subsection with capital 'S'
318e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
328e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
338e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% The fancyvrb package provides the "Verbatim" environment, which,
348e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% unlike the built-in "verbatim", allows embedding TeX commands, as
358e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% well as tons of other neat stuff (line numbers, formatting adjustments, ...)
368e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\usepackage{fancyvrb}
378e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\fvset{tabsize=4,fontsize=\scriptsize,numbers=left}
388e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
398e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% Normally, one can not use the underscore character in LaTeX without
408e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% escaping it (\_ instead of _). Since the Vorbis specs use it a lot,
418e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% we use the underscore package to change this default behavior.
428e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\usepackage[nohyphen]{underscore}
438e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
448e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% In LaTeX, pictures are normally put into floating environments, and it is
458e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% left to the typesetting engine to place them in the "optimal" spot. These
468e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% docs however expect pictures to be placed in a *specific* position. So we
478e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% don't use \begin{figure}...\end{figure}, but rather a center environment.
488e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% To still be able to use captions, we use the capt-of package.
498e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\usepackage{capt-of}
508e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
518e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
528e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
538e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% Custom commands
548e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
558e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
568e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% Custom ref command, using hyperrefs autoref & nameref, to simulate the 
578e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% behavior of DocBook's '<xref>'.
588e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\newcommand{\xref}[1]{\autoref{#1}, ``\nameref{#1}''}
598e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
608e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% Emulat DocBook's '<link>'.
618e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\newcommand{\link}[2]{\hyperref[#1]{#2}}
628e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
638e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% Simple 'Note' environment. Can be customized later on.
648e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\newenvironment{note}{\subparagraph*{Note:}}{}
658e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
668e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% Map DocBook's <programlisting> to fancyvrb's Verbatim environment
678e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\let\programlisting\Verbatim
688e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\let\endprogramlisting\endVerbatim
698e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
708e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% Fake some more DocBook elements
718e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\newcommand{\function}[1]{\texttt{#1}}
728e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\newcommand{\filename}[1]{\texttt{#1}}
738e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\newcommand{\varname}[1]{\texttt{#1}}
748e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\newcommand{\literal}[1]{\texttt{#1}}
758e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
768e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% Redefine \~ to generate something that looks more appropriate when used in text.
778e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\renewcommand{\~}{$\sim$}
788e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
798e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% Useful helper macro that inserts TODO comments very visibly into the generated
808e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% file. Helps you to not forget to resolve those TODOs... :)
818e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\newcommand{\TODO}[1]{\textcolor{red}{*** #1 ***}}
828e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
838e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% Configure graphics formats: Prefer PDF, fall back to PNG or JPG, as available.
848e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\DeclareGraphicsExtensions{.pdf,.png,.jpg,.jpeg}
858e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
868e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
878e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% NOTE: Things to watch out for: Some chars are reserved in LaTeX. You need to translate them...
888e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels%   ~ -> $\sim$ (or \~ which we defined above)
898e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels%   % -> \%
908e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels%   & -> \&
918e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels%   < -> $<$
928e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels%   > -> $>$
938e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% and others. Refer to any of the many LaTeX refs out there if in doubt!
948e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
958e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\begin{document}
968e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
978e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
988e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\title{Vorbis I specification}
998e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\author{Xiph.org Foundation}
1008e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\maketitle
1018e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1028e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\tableofcontents
1038e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1048e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\include{01-introduction}
1058e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\include{02-bitpacking}
1068e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\include{03-codebook}
1078e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\include{04-codec}
1088e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\include{05-comment}
1098e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\include{06-floor0}
1108e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\include{07-floor1}
1118e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\include{08-residue}
1128e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\include{09-helper}
1138e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\include{10-tables}
1148e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1158e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\appendix
1168e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\include{a1-encapsulation-ogg}
1178e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\include{a2-encapsulation-rtp}
1188e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1198e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\include{footer}
1208e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1218e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels 
1228e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels% TODO: Use a bibliography, as in the example below?
1238e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\begin{thebibliography}{99} 
1248e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels 
1258e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\bibitem{Sporer/Brandenburg/Edler} T.~Sporer, K.~Brandenburg and B.~Edler, 
1268e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas EckelsThe use of multirate filter banks for coding of high quality digital audio,
1278e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\url{http://www.iocon.com/resource/docs/ps/eusipco_corrected.ps}.
1288e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1298e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1308e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\end{thebibliography}
1318e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1328e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels\end{document}
133