sg123
22-05-2013, 10:38
Hallo zusammen,
schon mal vorne weg, vielen Dank für eure Hilfe.
Ich will in mein Dokument zwei kleine Java Programme zum direkten Vergleich nebeneinander einbinden. Zum Erstellen des Java-Codes verwende ich lstlisting und für die zwei Spalten arbeite ich mit multicols. An sich funktioniert das ganz gut, allerdings habe ich das Problem, dass die Zeilennummerierung des rechten Codes im Rahmen des linken Codes hängt. Leider habe ich keine Idee, wie ich das ändern könnte.
Hier ein Beispiel:
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{multicol}
\usepackage{listings}
\usepackage{pst-pdf}
\usepackage{color}
\begin{document}
\lstset{language=Java, %Setzt die Sprache
basicstyle=\scriptsize, %Setzt den Standardstil und Schriftgröße
keywordstyle=\color{blue!80!black!100}, %Setzt den Stil für Schlüsselwörter
identifierstyle=, % Identifier bekommen keine gesonderte formatierung
commentstyle=\color{green!50!black!100},% Stil für Kommentare
stringstyle=\ttfamily,% Stil für Strings (gekennzeichnet mit "String")
breaklines=true,% Zeilen werden umgebrochen
numbers=left,% Zeilennummern links
% numberstyle=\small,% Stil für die Seitennummern oder auch \tiny
frame=single,% Rahmen
backgroundcolor=\color{blue!5}, % Hintergrundfarbe
showstringspaces=false,
literate={Ö}{{\"O}}1 {Ä}{{\"A}}1 {Ü}{{\"U}}1 {ß}{{\ss}}2 {ü}{{\"u}}1 {ä}{{\"a}}1 {ö}{{\"o}}1 {µ}{\textmu}1,
tabsize=4
}
\begin{multicols}{2}
\begin{lstlisting}[caption={Methode \textit{run()}}, captionpos=t]
public void run() {
addElements();
defineActionListener();
setGetSize();
setVisible(true);
}
\end{lstlisting}
\columnbreak
\lstset{language=Java}
\begin{lstlisting}[caption={Klasse \texttt{Main}}, captionpos=t]
public class Main {
public static void main(String[] args){
Initialisation start = new Initialisation();
start.run();
start.setLocation(50, 50);
}
}
\end{lstlisting}
\end{multicols}
\end{document}
Vielen Dank,
sg
schon mal vorne weg, vielen Dank für eure Hilfe.
Ich will in mein Dokument zwei kleine Java Programme zum direkten Vergleich nebeneinander einbinden. Zum Erstellen des Java-Codes verwende ich lstlisting und für die zwei Spalten arbeite ich mit multicols. An sich funktioniert das ganz gut, allerdings habe ich das Problem, dass die Zeilennummerierung des rechten Codes im Rahmen des linken Codes hängt. Leider habe ich keine Idee, wie ich das ändern könnte.
Hier ein Beispiel:
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{multicol}
\usepackage{listings}
\usepackage{pst-pdf}
\usepackage{color}
\begin{document}
\lstset{language=Java, %Setzt die Sprache
basicstyle=\scriptsize, %Setzt den Standardstil und Schriftgröße
keywordstyle=\color{blue!80!black!100}, %Setzt den Stil für Schlüsselwörter
identifierstyle=, % Identifier bekommen keine gesonderte formatierung
commentstyle=\color{green!50!black!100},% Stil für Kommentare
stringstyle=\ttfamily,% Stil für Strings (gekennzeichnet mit "String")
breaklines=true,% Zeilen werden umgebrochen
numbers=left,% Zeilennummern links
% numberstyle=\small,% Stil für die Seitennummern oder auch \tiny
frame=single,% Rahmen
backgroundcolor=\color{blue!5}, % Hintergrundfarbe
showstringspaces=false,
literate={Ö}{{\"O}}1 {Ä}{{\"A}}1 {Ü}{{\"U}}1 {ß}{{\ss}}2 {ü}{{\"u}}1 {ä}{{\"a}}1 {ö}{{\"o}}1 {µ}{\textmu}1,
tabsize=4
}
\begin{multicols}{2}
\begin{lstlisting}[caption={Methode \textit{run()}}, captionpos=t]
public void run() {
addElements();
defineActionListener();
setGetSize();
setVisible(true);
}
\end{lstlisting}
\columnbreak
\lstset{language=Java}
\begin{lstlisting}[caption={Klasse \texttt{Main}}, captionpos=t]
public class Main {
public static void main(String[] args){
Initialisation start = new Initialisation();
start.run();
start.setLocation(50, 50);
}
}
\end{lstlisting}
\end{multicols}
\end{document}
Vielen Dank,
sg