Dominik Riebeling | 40afbd2 | 2007-01-02 20:50:03 +0000 | [diff] [blame] | 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| 2 | % __________ __ ___. |
| 3 | % Open \______ \ ____ ____ | | _\_ |__ _______ ___ |
| 4 | % Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / |
| 5 | % Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < |
| 6 | % Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ |
| 7 | % \/ \/ \/ \/ \/ |
| 8 | % - M A N U A L - |
| 9 | % |
| 10 | % $Id$ |
| 11 | % |
| 12 | % Copyright (C) 2006 The Rockbox Manual Team |
| 13 | % |
| 14 | % All files in this archive are subject to the GNU Free Documentation License |
Marianne Arnold | b2f7c61 | 2007-12-14 02:03:58 +0000 | [diff] [blame] | 15 | % See the file COPYING-MANUAL in the source tree docs/ directory for full license |
Dominik Riebeling | 40afbd2 | 2007-01-02 20:50:03 +0000 | [diff] [blame] | 16 | % agreement. |
| 17 | % |
| 18 | % Contributors are listed in the file docs/CREDITS-MANUAL |
| 19 | % |
| 20 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| 21 | |
Martin Arver | 3622c93 | 2006-03-29 18:48:52 +0000 | [diff] [blame] | 22 | \documentclass[a4paper,11pt]{scrreprt} |
Dominik Riebeling | 3e166f6 | 2008-12-02 23:12:39 +0000 | [diff] [blame] | 23 | \usepackage[utf8]{inputenc} |
Dominik Riebeling | 48832cd | 2010-06-05 13:55:36 +0000 | [diff] [blame] | 24 | \usepackage[T1]{fontenc} |
Dominik Riebeling | cee8f01 | 2008-12-01 21:21:42 +0000 | [diff] [blame] | 25 | % This manual used to use Palatino as font. This caused issues with small caps |
| 26 | % (textsc), so do not use that font as default one anymore. |
Christi Scarborough | d68d7c0 | 2006-02-06 07:25:25 +0000 | [diff] [blame] | 27 | |
Martin Arver | ec60a05 | 2006-03-29 18:40:42 +0000 | [diff] [blame] | 28 | \usepackage{tabularx} |
Nils Wallménius | c687b30 | 2006-04-02 13:50:01 +0000 | [diff] [blame] | 29 | \usepackage{multirow} |
Dominik Riebeling | b074b22 | 2006-06-05 10:08:54 +0000 | [diff] [blame] | 30 | \usepackage{multicol} |
Martin Arver | 0da41d8 | 2006-03-24 11:53:07 +0000 | [diff] [blame] | 31 | |
Christi Scarborough | d68d7c0 | 2006-02-06 07:25:25 +0000 | [diff] [blame] | 32 | \usepackage{float} |
| 33 | \floatstyle{ruled} |
| 34 | |
Dominik Riebeling | c0068bb | 2006-04-08 21:00:22 +0000 | [diff] [blame] | 35 | \usepackage{hyperref} |
Dominik Riebeling | a2c6b67 | 2008-09-23 20:27:39 +0000 | [diff] [blame] | 36 | \usepackage{enumitem} |
Dominik Riebeling | c0068bb | 2006-04-08 21:00:22 +0000 | [diff] [blame] | 37 | |
Christi Scarborough | d68d7c0 | 2006-02-06 07:25:25 +0000 | [diff] [blame] | 38 | \usepackage{optional} |
| 39 | |
Alex Parker | 7dfec97 | 2009-08-23 22:23:33 +0000 | [diff] [blame] | 40 | \usepackage[table]{xcolor} |
| 41 | |
Christi Scarborough | d68d7c0 | 2006-02-06 07:25:25 +0000 | [diff] [blame] | 42 | \input{platform/\platform.tex} |
Nils Wallménius | 22a5c60 | 2008-02-13 16:40:57 +0000 | [diff] [blame] | 43 | \input{features.tex} |
Christi Scarborough | d68d7c0 | 2006-02-06 07:25:25 +0000 | [diff] [blame] | 44 | |
Martin Arver | 4c98106 | 2006-06-07 18:48:56 +0000 | [diff] [blame] | 45 | \newcommand{\playername}{\playerman\ \playerlongtype} |
Christi Scarborough | d68d7c0 | 2006-02-06 07:25:25 +0000 | [diff] [blame] | 46 | |
Dominik Riebeling | c0068bb | 2006-04-08 21:00:22 +0000 | [diff] [blame] | 47 | \hypersetup{% add some values to the pdf properties |
| 48 | colorlinks = true, |
| 49 | pdfstartview = FitV, |
| 50 | linkcolor = blue, |
| 51 | citecolor = blue, |
| 52 | urlcolor = blue, |
| 53 | pdftitle = {Rockbox user manual}, |
| 54 | pdfauthor = {The Rockbox Team}, |
| 55 | pdfsubject = {Rockbox user manual for \playername} |
| 56 | } |
| 57 | |
Martin Arver | 47ea906 | 2006-06-07 12:15:46 +0000 | [diff] [blame] | 58 | \newcommand{\fname}[1]{\texttt{#1}} |
Christi Scarborough | d68d7c0 | 2006-02-06 07:25:25 +0000 | [diff] [blame] | 59 | \newcommand{\tabeltc}[1]{{\centering #1 \par}} |
| 60 | \newcommand{\tabelth}[1]{{\centering \textbf{\textit{#1}} \par}} |
| 61 | |
Martin Arver | a0cdee0 | 2006-03-31 12:25:22 +0000 | [diff] [blame] | 62 | \newcommand{\fixme}[1]{\textbf{\textcolor{red}{#1}}} |
| 63 | |
Alexander Levin | 4acf5d3 | 2009-08-24 18:08:00 +0000 | [diff] [blame] | 64 | % Colors used to typeset table headers and alternating table rows |
Alex Parker | 73bac43 | 2009-08-24 22:50:45 +0000 | [diff] [blame] | 65 | \colorlet{tblhdrbgcolor}{blue!30} % Background color for headers |
| 66 | \colorlet{tbloddrowbgcolor}{blue!10} % Background color for odd rows (headers not included) |
| 67 | \colorlet{tblevenrowbgcolor}{white} % Background color for even rows (headers not included) |
Alexander Levin | 4acf5d3 | 2009-08-24 18:08:00 +0000 | [diff] [blame] | 68 | |
Christi Scarborough | d68d7c0 | 2006-02-06 07:25:25 +0000 | [diff] [blame] | 69 | \usepackage{fancyhdr} |
| 70 | \usepackage{graphicx} |
| 71 | \usepackage{verbatim} |
Christi Scarborough | d68d7c0 | 2006-02-06 07:25:25 +0000 | [diff] [blame] | 72 | \usepackage{makeidx} |
Christi Scarborough | d68d7c0 | 2006-02-06 07:25:25 +0000 | [diff] [blame] | 73 | \usepackage{fancyvrb} |
Christi Scarborough | d68d7c0 | 2006-02-06 07:25:25 +0000 | [diff] [blame] | 74 | \usepackage{color} |
Dominik Riebeling | 1d16d4a | 2006-09-17 20:34:10 +0000 | [diff] [blame] | 75 | \ifpdfoutput{\usepackage{booktabs}}% |
| 76 | {\newcommand{% |
| 77 | \toprule}{}\newcommand{\midrule}{\hline}\newcommand{\bottomrule}{}% |
| 78 | } |
Martin Arver | d3d3e34 | 2006-03-15 10:56:14 +0000 | [diff] [blame] | 79 | \usepackage{longtable} |
Martin Arver | 7d6810c | 2006-03-31 11:50:33 +0000 | [diff] [blame] | 80 | \usepackage{url} |
| 81 | \urlstyle{sf} |
Martin Arver | 9be37f3 | 2006-03-31 13:29:27 +0000 | [diff] [blame] | 82 | \usepackage{marvosym} |
Dominik Riebeling | 6ea2282 | 2007-01-07 17:10:44 +0000 | [diff] [blame] | 83 | \usepackage{rotating} |
Christi Scarborough | d68d7c0 | 2006-02-06 07:25:25 +0000 | [diff] [blame] | 84 | |
Dominik Riebeling | 1d16d4a | 2006-09-17 20:34:10 +0000 | [diff] [blame] | 85 | % pdf output: try pdf first, then png and jpg as file format |
| 86 | % html output: try png first, then jpg. Ignore pdf files |
| 87 | % this only applies if no file extension is given! |
| 88 | \ifpdfoutput{\DeclareGraphicsExtensions{.pdf,.png,.jpg}}% |
| 89 | {\DeclareGraphicsExtensions{.png,.jpg}} |
| 90 | |
Martin Arver | 6d5d734 | 2006-03-30 22:03:46 +0000 | [diff] [blame] | 91 | % fancy header style adjustments |
Christi Scarborough | d68d7c0 | 2006-02-06 07:25:25 +0000 | [diff] [blame] | 92 | \fancyhead{} |
| 93 | \fancyfoot{} |
Dominik Riebeling | c9bb152 | 2006-08-13 18:55:59 +0000 | [diff] [blame] | 94 | \fancyhead[L]{{\nouppercase{\textsc{\leftmark}}}} |
Martin Arver | 6d5d734 | 2006-03-30 22:03:46 +0000 | [diff] [blame] | 95 | \fancyhead[R]{\iffloatpage{}{\thepage}} |
Martin Arver | 6c9f315 | 2006-06-05 16:31:34 +0000 | [diff] [blame] | 96 | \fancyfoot[L]{\textsc{The Rockbox manual}} |
Dominik Riebeling | c7bb949 | 2006-06-13 16:39:07 +0000 | [diff] [blame] | 97 | \fancyfoot[R]{\textsc{\playerman{} \playertype}} |
Dominik Riebeling | c9bb152 | 2006-08-13 18:55:59 +0000 | [diff] [blame] | 98 | \fancypagestyle{plain}{} |
Christi Scarborough | d68d7c0 | 2006-02-06 07:25:25 +0000 | [diff] [blame] | 99 | |
Christi Scarborough | d68d7c0 | 2006-02-06 07:25:25 +0000 | [diff] [blame] | 100 | \renewcommand{\headrulewidth}{\iffloatpage{0pt}{0.4pt}} |
| 101 | \renewcommand{\footrulewidth}{\iffloatpage{0pt}{0.4pt}} |
| 102 | \setlength{\headheight}{18.5pt} |
| 103 | \newcounter{example}[chapter] |
Martin Arver | 0da41d8 | 2006-03-24 11:53:07 +0000 | [diff] [blame] | 104 | |
Alex Parker | 7550c9d | 2009-08-29 18:28:50 +0000 | [diff] [blame] | 105 | \ifpdfoutput{% |
Alexander Levin | b783c06 | 2009-08-29 22:29:22 +0000 | [diff] [blame] | 106 | \renewcommand{\toprule}{\specialrule{\heavyrulewidth}{\abovetopsep}{0pt}} |
| 107 | \renewcommand{\midrule}{\specialrule{\lightrulewidth}{0pt}{\belowrulesep}} |
Alex Parker | 7550c9d | 2009-08-29 18:28:50 +0000 | [diff] [blame] | 108 | }{} |
Alexander Levin | 876cce1 | 2009-08-29 21:38:49 +0000 | [diff] [blame] | 109 | \newcommand{\tblhdrstrut}{\rule[-1.3ex]{0mm}{4.0ex}} |
| 110 | |
Alex Parker | 7550c9d | 2009-08-29 18:28:50 +0000 | [diff] [blame] | 111 | |
Martin Arver | 47ea906 | 2006-06-07 12:15:46 +0000 | [diff] [blame] | 112 | %% \newenvironment{example} |
| 113 | %% {\stepcounter{example}\paragraph{Example \theexample:}} |
| 114 | %% {\hfill$\Box$ |
Christi Scarborough | d68d7c0 | 2006-02-06 07:25:25 +0000 | [diff] [blame] | 115 | |
Martin Arver | 47ea906 | 2006-06-07 12:15:46 +0000 | [diff] [blame] | 116 | %% \bigskip |
| 117 | %% \noindent} |
Martin Arver | 0da41d8 | 2006-03-24 11:53:07 +0000 | [diff] [blame] | 118 | |
Martin Arver | cbc5599 | 2006-03-30 15:54:47 +0000 | [diff] [blame] | 119 | % found on the internet, posting by Donald Arseneau |
| 120 | % I may as well include my robust expandable definions, which can be |
| 121 | % used in \edef or \write where the \def would not be executed: |
| 122 | % |
| 123 | % \if\blank --- checks if parameter is blank (Spaces count as blank) |
| 124 | % \if\given --- checks if parameter is not blank: like \if\blank{#1}\else |
| 125 | % \if\nil --- checks if parameter is null (spaces are NOT null) |
| 126 | % use \if\given{ } ... \else ... \fi etc. |
| 127 | % |
| 128 | {\catcode`\!=8 % funny catcode so ! will be a delimiter |
| 129 | \catcode`\Q=3 % funny catcode so Q will be a delimiter |
| 130 | \long\gdef\given#1{88\fi\Ifbl@nk#1QQQ\empty!} |
| 131 | \long\gdef\blank#1{88\fi\Ifbl@nk#1QQ..!}% if null or spaces |
| 132 | \long\gdef\nil#1{\IfN@Ught#1* {#1}!}% if null |
| 133 | \long\gdef\IfN@Ught#1 #2!{\blank{#2}} |
| 134 | \long\gdef\Ifbl@nk#1#2Q#3!{\ifx#3}% same as above |
| 135 | } |
| 136 | |
Dominik Riebeling | a2c6b67 | 2008-09-23 20:27:39 +0000 | [diff] [blame] | 137 | % environment for setting the changelog. |
| 138 | \newenvironment{changelog}% |
| 139 | {\renewcommand{\labelitemi}{$\star$}\setitemize{noitemsep,topsep=0pt}% |
| 140 | \begin{itemize}}% |
| 141 | {\end{itemize}} |
| 142 | |
| 143 | |
Alexander Levin | 87b2ad14 | 2010-05-20 16:20:58 +0000 | [diff] [blame] | 144 | \newcommand{\dapdisplaysize}{\dapdisplaywidth$\times$\dapdisplayheight$\times$\dapdisplaydepth} |
| 145 | \newcommand{\genericimg}{\dapdisplaywidth x\dapdisplayheight x\dapdisplaydepth} |
| 146 | |
Martin Arver | cbc5599 | 2006-03-30 15:54:47 +0000 | [diff] [blame] | 147 | % add screenshot image. |
| 148 | % Usage: \screenshot{filename}{caption}{label} |
Martin Arver | f6db368 | 2006-04-26 11:06:45 +0000 | [diff] [blame] | 149 | % By using the 'H' (HERE) placement, the screenshots are placed where |
| 150 | % we want them. |
Martin Arver | cbc5599 | 2006-03-30 15:54:47 +0000 | [diff] [blame] | 151 | % Note: use this only for screenshots! |
| 152 | % Note: leave caption empty to supress it. |
| 153 | \newcommand{\screenshot}[3]{ |
Martin Arver | f6db368 | 2006-04-26 11:06:45 +0000 | [diff] [blame] | 154 | \begin{figure}[H] |
Martin Arver | cbc5599 | 2006-03-30 15:54:47 +0000 | [diff] [blame] | 155 | \begin{center} |
Dominik Riebeling | 5be4509 | 2006-06-04 11:20:06 +0000 | [diff] [blame] | 156 | \IfFileExists{#1-\genericimg-\specimg.png} |
Dominik Riebeling | f83f920 | 2006-08-18 14:32:15 +0000 | [diff] [blame] | 157 | {\includegraphics[width=\screenshotsize]{#1-\genericimg-\specimg.png} |
Dominik Riebeling | 5be4509 | 2006-06-04 11:20:06 +0000 | [diff] [blame] | 158 | \typeout{Note: device specific image used}} |
| 159 | {\IfFileExists{#1-\genericimg.png} |
Dominik Riebeling | f83f920 | 2006-08-18 14:32:15 +0000 | [diff] [blame] | 160 | {\includegraphics[width=\screenshotsize]{#1-\genericimg.png}} |
Dominik Riebeling | 5be4509 | 2006-06-04 11:20:06 +0000 | [diff] [blame] | 161 | {\IfFileExists{#1} |
Dominik Riebeling | f83f920 | 2006-08-18 14:32:15 +0000 | [diff] [blame] | 162 | {\includegraphics[width=\screenshotsize]{#1} |
Dominik Riebeling | 5be4509 | 2006-06-04 11:20:06 +0000 | [diff] [blame] | 163 | \typeout{Warning: deprecated plain image name used}}% |
| 164 | {\typeout{Missing image: #1 (\genericimg) (\specimg)}% |
| 165 | \color{red}{\textbf{WARNING!} Image not found}% |
| 166 | } |
Dominik Riebeling | 2cf5abb | 2006-04-02 17:29:44 +0000 | [diff] [blame] | 167 | } |
| 168 | } |
Dominik Riebeling | e5a2b69 | 2006-04-01 19:16:12 +0000 | [diff] [blame] | 169 | \if\blank{#3}\else{\label{#3}}\fi\if\blank{#2}\else{% |
Martin Arver | cbc5599 | 2006-03-30 15:54:47 +0000 | [diff] [blame] | 170 | \caption{#2}}\fi |
| 171 | \end{center} |
| 172 | \end{figure} |
| 173 | } |
Martin Arver | 0da41d8 | 2006-03-24 11:53:07 +0000 | [diff] [blame] | 174 | |
Martin Arver | 9be37f3 | 2006-03-31 13:29:27 +0000 | [diff] [blame] | 175 | % command to display a note. |
| 176 | % Usage: \note{text of your note} |
| 177 | % Note: do NOT use \textbf or similar to emphasize text, use \emph! |
Dominik Riebeling | 6424c50 | 2006-07-17 19:10:31 +0000 | [diff] [blame] | 178 | \ifpdfoutput{ |
Martin Arver | 9be37f3 | 2006-03-31 13:29:27 +0000 | [diff] [blame] | 179 | \newcommand{\note}[1]{ |
Alexander Levin | 04afc13 | 2010-05-08 11:56:28 +0000 | [diff] [blame] | 180 | \ifinner\else\vspace{1ex}\par\noindent\fi |
Dominik Riebeling | df91a9b | 2006-04-01 15:35:30 +0000 | [diff] [blame] | 181 | \textbf{Note:}\ % |
Alexander Levin | 04afc13 | 2010-05-08 11:56:28 +0000 | [diff] [blame] | 182 | \ifinner#1\else\marginpar{\raisebox{-6pt}{\Huge\Writinghand}}#1\par\vspace{1ex}\fi% |
Dominik Riebeling | 6424c50 | 2006-07-17 19:10:31 +0000 | [diff] [blame] | 183 | }} |
| 184 | {\newcommand{\note}[1]{\ifinner\else\par\noindent\fi\textbf{Note:{} }#1\par}} |
Martin Arver | 9be37f3 | 2006-03-31 13:29:27 +0000 | [diff] [blame] | 185 | |
| 186 | % command to display a warning. |
| 187 | % Usage: \warn{text of your warning} |
| 188 | % Note: do NOT use \textbf or similar to emphasize text! |
Dominik Riebeling | 6424c50 | 2006-07-17 19:10:31 +0000 | [diff] [blame] | 189 | \ifpdfoutput{ |
Martin Arver | 9be37f3 | 2006-03-31 13:29:27 +0000 | [diff] [blame] | 190 | \newcommand{\warn}[1]{ |
Dominik Riebeling | df91a9b | 2006-04-01 15:35:30 +0000 | [diff] [blame] | 191 | \ifinner\else\par\noindent\fi |
| 192 | \textbf{Warning:\ }% |
| 193 | \ifinner#1\else\marginpar{\raisebox{-6pt}{\Huge\Stopsign}}#1\par\fi% |
Dominik Riebeling | 6424c50 | 2006-07-17 19:10:31 +0000 | [diff] [blame] | 194 | }} |
| 195 | {\newcommand{\warn}[1]{\ifinner\else\par\noindent\fi\textbf{Warning:{} }#1}} |
Dominik Riebeling | df91a9b | 2006-04-01 15:35:30 +0000 | [diff] [blame] | 196 | |
Dominik Riebeling | 4ccc2ce | 2006-07-19 16:06:37 +0000 | [diff] [blame] | 197 | % command to mark a text block as intended especially for blind people |
| 198 | % Usage: \blind{text} |
| 199 | \ifpdfoutput{ |
Alexander Levin | 942e427 | 2010-06-28 22:39:45 +0000 | [diff] [blame] | 200 | \newcommand{\blind}[1]{\mbox{}\marginpar{\raisebox{-1ex}{\Huge{\ForwardToEnd}}}#1} |
| 201 | } |
Dominik Riebeling | 4ccc2ce | 2006-07-19 16:06:37 +0000 | [diff] [blame] | 202 | {\newcommand{\blind}[1]{\ifinner\else\par\noindent\fi#1}} |
| 203 | |
Martin Arver | f6db368 | 2006-04-26 11:06:45 +0000 | [diff] [blame] | 204 | % make table floats use "H" (as for screenshots) as default positioning |
| 205 | \makeatletter\renewcommand{\fps@table}{H}\makeatother |
Dominik Riebeling | 38385a5 | 2006-04-03 18:14:25 +0000 | [diff] [blame] | 206 | % change defaults for floats on a page as we have a lot of small images |
| 207 | \setcounter{topnumber}{3} % default: 2 |
| 208 | \setcounter{bottomnumber}{2} % default: 1 |
| 209 | \setcounter{totalnumber}{5} % default: 3 |
| 210 | |
Dominik Riebeling | 8c17722 | 2006-04-03 22:45:01 +0000 | [diff] [blame] | 211 | |
Alexander Levin | fb87e89 | 2009-08-24 21:22:18 +0000 | [diff] [blame] | 212 | % Environment for typesetting tables in a consistent way. The header has |
| 213 | % a darker background; rows are white and light gray (alternating). Top, |
| 214 | % middle and bottom rules are automatically set. |
| 215 | % |
| 216 | % Params: |
| 217 | % #1 -- table width |
| 218 | % #2 -- column specification (as used in the package tabularx) |
| 219 | % #3 -- contents of the header row. The number of items must |
| 220 | % match the number of specs in #2 |
| 221 | % #4 -- caption (optional). If used then this must be inside a floating |
| 222 | % environment, e.g. table |
| 223 | % #5 -- label (optional) |
| 224 | % |
| 225 | % Example: |
| 226 | % \begin{rbtabular}{0.9\textwidth}{lX}{Col1 & Col2}{}{} |
| 227 | % A1 & A2\\ |
| 228 | % B1 & B2\\ |
| 229 | % C1 & C2\\ |
| 230 | % \end{rbtabular} |
| 231 | % |
| 232 | \newenvironment{rbtabular}[5]{% |
Alex Parker | 17e6288 | 2009-08-24 22:03:30 +0000 | [diff] [blame] | 233 | \rowcolors{2}{tbloddrowbgcolor}{tblevenrowbgcolor} |
Alexander Levin | fb87e89 | 2009-08-24 21:22:18 +0000 | [diff] [blame] | 234 | \expandafter\let\expandafter\SavedEndTab\csname endtabular*\endcsname |
| 235 | \expandafter\renewcommand\expandafter*\csname endtabular*\endcsname{% |
Alex Parker | 7550c9d | 2009-08-29 18:28:50 +0000 | [diff] [blame] | 236 | \bottomrule |
Alexander Levin | fb87e89 | 2009-08-24 21:22:18 +0000 | [diff] [blame] | 237 | \SavedEndTab% |
| 238 | \if\given{#4}\caption{#4}\fi% |
| 239 | \if\given{#5}\label{#5}\fi% |
| 240 | \endcenter% |
| 241 | } |
| 242 | \center |
Alex Parker | 7550c9d | 2009-08-29 18:28:50 +0000 | [diff] [blame] | 243 | \tabularx{#1}{#2}\toprule\rowcolor{tblhdrbgcolor} |
Alexander Levin | 876cce1 | 2009-08-29 21:38:49 +0000 | [diff] [blame] | 244 | \tblhdrstrut#3\\\midrule |
Alexander Levin | fb87e89 | 2009-08-24 21:22:18 +0000 | [diff] [blame] | 245 | }{% |
| 246 | \endtabularx |
| 247 | } |
| 248 | |
Alexander Levin | 67f25a4 | 2010-07-02 18:54:09 +0000 | [diff] [blame] | 249 | \newcommand{\tabnlindent}{\newline\mbox{ }\mbox{ }} |
Alex Parker | 60c0474 | 2009-06-20 19:17:06 +0000 | [diff] [blame] | 250 | |
| 251 | |
Dominik Riebeling | 8c17722 | 2006-04-03 22:45:01 +0000 | [diff] [blame] | 252 | |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 253 | % command to set the default table heading for button lists |
Alexander Levin | 876cce1 | 2009-08-29 21:38:49 +0000 | [diff] [blame] | 254 | \newcommand{\taghead}{\tblhdrstrut\textbf{Tag} & \textbf{Description} \\\midrule} |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 255 | |
| 256 | % environment intended to be used with tag maps (for wps) |
Alexander Levin | 05e3aad | 2009-06-20 22:15:49 +0000 | [diff] [blame] | 257 | % usage: \begin{tagmap}{caption}{label} Tag & Description \\ \end{tagmap} |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 258 | % Note: this automatically sets the table lines. |
| 259 | % Note: you *need* to terminate the last line with a linebreak \\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 260 | % Cheers for the usenet helping me building this up :) |
Alexander Levin | 4c105b6 | 2010-03-07 22:12:16 +0000 | [diff] [blame] | 261 | \newenvironment{tagmap}{% |
Alex Parker | daede5e | 2009-08-24 22:12:45 +0000 | [diff] [blame] | 262 | \rowcolors{2}{tbloddrowbgcolor}{tblevenrowbgcolor} |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 263 | \expandafter\let\expandafter\SavedEndTab\csname endtabular*\endcsname |
| 264 | \expandafter\renewcommand\expandafter*\csname endtabular*\endcsname{% |
Alex Parker | 7550c9d | 2009-08-29 18:28:50 +0000 | [diff] [blame] | 265 | \bottomrule |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 266 | \SavedEndTab% |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 267 | \endcenter% |
| 268 | } |
| 269 | \center |
Alexander Levin | 67f25a4 | 2010-07-02 18:54:09 +0000 | [diff] [blame] | 270 | \tabularx{\textwidth}{Xp{.7\textwidth}}\toprule\rowcolor{tblhdrbgcolor} % here is the table width defined |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 271 | \taghead |
| 272 | }{% |
| 273 | \endtabularx |
| 274 | } |
| 275 | |
Dominik Riebeling | cee8f01 | 2008-12-01 21:21:42 +0000 | [diff] [blame] | 276 | % When creating HTML, use the soul package. |
| 277 | % This produces much nicer HTML code (textsc results in each character being |
| 278 | % put in a separate <span>). |
| 279 | \ifpdfoutput{\newcommand{\caps}[1]{\textsc{#1}}}{\usepackage{soul}} |
| 280 | \newcommand{\setting}[1]{\caps{#1}} |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 281 | |
Dominik Riebeling | 0f661ab | 2006-05-28 15:49:17 +0000 | [diff] [blame] | 282 | \newcommand{\config}[1]{\texttt{#1}} |
| 283 | |
Dominik Riebeling | 40afbd2 | 2007-01-02 20:50:03 +0000 | [diff] [blame] | 284 | % set link to download server |
| 285 | % Usage: \download{bootloader/bootloader-ipodnano.ipod} |
| 286 | % gets expanded to |
| 287 | % "http://download.rockbox.org/bootloader/bootloader-ipodnano.ipod" |
| 288 | \newcommand{\download}[1]{\url{http://download.rockbox.org/#1}} |
| 289 | |
Dominik Riebeling | 0f661ab | 2006-05-28 15:49:17 +0000 | [diff] [blame] | 290 | % set link to the wiki. |
| 291 | % Usage: \wikilink{WebHome} |
| 292 | % with "WebHome" being the wiki page name |
Dominik Riebeling | 7255bdb | 2007-09-24 22:39:24 +0000 | [diff] [blame] | 293 | \newcommand{\wikibaseurl}{http://www.rockbox.org/wiki/} |
| 294 | \ifpdfoutput{\newcommand{\wikiicon}{\Pointinghand}} |
| 295 | {\newcommand{\wikiicon}{}} |
| 296 | \newcommand{\wikilink}[1]{\wikiicon{}\href{\wikibaseurl#1}{#1}} |
| 297 | %\newcommand{\wikilink}[1]{\url{http://www.rockbox.org/wiki/#1}} |
Dominik Riebeling | 0f661ab | 2006-05-28 15:49:17 +0000 | [diff] [blame] | 298 | |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 299 | % define environment "code" based on fancyvrb. |
| 300 | % use it to set code the user should type / see on his screen. |
| 301 | % Note: the first 4 characters of each line will be stripped, |
| 302 | % requiring everything to be indendet by exactly _4_ spaces! |
| 303 | % This is intended to make the LaTeX sources more readable. |
| 304 | % Note: when using the code environment you need to use optv instead of opt! |
| 305 | \DefineVerbatimEnvironment{code}{Verbatim}% |
Dominik Riebeling | 6ea2282 | 2007-01-07 17:10:44 +0000 | [diff] [blame] | 306 | {framerule=0.4pt, framesep=1ex,frame=lines,%numbers=left,stepnumber=5,% |
| 307 | gobble=4,fontsize=\footnotesize,xleftmargin=10pt,xrightmargin=10pt,% |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 308 | label=\textnormal{\textsc{Code}},% |
| 309 | commandchars=\\\{\}% |
| 310 | } |
| 311 | |
Martin Arver | 47ea906 | 2006-06-07 12:15:46 +0000 | [diff] [blame] | 312 | % define environment "example" based on fancyvrb. |
| 313 | % use it to set example code the user should type / see on his screen. |
| 314 | % Note: the first 4 characters of each line will be stripped, |
| 315 | % requiring everything to be indendet by exactly _4_ spaces! |
| 316 | % This is intended to make the LaTeX sources more readable. |
| 317 | % Note: when using the example environment you need to use optv instead of opt! |
| 318 | \DefineVerbatimEnvironment{example}{Verbatim}% |
| 319 | {commentchar=!,framerule=0.4pt, framesep=1ex,frame=lines,% |
Dominik Riebeling | 6ea2282 | 2007-01-07 17:10:44 +0000 | [diff] [blame] | 320 | gobble=4,fontsize=\footnotesize,xleftmargin=10pt,xrightmargin=10pt,% |
Martin Arver | 47ea906 | 2006-06-07 12:15:46 +0000 | [diff] [blame] | 321 | label=\textnormal{\textsc{Example}},% |
| 322 | commandchars=\\\{\}% |
| 323 | } |
| 324 | |
Alexander Levin | f258954 | 2010-03-27 13:14:14 +0000 | [diff] [blame] | 325 | % Use the nopt command to exclude a certain defined feature from a section |
Martin Arver | 1dbb2d2 | 2006-06-07 20:01:27 +0000 | [diff] [blame] | 326 | % Example: |
| 327 | % \nopt{ondio}{This text will be excluded for ondios} |
Alexander Levin | f258954 | 2010-03-27 13:14:14 +0000 | [diff] [blame] | 328 | \makeatletter |
| 329 | \newcommand*\nopt[1]{\if\Opl@notlisted{#1}\expandafter\@firstofone |
| 330 | \else \expandafter\@gobble \fi} |
| 331 | \makeatother |
Martin Arver | 7a47313 | 2006-07-31 12:21:57 +0000 | [diff] [blame] | 332 | |
Martin Arver | 26c6e7b | 2006-08-01 11:57:38 +0000 | [diff] [blame] | 333 | % Use the reference to handle get a flexible reference command |
| 334 | % usage \reference{ref_section} |
Dominik Riebeling | c9bb152 | 2006-08-13 18:55:59 +0000 | [diff] [blame] | 335 | \ifpdfoutput{% |
Martin Arver | 26c6e7b | 2006-08-01 11:57:38 +0000 | [diff] [blame] | 336 | \newcommand{\reference}[1]{% |
Dominik Riebeling | d0a12a7 | 2006-08-22 16:34:41 +0000 | [diff] [blame] | 337 | section~\ref{#1} (page~\pageref{#1})% |
Martin Arver | 7a47313 | 2006-07-31 12:21:57 +0000 | [diff] [blame] | 338 | }} |
Dominik Riebeling | d0a12a7 | 2006-08-22 16:34:41 +0000 | [diff] [blame] | 339 | {\newcommand{\reference}[1]{section~\ref{#1}}} |
Dominik Riebeling | 5eb1e15 | 2006-08-07 20:46:26 +0000 | [diff] [blame] | 340 | |
| 341 | % special HTML output adjustments |
| 342 | \ifpdfoutput{}{\setlength{\parindent}{0mm}} |
| 343 | \ifpdfoutput{}{\renewcommand{\Forward}[1]{$\triangleright${}#1}} |
Dominik Riebeling | f83f920 | 2006-08-18 14:32:15 +0000 | [diff] [blame] | 344 | |
Dominik Riebeling | f6b4b91 | 2006-08-24 15:09:34 +0000 | [diff] [blame] | 345 | \newcommand{\btnfnt}[1]{\textbf{#1}} |
Dominik Riebeling | a9a5c35 | 2006-10-05 16:47:17 +0000 | [diff] [blame] | 346 | %\hfuzz=2pt |
| 347 | |
| 348 | % generate index |
| 349 | \usepackage{makeidx} |
| 350 | \makeindex |
Alex Parker | 60c0474 | 2009-06-20 19:17:06 +0000 | [diff] [blame] | 351 | |
Alex Parker | 7550c9d | 2009-08-29 18:28:50 +0000 | [diff] [blame] | 352 | |
Alex Parker | 60c0474 | 2009-06-20 19:17:06 +0000 | [diff] [blame] | 353 | % command to set the default table heading for button lists |
Alex Parker | 7550c9d | 2009-08-29 18:28:50 +0000 | [diff] [blame] | 354 | \newcommand{\btnhead}{\textbf{Key} \opt{HAVEREMOTEKEYMAP}{% |
| 355 | & \textbf{Remote Key}} & \textbf{Action} \\\midrule} |
Alex Parker | 60c0474 | 2009-06-20 19:17:06 +0000 | [diff] [blame] | 356 | % environment intended to be used with button maps |
Alexander Levin | 9736580 | 2010-05-20 17:38:38 +0000 | [diff] [blame] | 357 | % usage: \begin{btnmap} Button & ButtonAction \\ \end{btnmap} |
Alex Parker | 60c0474 | 2009-06-20 19:17:06 +0000 | [diff] [blame] | 358 | % Note: this automatically sets the table lines. |
| 359 | % Note: you *need* to terminate the last line with a linebreak \\ |
Alex Parker | 60c0474 | 2009-06-20 19:17:06 +0000 | [diff] [blame] | 360 | % Cheers for the usenet helping me building this up :) |
| 361 | |
Alex Parker | 931ff0b | 2009-06-20 22:00:47 +0000 | [diff] [blame] | 362 | % tabularx is set to be either two or three columns wide depending on whether |
Alex Parker | c5d3857 | 2009-06-29 18:33:44 +0000 | [diff] [blame] | 363 | % HAVEREMOTEKEYMAP is defined in the platform file for the target in question. |
Alex Parker | 931ff0b | 2009-06-20 22:00:47 +0000 | [diff] [blame] | 364 | % If it is, then every button table has three columns of the form |
Alex Parker | 60c0474 | 2009-06-20 19:17:06 +0000 | [diff] [blame] | 365 | % Main Unit Key & Remote Key & Description \\ |
Alex Parker | 60c0474 | 2009-06-20 19:17:06 +0000 | [diff] [blame] | 366 | |
Alexander Levin | 9736580 | 2010-05-20 17:38:38 +0000 | [diff] [blame] | 367 | \newenvironment{btnmap}{% |
Alex Parker | daede5e | 2009-08-24 22:12:45 +0000 | [diff] [blame] | 368 | \rowcolors{2}{tbloddrowbgcolor}{tblevenrowbgcolor} |
Alex Parker | 60c0474 | 2009-06-20 19:17:06 +0000 | [diff] [blame] | 369 | \expandafter\let\expandafter\SavedEndTab\csname endtabular*\endcsname |
| 370 | \expandafter\renewcommand\expandafter*\csname endtabular*\endcsname{% |
Alex Parker | 7550c9d | 2009-08-29 18:28:50 +0000 | [diff] [blame] | 371 | \bottomrule |
Alex Parker | 60c0474 | 2009-06-20 19:17:06 +0000 | [diff] [blame] | 372 | \SavedEndTab% |
Alexander Levin | 9736580 | 2010-05-20 17:38:38 +0000 | [diff] [blame] | 373 | \endcenter\vspace{2ex}% |
Alex Parker | 60c0474 | 2009-06-20 19:17:06 +0000 | [diff] [blame] | 374 | } |
Alexander Levin | 9736580 | 2010-05-20 17:38:38 +0000 | [diff] [blame] | 375 | \vspace{2ex}\center |
Alex Parker | c5d3857 | 2009-06-29 18:33:44 +0000 | [diff] [blame] | 376 | \opt{HAVEREMOTEKEYMAP}{ |
Alex Parker | 931ff0b | 2009-06-20 22:00:47 +0000 | [diff] [blame] | 377 | % here is the table width defined for 3 columns |
Alex Parker | 7550c9d | 2009-08-29 18:28:50 +0000 | [diff] [blame] | 378 | \tabularx{.95\textwidth}{>{\raggedright\arraybackslash}p{.2\textwidth}>{\raggedright\arraybackslash}p{.2\textwidth}X}\toprule\rowcolor{tblhdrbgcolor} |
Alex Parker | 931ff0b | 2009-06-20 22:00:47 +0000 | [diff] [blame] | 379 | } |
Alex Parker | c5d3857 | 2009-06-29 18:33:44 +0000 | [diff] [blame] | 380 | \nopt{HAVEREMOTEKEYMAP}{ |
Alex Parker | 931ff0b | 2009-06-20 22:00:47 +0000 | [diff] [blame] | 381 | % here is the table width defined for 2 columns |
Alex Parker | 7550c9d | 2009-08-29 18:28:50 +0000 | [diff] [blame] | 382 | \tabularx{.75\textwidth}{>{\raggedright\arraybackslash}p{.22\textwidth}X}\toprule\rowcolor{tblhdrbgcolor} |
Alex Parker | 931ff0b | 2009-06-20 22:00:47 +0000 | [diff] [blame] | 383 | } |
Alexander Levin | 876cce1 | 2009-08-29 21:38:49 +0000 | [diff] [blame] | 384 | \tblhdrstrut\btnhead |
Alex Parker | 60c0474 | 2009-06-20 19:17:06 +0000 | [diff] [blame] | 385 | }{% |
| 386 | \endtabularx |
| 387 | } |