| \documentclass[a4paper,11pt]{scrreprt} |
| \usepackage[latin1]{inputenc} |
| \usepackage{palatino} |
| |
| \usepackage{tabularx} |
| \usepackage{multirow} |
| \usepackage{multicol} |
| |
| \usepackage{float} |
| \floatstyle{ruled} |
| |
| \usepackage{hyperref} |
| |
| \usepackage{optional} |
| |
| \input{platform/\platform.tex} |
| |
| \newcommand{\playername}{\playerman\ \playerlongtype} |
| |
| \hypersetup{% add some values to the pdf properties |
| colorlinks = true, |
| pdfstartview = FitV, |
| linkcolor = blue, |
| citecolor = blue, |
| urlcolor = blue, |
| pdftitle = {Rockbox user manual}, |
| pdfauthor = {The Rockbox Team}, |
| pdfsubject = {Rockbox user manual for \playername} |
| } |
| |
| \newcommand{\fname}[1]{\texttt{#1}} |
| \newcommand{\tabeltc}[1]{{\centering #1 \par}} |
| \newcommand{\tabelth}[1]{{\centering \textbf{\textit{#1}} \par}} |
| |
| \newcommand{\fixme}[1]{\textbf{\textcolor{red}{#1}}} |
| |
| \usepackage{fancyhdr} |
| \usepackage{graphicx} |
| \usepackage{verbatim} |
| \usepackage{makeidx} |
| \usepackage{fancyvrb} |
| \usepackage{enumerate} |
| \usepackage{color} |
| \ifpdfoutput{\usepackage{booktabs}}% |
| {\newcommand{% |
| \toprule}{}\newcommand{\midrule}{\hline}\newcommand{\bottomrule}{}% |
| } |
| \usepackage{longtable} |
| \usepackage{url} |
| \urlstyle{sf} |
| \usepackage{marvosym} |
| \usepackage{ifthen} |
| |
| % mark this ad draft version (only for pdflatex) -- comment this out at release |
| \ifpdfoutput{ |
| \usepackage{pdfdraftcopy} |
| \draftstring{DRAFT VERSION} |
| % \draftangle{45} |
| } |
| |
| % pdf output: try pdf first, then png and jpg as file format |
| % html output: try png first, then jpg. Ignore pdf files |
| % this only applies if no file extension is given! |
| \ifpdfoutput{\DeclareGraphicsExtensions{.pdf,.png,.jpg}}% |
| {\DeclareGraphicsExtensions{.png,.jpg}} |
| |
| % fancy header style adjustments |
| \fancyhead{} |
| \fancyfoot{} |
| \fancyhead[L]{{\nouppercase{\textsc{\leftmark}}}} |
| \fancyhead[R]{\iffloatpage{}{\thepage}} |
| \fancyfoot[L]{\textsc{The Rockbox manual}} |
| \fancyfoot[R]{\textsc{\playerman{} \playertype}} |
| \fancypagestyle{plain}{} |
| |
| \renewcommand{\headrulewidth}{\iffloatpage{0pt}{0.4pt}} |
| \renewcommand{\footrulewidth}{\iffloatpage{0pt}{0.4pt}} |
| \setlength{\headheight}{18.5pt} |
| \newcounter{example}[chapter] |
| |
| %% \newenvironment{example} |
| %% {\stepcounter{example}\paragraph{Example \theexample:}} |
| %% {\hfill$\Box$ |
| |
| %% \bigskip |
| %% \noindent} |
| |
| % found on the internet, posting by Donald Arseneau |
| % I may as well include my robust expandable definions, which can be |
| % used in \edef or \write where the \def would not be executed: |
| % |
| % \if\blank --- checks if parameter is blank (Spaces count as blank) |
| % \if\given --- checks if parameter is not blank: like \if\blank{#1}\else |
| % \if\nil --- checks if parameter is null (spaces are NOT null) |
| % use \if\given{ } ... \else ... \fi etc. |
| % |
| {\catcode`\!=8 % funny catcode so ! will be a delimiter |
| \catcode`\Q=3 % funny catcode so Q will be a delimiter |
| \long\gdef\given#1{88\fi\Ifbl@nk#1QQQ\empty!} |
| \long\gdef\blank#1{88\fi\Ifbl@nk#1QQ..!}% if null or spaces |
| \long\gdef\nil#1{\IfN@Ught#1* {#1}!}% if null |
| \long\gdef\IfN@Ught#1 #2!{\blank{#2}} |
| \long\gdef\Ifbl@nk#1#2Q#3!{\ifx#3}% same as above |
| } |
| |
| % add screenshot image. |
| % Usage: \screenshot{filename}{caption}{label} |
| % By using the 'H' (HERE) placement, the screenshots are placed where |
| % we want them. |
| % Note: use this only for screenshots! |
| % Note: leave caption empty to supress it. |
| \newcommand{\screenshot}[3]{ |
| \begin{figure}[H] |
| \begin{center} |
| \IfFileExists{#1-\genericimg-\specimg.png} |
| {\includegraphics[width=\screenshotsize]{#1-\genericimg-\specimg.png} |
| \typeout{Note: device specific image used}} |
| {\IfFileExists{#1-\genericimg.png} |
| {\includegraphics[width=\screenshotsize]{#1-\genericimg.png}} |
| {\IfFileExists{#1} |
| {\includegraphics[width=\screenshotsize]{#1} |
| \typeout{Warning: deprecated plain image name used}}% |
| {\typeout{Missing image: #1 (\genericimg) (\specimg)}% |
| \color{red}{\textbf{WARNING!} Image not found}% |
| } |
| } |
| } |
| \if\blank{#3}\else{\label{#3}}\fi\if\blank{#2}\else{% |
| \caption{#2}}\fi |
| \end{center} |
| \end{figure} |
| } |
| |
| % command to display a note. |
| % Usage: \note{text of your note} |
| % Note: do NOT use \textbf or similar to emphasize text, use \emph! |
| \ifpdfoutput{ |
| \newcommand{\note}[1]{ |
| \ifinner\else\par\noindent\fi |
| \textbf{Note:}\ % |
| \ifinner#1\else\marginpar{\raisebox{-6pt}{\Huge\Writinghand}}#1\par\fi% |
| }} |
| {\newcommand{\note}[1]{\ifinner\else\par\noindent\fi\textbf{Note:{} }#1\par}} |
| |
| % command to display a warning. |
| % Usage: \warn{text of your warning} |
| % Note: do NOT use \textbf or similar to emphasize text! |
| \ifpdfoutput{ |
| \newcommand{\warn}[1]{ |
| \ifinner\else\par\noindent\fi |
| \textbf{Warning:\ }% |
| \ifinner#1\else\marginpar{\raisebox{-6pt}{\Huge\Stopsign}}#1\par\fi% |
| }} |
| {\newcommand{\warn}[1]{\ifinner\else\par\noindent\fi\textbf{Warning:{} }#1}} |
| |
| % command to mark a text block as intended especially for blind people |
| % Usage: \blind{text} |
| \ifpdfoutput{ |
| \newcommand{\blind}[1]{ |
| \ifinner\else\par\noindent\fi |
| \ifinner#1\else\marginpar{\raisebox{-6pt}{\Huge\ForwardToEnd}}#1\par\fi% |
| }} |
| {\newcommand{\blind}[1]{\ifinner\else\par\noindent\fi#1}} |
| |
| % make table floats use "H" (as for screenshots) as default positioning |
| \makeatletter\renewcommand{\fps@table}{H}\makeatother |
| % change defaults for floats on a page as we have a lot of small images |
| \setcounter{topnumber}{3} % default: 2 |
| \setcounter{bottomnumber}{2} % default: 1 |
| \setcounter{totalnumber}{5} % default: 3 |
| |
| % command to set the default table heading for button lists |
| \newcommand{\btnhead}{\textbf{Key} & \textbf{Action} \\\midrule} |
| |
| % environment intended to be used with button maps |
| % usage: \begin{btnmap}{caption}{label} Button & ButtonAction \\ \end{btnmap} |
| % Note: this automatically sets the table lines. |
| % Note: you *need* to terminate the last line with a linebreak \\ |
| % Note: you still need to enclose this with \begin{table} / \end{table} |
| % Cheers for the usenet helping me building this up :) |
| \newenvironment{btnmap}[2]{% |
| \expandafter\let\expandafter\SavedEndTab\csname endtabular*\endcsname |
| \expandafter\renewcommand\expandafter*\csname endtabular*\endcsname{% |
| \bottomrule |
| \SavedEndTab% |
| \if\given{#1}\caption{#1}\fi% |
| \if\given{#2}\label{#2}\fi% |
| \endcenter% |
| } |
| \center |
| \tabularx{.75\textwidth}{lX}\toprule % here is the table width defined |
| \btnhead |
| }{% |
| \endtabularx |
| } |
| |
| % command to set the default table heading for button lists |
| \newcommand{\taghead}{\textbf{Tag} & \textbf{Description} \\\midrule} |
| |
| % environment intended to be used with tag maps (for wps) |
| % usage: \begin{tagmap}{caption}{label} Tag & Description \\ \end{btnmap} |
| % Note: this automatically sets the table lines. |
| % Note: you *need* to terminate the last line with a linebreak \\ |
| % Note: you still need to enclose this with \begin{table} / \end{table} |
| % Cheers for the usenet helping me building this up :) |
| \newenvironment{tagmap}[2]{% |
| \expandafter\let\expandafter\SavedEndTab\csname endtabular*\endcsname |
| \expandafter\renewcommand\expandafter*\csname endtabular*\endcsname{% |
| \bottomrule |
| \SavedEndTab% |
| \if\given{#1}\caption{#1}\fi% |
| \if\given{#2}\label{#2}\fi% |
| \endcenter% |
| } |
| \center |
| \tabularx{\textwidth}{lX}\toprule % here is the table width defined |
| \taghead |
| }{% |
| \endtabularx |
| } |
| |
| \newcommand{\setting}[1]{\textsc{#1}} |
| |
| \newcommand{\config}[1]{\texttt{#1}} |
| |
| % set link to the wiki. |
| % Usage: \wikilink{WebHome} |
| % with "WebHome" being the wiki page name |
| \newcommand{\wikilink}[1]{\url{http://www.rockbox.org/twiki/bin/view/Main/#1}} |
| |
| % define environment "code" based on fancyvrb. |
| % use it to set code the user should type / see on his screen. |
| % Note: the first 4 characters of each line will be stripped, |
| % requiring everything to be indendet by exactly _4_ spaces! |
| % This is intended to make the LaTeX sources more readable. |
| % Note: when using the code environment you need to use optv instead of opt! |
| \DefineVerbatimEnvironment{code}{Verbatim}% |
| {framerule=0.4pt, framesep=1ex,numbers=left,frame=lines,%stepnumber=5,% |
| gobble=4,fontsize=\footnotesize,xleftmargin=10pt,% |
| label=\textnormal{\textsc{Code}},% |
| commandchars=\\\{\}% |
| } |
| |
| % define environment "example" based on fancyvrb. |
| % use it to set example code the user should type / see on his screen. |
| % Note: the first 4 characters of each line will be stripped, |
| % requiring everything to be indendet by exactly _4_ spaces! |
| % This is intended to make the LaTeX sources more readable. |
| % Note: when using the example environment you need to use optv instead of opt! |
| \DefineVerbatimEnvironment{example}{Verbatim}% |
| {commentchar=!,framerule=0.4pt, framesep=1ex,frame=lines,% |
| gobble=4,fontsize=\footnotesize,xleftmargin=10pt,% |
| label=\textnormal{\textsc{Example}},% |
| commandchars=\\\{\}% |
| } |
| |
| % Use the nopt command to exclude a certain defined feature from a sectio |
| % Example: |
| % \nopt{ondio}{This text will be excluded for ondios} |
| \newcommand{\optnvalue}{0} |
| \newcommand{\nopt}[2]{% |
| \renewcommand{\optnvalue}{0}\opt{#1}{\renewcommand{\optnvalue}{1}}% |
| \ifthenelse{\optnvalue > 0}{}{#2} |
| } |
| |
| % Use the reference to handle get a flexible reference command |
| % usage \reference{ref_section} |
| \ifpdfoutput{% |
| \newcommand{\reference}[1]{% |
| section~\ref{#1} (page~\pageref{#1})% |
| }} |
| {\newcommand{\reference}[1]{section~\ref{#1}}} |
| |
| % special HTML output adjustments |
| \ifpdfoutput{}{\setlength{\parindent}{0mm}} |
| \ifpdfoutput{}{\renewcommand{\Forward}[1]{$\triangleright${}#1}} |
| |
| \newcommand{\btnfnt}[1]{\textbf{#1}} |
| %\hfuzz=2pt |
| |
| % generate index |
| \usepackage{makeidx} |
| \makeindex |