Java Code per \lstinputlisting einbinden

Schriftbild, Absätze und Auflistungen einstellen


nik
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Di 12. Jan 2010, 21:07

Java Code per \lstinputlisting einbinden

Beitrag von nik »

Hallo zusammen,

ich habe eine Frage zur \listing Umgebung. Bzw. dem \lstinputlisting Befehl.
Ich möchte Java Source Code in mein Dokument aufnehmen.
Dazu nutze ich:
\lstset{language=Java}
\lstinputlisting{filename.java}
Im Header steht unter anderem:
\usepackage{listings}
\usepackage{color}	
\usepackage[svgnames]{xcolor}
Jetzt meine Frage, müsste der Java Source Code im Dokument jetzt nicht normalerweise mit richtigem Syntax Highlighting angezeigt werden? Also Schlüsselworte farbig usw?

Erst wenn ich
\lstset{language=Java,
	basicstyle=\small,
	keywordstyle=\color{blue!80!black!100},
	identifierstyle=,
	commentstyle=\color{green!50!black!100},
	stringstyle=\ttfamily,
	breaklines=true,
	numbers=left,
	numberstyle=\small,
	frame=single,
	backgroundcolor=\color{blue!3}
}
\lstinputlisting{filename.java}
nutze funktioniert es richtig.

Bitte um kurze Aufklärung. Habe dazu nicht wiklich was gefunden.

Vielen Danke & viele Grüße
Nik

aronadaal
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 52
Registriert: Mo 27. Jul 2009, 13:38

Beitrag von aronadaal »

Also das hier sieht bei mir jeweils anders aus.
\documentclass[12pt, a4paper, titlepage]{article}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{listings}
\usepackage{color}  
\usepackage[svgnames]{xcolor}

\begin{document}

\begin{lstlisting}
	public class Fahrzeug {
	  protected String name;
	  protected int Plaetze;

	  public int getPlaetze()
	  {
	    return Plaetze;
	  }
	}
\end{lstlisting}	

\lstset{language=Java}
\begin{lstlisting}
	public class Fahrzeug {
	  protected String name;
	  protected int Plaetze;

	  public int getPlaetze()
	  {
	    return Plaetze;
	  }
	}
\end{lstlisting}

\lstset{language=Java,
   basicstyle=\small,
   keywordstyle=\color{blue!80!black!100},
   identifierstyle=,
   commentstyle=\color{green!50!black!100},
   stringstyle=\ttfamily,
   breaklines=true,
   numbers=left,
   numberstyle=\small,
   frame=single,
   backgroundcolor=\color{blue!3}
}
\begin{lstlisting}
	public class Fahrzeug {
	  protected String name;
	  protected int Plaetze;

	  public int getPlaetze()
	  {
	    return Plaetze;
	  }
	}
\end{lstlisting}
\end{document}

nik
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Di 12. Jan 2010, 21:07

Beitrag von nik »

Ok, also bewirkt
\lstset{language=Java}
wirklich nur ein schwarz weiß Highlighting.

Gibt es evtl. irgendeine Sammlung verschiendern Styles für Java Code?

Und noch eine Frage. Wie kann ich einen Java Style anlegen, dass ich diesen nicht bei jedem Code-Block mit
\lstset{......}
neu definieren muss. Mit
\lstdefinelanguage
kann man ja eigene Sprachen definieren. Aber damit habe ich es nicht hinbekommen, da ja das language=Java dann fehlt.

aronadaal
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 52
Registriert: Mo 27. Jul 2009, 13:38

Beitrag von aronadaal »

Gibt es evtl. irgendeine Sammlung verschiendern Styles für Java Code?
Keine Ahnung. Da musst du mal googeln.
Wie kann ich einen Java Style anlegen, dass ich diesen nicht bei jedem Code-Block mit \lstset{......} neu definieren muss.
Lies dir doch mal die Doku zu listings durch. Die ist gut: http://www.ctan.org/tex-archive/macros/ ... /listings/
Dann wüsstest du auch, was lstset genau macht, nämlich Parameter zu konfigurieren, die bis zu ihrer nächsten Umkonfiguration erhalten bleiben. Also einmal definieren, fertig.

nik
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Di 12. Jan 2010, 21:07

Beitrag von nik »

@ aronadaal: Danke dir!

Antworten