Moin moin,
Zitat von
nul
1) Durch die Farbbox der Zeilennummerierung werden die Zeilen hoeher, das fuehrt dazu, dass der Frame (Rand) um den Code luecken erhaelt.
dann vllt ein anderer Ansatz: per frameshape links eine Dopellinie definieren, von denen die linke unsichtbar ist ... und per rulesep die Breite der per rulesepcolor definierten Box vorgeben und unter die Zeilennummern schieben, dann entfällt die \colorbox im \thelstnumber. Apropos \thelstnumber: hat Dir
Code:
\renewcommand*\thelstnumber{
\colorbox{red}{
\ifnum\value{lstnumber}<100 \texttt{ }\fi
\ifnum\value{lstnumber}<10 \texttt{ }\fi
\texttt{\expandafter\arabic{lstnumber}}
}
}
nicht zusätzliche Abstände (horizontal -- und ich meine nicht die \texttt{ }) eingefügt?
Zitat von
nul
Und, wenn man genau hinschaut, dass zwischen den einzelnen Zeilennummern ein minimaler Weisser Rand zu sehen ist.
Schau es Dir mal mit unterschiedlichen Vergrösserungen an: wenn diese weißen Linien mit zunehmendem Zoom verschwinden, dann liegt es vermutlich am Betrachter; im Zweifelsfall schau Dir einen Probedruck an.
Zitat von
nul
2) Der minimale Abstand des Caption vom Rand des Quellcodes
Wo der genau herrührt, hab ich nicht weiter verfolgt, aber dieser Abstand scheint abhängig von der Textgröße (basicstyle) zu sein.
Versuch mal
Code:
\documentclass[ngerman,pdftex]{article}
\usepackage{babel,blindtext,xcolor}
\usepackage{listings}
\usepackage{caption}
\usepackage[scale=0.81]{geometry}
\newlength\myx
\newlength\myxa
\setlength\myxa{\fboxsep}
\addtolength\myxa{\fboxrule}
\setlength\myx{\textwidth}
\addtolength\myx{-2\fboxsep}
\DeclareCaptionFont{white}{\color{white}\emph}
\DeclareCaptionFormat{listing}{\colorbox{blue}{\parbox{\myx}{#1#2#3}}\vspace{-1ex}}
\captionsetup[lstlisting]{format=listing,labelfont=white,textfont=white}
\lstset{rulesepcolor=\color{red}, label=some-code, caption=Some Code, basicstyle=\scriptsize\ttfamily, numbers=left, numbersep=0.5em, language=[LaTeX]TeX, keywordstyle=\color{blue}, showtabs=false, commentstyle=\color{green}, stringstyle=\color{red}, tabsize=2, extendedchars=true, xleftmargin=\myxa, xrightmargin=\myxa,
%^^zur Darstellung bei Zeilenumbruch
framesep=\fboxsep,
rulesep=2em,
frameshape={yyy}{ny}{y}{yyy},%top/left/right/bottom
breaklines=true
}
\begin{document}
\blindtext
\lstinputlisting{\jobname.tex}%<--``Vorlage'' heisst es bei mir nich
\blindtext
\end{document}
MfG
Lesezeichen