PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Listing formatieren



toob
29-07-2006, 17:37
Einen schönen guten Abend.

Einige Formatierungsfragen zu Code-Listings drängen sich mir bei der ersten Benutzung des listings-Paketes auf: Kann ich die Breite des Listings irgendwie mit angeben? Ich möchte nicht, dass sich der Rahmen über die gesamte Seitenbreite zieht, sondern links und rechts einen etwas größeren Rand als im umgebenden Text haben.
Außerdem hätte ich gerne einen etwas geringeren Zeilenabstand, da selbst ein kurzer Codeblock schon gehörig aufgebläht wird. Wenn es dann auch noch möglich wäre, den caption-Eintrag unterhalb des Listings darzustellen, wären eigentlich alle meine Wünsche erfüllt. Besten Dank vorab,

Gruß aus HB, Toob

edico
31-07-2006, 07:04
Schau dir mal die manpage an, da steht auch was drin ;-)
%
\documentclass[a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage{xcolor}
\definecolor{myBlue}{cmyk}{0.62,0.57,0.23,0}
\definecolor{myBrown}{cmyk}{0,0.81,1,0.60}
\usepackage{listings,marvosym}
\begin{document}
\lstset{language = {[LaTeX]TeX},
basicstyle = \small\ttfamily,% Schriftgroesse
commentstyle = \color{myBrown},
identifierstyle= \ttfamily\color{myBlue}\bfseries,
breaklines = true,
prebreak = \raisebox{-.8ex}[0ex][0ex]{\Righttorque}
}

%%%
%%% Textbreite: s. Abschnitt 4.11
%%% Parameter "xleftmargin" und "xrightmargin" oder
%%% verwende eine minipage mit geringerer Bereite
%%%
\subsection*{Breite mit xleftmargin,xrightmargin \ldots}
\lstset{xleftmargin=12pt,xrightmargin=12pt}
\begin{lstlisting}
\documentclass{article}
\begin{document}
\section{Start}
% here an comment
here comes the text and more and more and more and more and more and more and more and more and more and more and more and more
\xsum{a,b,c}
\end{document}
\end{lstlisting}

\subsection*{\ldots oder Breite mit minipage}
\begin{center}
\begin{minipage}[t]{0.5\textwidth}
\begin{lstlisting}
\documentclass{article}
\begin{document}
\section{Start}
% here an comment
here comes the text and more and more and more and more and more and more and more and more and more and more and more and more
\xsum{a,b,c}
\end{document}
\end{lstlisting}
\end{minipage}
\end{center}

%%%
%%% Zeilenabstand statt lineskip=0pt mit negativen Werten
%%%
\subsection*{Zeilenabstand ändern, caption bottomside}
lineskip auf negativen Wert setzen, aber der Frame besteht aus einer gestrichelten Linie.

\lstset{lineskip=-6pt,captionpos=b}
\begin{lstlisting}[
frame=trb,
% abovecaptionskip=\baselineskip,% Abstand listings-caption
caption={Sehr lange Zeile, sehr lange Zeile, die hier nur vorkommt, weil
sie umbrochen werden soll.}%
]{}
\documentclass{article}
\begin{document}
\section{Start}
% here an comment
here comes the text and more and more and more and more and more and more and more and more and more and more and more and more
\xsum{a,b,c}
\end{document}
\end{lstlisting}
\end{document}
%
edico

toob
31-07-2006, 19:21
Schau dir mal die manpage an, da steht auch was drin ;-)


Ja, das hätte ich vielleicht tun sollen (mir ist diese ganze LaTeX-Geschichte noch immer einigermaßen fremd, sodass ich mich nicht völlig selbstverständlich im LaTeX-Universum bewegen kann). Danke für den Hinweis.

Und vor allem natürlich besten Dank für die direkte Beantwortung meiner Fragen, großartig!