listings: Anzahl der Tab-Einrückungen verringern ?

Schriftbild, Absätze und Auflistungen einstellen


Einfachkrank
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Mo 26. Nov 2012, 13:42

listings: Anzahl der Tab-Einrückungen verringern ?

Beitrag von Einfachkrank »

Hallo zusammen,

ich würde gerne wissen, ob es irgendwie möglich ist, die Anzahl der Tab-Einrückungen innerhalb eines listings-Blockes zu verringern. Bisher sieht das bei mir im tex-Dokument immer ungefähr so aus:
\paragraph{c)} Was sehen Sie wenn man das Spektrum in der letzten Teilaufgabe durch 
\begin{lstlisting}
plot(abs(X)/N);
\end{lstlisting}
Wenn ich stattdessen das tex-Dokument so gestalten könnte und in der Zeile mit dem plot(...)-Befehl zwei Tabs abziehen könnte, wäre ich in der Lage mein tex-Dokument viel schöner zu strukturieren und den Quellcode im listings-Block gleich aussehen zu lassen...
\paragraph{c)} Was sehen Sie wenn man das Spektrum in der letzten Teilaufgabe durch 
	\begin{lstlisting}
		plot(abs(X)/N);
	\end{lstlisting}
Ich hoffe, es wurde verständlich, was ich meine...

Viele Grüße,
Michael

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Hallo,

du könntest die Option xleftmargin dafür verwenden:
\documentclass{scrartcl}
\usepackage{listings}

\begin{document}

\paragraph{c)} Was sehen Sie wenn man das Spektrum in der letzten Teilaufgabe durch
% mit den Standardeinstellungen
% basewidth={0.6em,0.45em},columns=fixed bzw. flexiblecolumns=false und tabsize=8
% beträgt die Einrückung durch zwei Tabulatoren 2x8x0.6em=9.6em
	\begin{lstlisting}[xleftmargin=-9.6em]
		plot(abs(X)/N); 
	\end{lstlisting}

\paragraph{c)} Was sehen Sie wenn man das Spektrum in der letzten Teilaufgabe durch
\begin{lstlisting}
plot(abs(X)/N); 
\end{lstlisting}

\end{document}
Gruß
Elke

Einfachkrank
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Mo 26. Nov 2012, 13:42

Beitrag von Einfachkrank »

esdd hat geschrieben: du könntest die Option xleftmargin dafür verwenden
Das Problem hier ist, dass dann der Bereich sichtbar über den Rand hinaussteht, da ich eine Hintergrundfarbe definiert habe.
Hier meine Standard-Konfiguration:
\lstset{
	basicstyle=\ttfamily\scriptsize\mdseries,
	keywordstyle=\bfseries\color[rgb]{0,0,1},
	identifierstyle=,
	commentstyle=\color[rgb]{0,0.58,0},	
	stringstyle=\itshape\color[rgb]{0.65,0.16,0},
	numbers=left,
	numberstyle=\tiny,
	stepnumber=0,
	breaklines=true,
	frame=none,
	showstringspaces=false,
	tabsize=4,
	backgroundcolor=\color[rgb]{0.9,0.9,0.9},
	captionpos=b,
	float=htbp,
	language=Matlab,
	xleftmargin=15pt,
	xrightmargin=15pt
}

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4300
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Das Problem hier ist, dass dann der Bereich sichtbar über den Rand hinaussteht, da ich eine Hintergrundfarbe definiert habe.
Woran man wieder sieht, wie praktisch ein vollständiges Minimalbeispiel wäre.

Ich würde übrigens gobble benutzen (und auf keinen Fall tab-Einrückungen sondern normale Leerzeichen).

Einfachkrank
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Mo 26. Nov 2012, 13:42

Beitrag von Einfachkrank »

u_fischer hat geschrieben:Ich würde übrigens gobble benutzen (und auf keinen Fall tab-Einrückungen sondern normale Leerzeichen).
Kannst du das genauer erklären? Meinst du das aktive Löschen von Zeichen? Das habe ich versucht, aber irgendwie nicht hinbekommen...
Ob ich jetzt Leerzeichen oder Tabs benutze zum Einrücken des TeX-Codes, macht ja kein Unterschied. Im Listings-Block ist dann der Quellcode genau so weit eingerückt und das Problem bleibt bestehen...

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4300
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Kannst du das genauer erklären?
Suche in der Dokumentation nach "gobble".
Ob ich jetzt Leerzeichen oder Tabs benutze zum Einrücken des TeX-Codes, ...
Die "Breite" eines Tabs ist undefiniert. Er kann je nach Editoreinstellung 1 bis X Leerzeichen entsprechen. Das sieht dann bei dir toll aus, und wenn du die Datei mit einem anderen Editor öffnest, sind alle Einrückungen falsch. Du kannst Tabulatoren während des Schreibens benutzen, aber beim Speichern sollte dein Editor daraus besser Leerzeichen machen.

Einfachkrank
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Mo 26. Nov 2012, 13:42

Beitrag von Einfachkrank »

Ah, jetzt hab ich es gefunden! Hab die ganze Zeit allgemein bei LaTeX nach gobble gesucht, aber in der listings-Docu ist das natürlich was anderes ;-)

Funktioniert prima, vielen Dank!!!

Antworten