PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : \lstinputlisting in tabular x



Oekel
24-01-2013, 20:51
Hallo erst Mal,
ich bin ganz neu hier und just wegen diesen Problem der Comunity beigetreten. (Aber bereits vorher habe ich sehr viel von euch gelernt)

Ich habe das folgende Problem:
Es befindet sich eine lstinputlisting-Umgebung in einer tabularx.

Ich benötige eigentlich nur 2 Spalten. Links Text und rechts der Codeschnipsel.
Nun wollte ich die Zeilennumerierungen des Codeblocks jedoch sehen und da sich diese links befinden sollen musste ich in der mitte eine neue Spalte der größe 0 einfügen, die nur diesen Overhead abdeckt.

Soweit ist nun die Codeumgebung beinahe identisch mit den (temporär) gezeichneten Spaltentrennlinien.

Doch die Codeumgebung beginn erst in der zweiten Zeile, wenn man es mit der linken Spalte vergleicht. Wenn ich vor den Codeblock noch etwas Text schreibe, dann beginnen beide Spalten in der selben Höhe mit dem Text.

Nun frage ich mich, wie ich den Codeblock ebenfalls dort beginnen lassen kann.

Hier noch ein Minimalbeispiel (der compilierbare Code im Anhang als txt stat tex):

\documentclass{article}
\usepackage{array}
\usepackage{tabularx}
\usepackage{listings}
\usepackage{color}

\begin{document}

\renewcommand\lstlistlistingname{Quellcode}
\lstset{language=OCL, numbers=left, numberstyle=\tiny, stepnumber=2, numbersep=5pt, framexleftmargin=5mm, breaklines=true, showstringspaces=false, firstnumber=auto}

\renewcommand{\arraystretch}{0.01}
\begin{tabularx}{\textwidth}{|X|p{0mm}|p{6cm}|}
\hline
Test Abracadabra bmnbm,b,m,b bmnbm,b,m bmbmbgjgk &&{\lstinputlisting[name=USE, label=use, linerange={1-7}, frame=single, frameround=ftft,
backgroundcolor=\color{yellow}]{code/Mau-Mau.use}}\\
\hline
Test Abracadabra bmnbm,b,m,b bmnbm,b,m bmbmbgjgk && {\lstinputlisting[name=USE, label=use, linerange={1-7}, frame=single, frameround=ftft,
backgroundcolor=\color{yellow}]{code/Mau-Mau.use}}\\
\end{tabularx}
\end{document}

Kann mir einer sagen, woran es liegt?
Btw.\renewcommand{\arraystretch}{0.01} und
\renewcommand\lstlistlistingname{Quellcode}
machen auch nicht das was ich dachte ;)

Grüße Oekel