fb7a5596c98e515a41fb4f471c30f5a2baaf3558
[platform/upstream/libvorbis.git] / doc / Vorbis_I_spec.tex
1 % $Id$
2 \documentclass[12pt,paper=a4]{scrartcl}
3
4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5 % Packages
6 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7
8 % ...
9 %\usepackage[margin=3cm]{geometry}
10 \usepackage{a4wide}
11
12 % ...
13 \usepackage[english]{babel}
14
15 %\usepackage[latin1]{inputenc}
16 %\usepackage[T1]{fontenc}
17
18 % Do not indent paragraphs, instead separate them via vertical spacing
19 \usepackage{parskip}
20
21 % Support for graphics, provides \includegraphics
22 \usepackage{graphicx}
23 %\graphicspath{{images/}}       % Specify subdir containing the images
24
25 % Hyperref enriches the generated PDF with clickable links,
26 % and provides many other useful features.
27 \usepackage{nameref}
28 \usepackage[colorlinks]{hyperref}
29 \def\sectionautorefname{Section}        % Write section with capital 'S'
30 \def\subsectionautorefname{Subsection}  % Write subsection with capital 'S'
31
32
33 % The fancyvrb package provides the "Verbatim" environment, which,
34 % unlike the built-in "verbatim", allows embedding TeX commands, as
35 % well as tons of other neat stuff (line numbers, formatting adjustments, ...)
36 \usepackage{fancyvrb}
37 \fvset{tabsize=4,fontsize=\scriptsize,numbers=left}
38
39 % Normally, one can not use the underscore character in LaTeX without
40 % escaping it (\_ instead of _). Since the Vorbis specs use it a lot,
41 % we use the underscore package to change this default behavior.
42 \usepackage[nohyphen]{underscore}
43
44 \usepackage{enumitem}
45
46 % In LaTeX, pictures are normally put into floating environments, and it is
47 % left to the typesetting engine to place them in the "optimal" spot. These
48 % docs however expect pictures to be placed in a *specific* position. So we
49 % don't use \begin{figure}...\end{figure}, but rather a center environment.
50 % To still be able to use captions, we use the capt-of package.
51 \usepackage{capt-of}
52
53 % strikeout support
54 \usepackage[normalem]{ulem}
55
56 % blockquote support
57 \usepackage{csquotes}
58
59 % allow 'special' characters in filenames, like undescore :-P
60 \usepackage{grffile}
61
62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
63 % Custom commands
64 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
65
66 % Custom ref command, using hyperrefs autoref & nameref, to simulate the 
67 % behavior of DocBook's '<xref>'.
68 \newcommand{\xref}[1]{\autoref{#1}, ``\nameref{#1}''}
69
70 % Emulat DocBook's '<link>'.
71 \newcommand{\link}[2]{\hyperref[#1]{#2}}
72
73 % Simple 'Note' environment. Can be customized later on.
74 \newenvironment{note}{\subparagraph*{Note:}}{}
75
76 % Map DocBook's <programlisting> to fancyvrb's Verbatim environment
77 \let\programlisting\Verbatim
78 \let\endprogramlisting\endVerbatim
79
80 % Fake some more DocBook elements
81 \newcommand{\function}[1]{\texttt{#1}}
82 \newcommand{\filename}[1]{\texttt{#1}}
83 \newcommand{\varname}[1]{\texttt{#1}}
84 \newcommand{\literal}[1]{\texttt{#1}}
85
86 % Redefine \~ to generate something that looks more appropriate when used in text.
87 \renewcommand{\~}{$\sim$}
88
89 % Useful helper macro that inserts TODO comments very visibly into the generated
90 % file. Helps you to not forget to resolve those TODOs... :)
91 \newcommand{\TODO}[1]{\textcolor{red}{*** #1 ***}}
92
93 % Configure graphics formats: Prefer PDF, fall back to PNG or JPG, as available.
94 \DeclareGraphicsExtensions{.pdf,.png,.jpg,.jpeg}
95
96
97 % NOTE: Things to watch out for: Some chars are reserved in LaTeX. You need to translate them...
98 %   ~ -> $\sim$ (or \~ which we defined above)
99 %   % -> \%
100 %   & -> \&
101 %   < -> $<$
102 %   > -> $>$
103 % and others. Refer to any of the many LaTeX refs out there if in doubt!
104
105 \begin{document}
106
107
108 \title{Vorbis I specification}
109 \author{Xiph.Org Foundation}
110 \maketitle
111
112 \tableofcontents
113
114 \include{01-introduction}
115 \include{02-bitpacking}
116 \include{03-codebook}
117 \include{04-codec}
118 \include{05-comment}
119 \include{06-floor0}
120 \include{07-floor1}
121 \include{08-residue}
122 \include{09-helper}
123 \include{10-tables}
124
125 \appendix
126 \include{a1-encapsulation-ogg}
127 \include{a2-encapsulation-rtp}
128
129 \include{footer}
130
131  
132 % TODO: Use a bibliography, as in the example below?
133 \begin{thebibliography}{99} 
134  
135 \bibitem{Sporer/Brandenburg/Edler} T.~Sporer, K.~Brandenburg and B.~Edler, 
136 The use of multirate filter banks for coding of high quality digital audio,
137 \url{http://www.iocon.com/resource/docs/ps/eusipco_corrected.ps}.
138
139
140 \end{thebibliography}
141
142 \end{document}