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