\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: