Thassi10
24-01-2008, 03:50
Hallo,
ich (LaTeXneuling) möchte zwei lstenvironments in eine gewöhnliche environment einbetten. Mein Ziel ist es grauen und farbigen Quellcode gemeinsam in einem farbigen Rahmen unterzubringen samt Zeilennummern.
Was ich bis jetzt zusammengefriemelt hab, sieht folgendermaßen aus, und funktioniert auch bis auf einen kleinen Haken:
\newenvironment{fshaded}{%
\def\FrameCommand{\fcolorbox{framecolor}{shadecolo r}}%
\MakeFramed{\FrameRestore}}%
{\endMakeFramed}
\newenvironment{fdef}[1][]{%
\definecolor{shadecolor}{rgb}{.9,.9,1}%
\definecolor{framecolor}{rgb}{.1,.0,.7}%
\definecolor{framecolor}{rgb}{.1,.0,.7}%
\changefont{pcr}{m}{n}%
\color{gray1}%
\noindent%
\begin{fshaded}\vspace{12 pt}}{\end{fshaded}}
% ----------------------------------------------------------------
\lstnewenvironment{sourceCode}
{
\color{black}%
\vskip -12 pt%
\lstset{rulecolor=\color{framecolor},
keywordstyle=\color{darkblue},
identifierstyle=\color{black},
stringstyle=\color{blue},
commentstyle=\color{darkgreen},
breaklines=true
}
}{}
\lstnewenvironment{grayCode}
{
\color{gray1}%
\vskip -12 pt%
\lstset{rulecolor=\color{framecolor},
keywordstyle=\color{gray1}
}
}{}
Da meine Quellcodezeilen oft zu lang für eine Zeile waren, musste ich das Attribute breaklines auf true setzen. Dann verschwinden allerdings mehr oder weniger zufällig die Ränder meiner Quellcodebox. Ich habe schon versucht die inneren listings irgendwie in der Breite zu beschränken oder zu verschieben oder die environment breiter zu machen. Es klappt aber alles nicht.
Hat jemand eine Idee, wie man das lösen könnte?
Ein völlig anderer Ansatz wäre mir auch recht - so lange er denn funktioniert :) Ich sitze jetzt schon eine ganze Weile darüber und finde keinen Weg.
Vielen Dank!
Gruß MaX
ich (LaTeXneuling) möchte zwei lstenvironments in eine gewöhnliche environment einbetten. Mein Ziel ist es grauen und farbigen Quellcode gemeinsam in einem farbigen Rahmen unterzubringen samt Zeilennummern.
Was ich bis jetzt zusammengefriemelt hab, sieht folgendermaßen aus, und funktioniert auch bis auf einen kleinen Haken:
\newenvironment{fshaded}{%
\def\FrameCommand{\fcolorbox{framecolor}{shadecolo r}}%
\MakeFramed{\FrameRestore}}%
{\endMakeFramed}
\newenvironment{fdef}[1][]{%
\definecolor{shadecolor}{rgb}{.9,.9,1}%
\definecolor{framecolor}{rgb}{.1,.0,.7}%
\definecolor{framecolor}{rgb}{.1,.0,.7}%
\changefont{pcr}{m}{n}%
\color{gray1}%
\noindent%
\begin{fshaded}\vspace{12 pt}}{\end{fshaded}}
% ----------------------------------------------------------------
\lstnewenvironment{sourceCode}
{
\color{black}%
\vskip -12 pt%
\lstset{rulecolor=\color{framecolor},
keywordstyle=\color{darkblue},
identifierstyle=\color{black},
stringstyle=\color{blue},
commentstyle=\color{darkgreen},
breaklines=true
}
}{}
\lstnewenvironment{grayCode}
{
\color{gray1}%
\vskip -12 pt%
\lstset{rulecolor=\color{framecolor},
keywordstyle=\color{gray1}
}
}{}
Da meine Quellcodezeilen oft zu lang für eine Zeile waren, musste ich das Attribute breaklines auf true setzen. Dann verschwinden allerdings mehr oder weniger zufällig die Ränder meiner Quellcodebox. Ich habe schon versucht die inneren listings irgendwie in der Breite zu beschränken oder zu verschieben oder die environment breiter zu machen. Es klappt aber alles nicht.
Hat jemand eine Idee, wie man das lösen könnte?
Ein völlig anderer Ansatz wäre mir auch recht - so lange er denn funktioniert :) Ich sitze jetzt schon eine ganze Weile darüber und finde keinen Weg.
Vielen Dank!
Gruß MaX