KunterBuntesSeminar-WS09/Erste Schritte mit LaTeX/Quellcode Beispiel Seminararbeit
Version vom 19. November 2009, 21:25 Uhr von Julian F. (Diskussion | Beiträge) (Seminararbeit-Vorlage hochgeladen)
\documentclass[a4paper,pointednumbers,abstracton]{scrartcl} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{graphicx} \usepackage{listings} \usepackage{blindtext} \usepackage{color} \definecolor{DarkPurple}{rgb}{0.4,0.1,0.4} \definecolor{DarkCyan}{rgb}{0.0,0.5,0.4} \definecolor{LightLime}{rgb}{0.4,0.6,0.5} \definecolor{Blue}{rgb}{0.0,0.0,1.0} \usepackage{beramono} % für Java-Bezeichner und -Keywords im Fließtext \newcommand{\code}[1]{\small\lstinline[style=InlineJava]!#1!\normalsize} %\newcommand{\code}[1]{\scriptsize\texttt{#1}\normalsize} % für Listings mit Eintrag im Inhaltsverzeichnis \newcommand{\newlisting}[2]{ \subsubsection*{Listing \ref{lst:#1}: #2} \addcontentsline{toc}{subsubsection}{\ref{lst:#1}. #2}} \lstdefinestyle{Java} { language=Java, numbers=left, firstnumber=1, stepnumber=5, numberfirstline, numberstyle=\tiny\sffamily, tabsize=5, captionpos=b, aboveskip=1em, belowskip=1em, columns=flexible, xleftmargin=2em, xrightmargin=1em, frame=single, frameround=tttt, commentstyle=\itshape\color{LightLime}, keywordstyle=\bfseries\color{DarkPurple}, basicstyle=\footnotesize\ttfamily, stringstyle=\color{Blue}, showstringspaces=false, } \lstdefinestyle{InlineJava} { language=Java, columns=flexible, basicstyle=\bfseries\footnotesize\ttfamily\color{DarkCyan}, showstringspaces=false, } \title{Titel der Arbeit} \author{Vorname1 Nachname1, Vorname2 Nachname2} \date{X. Monat 20ab} \begin{document} \sffamily \maketitle \thispagestyle{empty} \vfill \begin{center} Seminararbeit im Seminar \Large \vspace{0.5cm} \textbf{"`Titel des Seminars"'} \normalsize \vspace{0.3cm} im \{Winter/Sommer\}semester 20ab \vspace{0.5cm} Dozenten: Dozent 1, Dozent 2 \end{center} \vfill \scriptsize \parbox{0.5\linewidth}{ \parskip 0.3em Seminar 64-NMR im \{Winter/Sommer\}semester 20ab Arbeitsbereich Xylophonzugänge (XyZ) Department Informatik Universität Hamburg } \hfill \parbox{4.2cm}{ \includegraphics[height=2.0cm]{Bilder/logo-fbi} \hfill \includegraphics[height=2.0cm]{Bilder/logo-uhh} } \addtolength{\voffset}{2cm} % Ende des Deckblatts, Anfang des Inhaltsverzeichnisses \newpage \addtolength{\voffset}{-2cm} \normalsize \rmfamily \setcounter{tocdepth}{3} \tableofcontents % Anfang des Fließtextes \newpage \def\abstractname{Kurzfassung} \begin{abstract} Dieses Paper befasst sich mit Dingen. \blindtext{1} \end{abstract} \section{Einführung} Das sind alles Dinge (vgl. \cite{Gamma1995}). Es gibt noch mehr Dinge (vgl. \cite{Freeman2004}). \blindtext \section{Dinge} \blindtext Das erkennt man in Listing \ref{lst:helloworld}. \section{Mehr Dinge} \blindtext \section{Zusammenfassung} \blindtext % Ende des Fließtextes % Es folgt der Anhang \newpage % Beginn des Anhangs \appendix \addcontentsline{toc}{section}{Anhang} \section*{Quelltext-Listings} \addcontentsline{toc}{subsection}{Quelltext-Listings} \newlisting{helloworld}{Hello World} \lstinputlisting[name=HelloWorld,label=lst:helloworld, caption={Hello World in Java}, title={\sffamily HelloWorld.java}, style=Java,inputencoding={latin1}] {Listings/HelloWorld.java} % Ende des Anhangs und des Inhaltstextes % Es folgt noch das Literaturverzeichnis \newpage \addcontentsline{toc}{section}{Literatur} \bibliographystyle{alphadin} \bibliography{literatur} \end{document}
literatur.bib:
@BOOK{Freeman2004, title = {Head First Design Patterns}, publisher = {O'Reilly Media}, year = {2004}, author = {Freeman, Elisabeth and Freeman, Eric and Bates, Bert and Sierra, Kathy}, address = {Sebastopol}, howpublished = {Paperback} } @BOOK{Gamma1995, title = {Design Patterns: Elements of Reusable Object-Oriented Software}, publisher = {Addison-Wesley}, year = {1995}, author = {Gamma, Erich and Helm, Richard and Johnson, Ralph and Vlissides, John}, address = {Boston} } @BOOK{Gosling2005, title = {Java Language Specification}, publisher = {Addison-Wesley}, year = {2005}, author = {Gosling, James and Joy, Bill and Steele, Guy and Bracha, Gilad}, address = {Boston}, edition = {Third Edition} }
Listings/HelloWorld.java (als Latin1 abspeichern, Listings kann kein UTF-8!)
/** * Wie der Volksmund weiß, ist in Java alles eine * Klasse. Daher müssen wir zunächst eine Klasse * definieren. Das geschieht durch das Schlüsselwort: * "class" gefolgt vom Namen der Klasse. Die Definition, * also die eigentliche Programmierung der Klasse, folgt * innerhalb geschweifter Klammern. */ class HelloWorld { /** * Die "main"-Methode (Funktion) ist der Einstiegspunkt * des Programms. Sie wird von der Laufzeitumgebung * automatisch aufgerufen, wenn das Programm gestartet * wird. Die Definition (Programmierung) der Methode erfolgt * anschließend innerhalb der geschweiften Klammern. * * @param args Die Methode bekommt ein Zeichenkettenarray * als Parameter übergeben dass die Kommandozeilenparameter * enthält (wird hier nicht verwendet). */ public static void main(String[] args) { // Definiere eine Zeichenkette. String message = "Hello World!"; // Gebe die Zeichenkette an der Konsole aus. System.out.println(message); } }