71 lines
2.4 KiB
TeX
71 lines
2.4 KiB
TeX
\chapter{Code}\label{cha:code}
|
|
You can put code in your document using the \texttt{listings} package, which is
|
|
loaded. Be aware that the \texttt{listings}
|
|
package does not put code in your document if you are in draft mode
|
|
unless you give it the \texttt{final} option.
|
|
|
|
There is an example java (Listing~\ref{src:Data_Bus.java}) and XML
|
|
file (Listing~\ref{src:AndroidManifest.xml}). Thanks to the
|
|
\texttt{url} package, you can typeset OSX and unix paths like this:
|
|
\path{/afs/rnd.ru.is/project/thesis-template}. Windows paths:
|
|
\path{C:\windows\temp\ }. Note: The \texttt{menukey} package has
|
|
similar functionality but may cause problems.
|
|
|
|
If you are trying to include multiple different languages, you should
|
|
go read the documentation and set these up as below. You
|
|
will save yourself a lot of effort, especially if you have to fix
|
|
anything.
|
|
|
|
%% The pre-defined languages we want to use.
|
|
\lstloadlanguages{Java, XML}
|
|
|
|
%% We can also define a new language (so we can change some formatting)
|
|
%% Be careful you do not make a recursive style nor language!!
|
|
%% You can just use the XML language, or in this case create a "dialect"
|
|
\lstdefinelanguage[android]{XML}%
|
|
{ %
|
|
sensitive=false,% case-insensitive
|
|
classoffset=0, % first class
|
|
morekeywords={manifest},
|
|
classoffset=1, % second class
|
|
morekeywords={uses, sdk, application, activity},
|
|
keywordstyle=\color{blue}, % set a color
|
|
classoffset=0, % reset back to 0
|
|
}
|
|
|
|
%% We use listing styles to adjust the appearance
|
|
%% Be careful you do not make a recursive style nor language!!
|
|
%% This makes use of the listing package to show program output
|
|
\lstdefinestyle{progoutput}{
|
|
language=sh,
|
|
frame=single,
|
|
breaklines=true,
|
|
prebreak=\textbackslash,
|
|
captionpos=b,
|
|
basicstyle=\small\ttfamily,
|
|
showstringspaces=false
|
|
}
|
|
|
|
%% I have put the source code in the \directory{src/} folder.
|
|
\lstinputlisting[language={bash}, firstline=1,
|
|
caption={File extensions to ignore of LaTeX temporary files},
|
|
label={src:gitignore-example}]{src/gitignore-example}
|
|
|
|
\lstinputlisting[language=Java, firstline=1,
|
|
lastline=40, caption={Data\_Bus.java: Setting up the class.},
|
|
label={src:Data_Bus.java}]{src/Data_Bus.java}
|
|
|
|
\lstinputlisting[language={[android]XML}, firstline=1, lastline=20,
|
|
caption={AndroidManifest.xml: Configuration for the Android UI.},
|
|
label={src:AndroidManifest.xml}]{src/AndroidManifest.xml}
|
|
|
|
|
|
|
|
%% TODO: fix wrapping from custom.sty
|
|
|
|
%%% Local Variables:
|
|
%%% mode: latex
|
|
%%% TeX-master: "main"
|
|
%%% TeX-engine: luatex
|
|
%%% End:
|