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