Archiv verlassen und diese Seite im Standarddesign anzeigen : Unterbrochender Hintergrund in Listing
Hallo zusammen.
Wie der Titel schon sagt, ist der Hintergrund in meinem Listing unterbrochen, wenn ich mit dem Mathmode eine zu hohe Zeile einfüge.
\documentclass[a4paper]{report}
\pdfoutput=1
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage{color}
\usepackage{listings}
\usepackage[pdftex,
colorlinks=true, linkcolor=blue, urlcolor=cyan, citecolor=red,
raiselinks=true,%
bookmarks=true,%
bookmarksopenlevel=1,%
bookmarksopen=true,%
bookmarksnumbered=true,%
hyperindex=true,%
plainpages=false,% correct hyperlinks
pdfpagelabels=true%,% view TeX pagenumber in PDF reader
%pdfborder={0 0 0.5}
]{hyperref} % erzeuge Hyperlinks z.B. für pdflatex
\definecolor{gray}{gray}{.85}
\lstset{backgroundcolor=\color{gray}, numbers=left, numberstyle=\small, breaklines=true, basicstyle=\footnotesize}
\begin{document}
\begin{lstlisting}[caption={Caption}, mathescape=true, nolol=true]
Zeile 1
x = $\left\{
\begin{array}{ll} true & \textrm{,falls Bedingung}\\
false & \textrm{, sonst}
\end{array}
\right.
$
Zeile 3
\end{lstlisting}
\end{document}
Kann man das irgendwie beheben, sodass der Hintergrund nicht mehr unterbrochen ist?
MfG Tom
mechanicus
01-03-2010, 21:42
Hi,
aus meinem Archiv:
\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage{listings}
\lstset{numbers=left, numberstyle=\small, breaklines=true, basicstyle=\footnotesize}
\usepackage{xcolor,framed}
\newenvironment{ListRahm}{%
\def\FrameCommand{\FrameSep=4pt\fcolorbox{black}{y ellow}}%
\setlength{\fboxrule}{2pt}%
\MakeFramed {\advance\hsize-\width\FrameRestore}}%
{\endMakeFramed}
\lstnewenvironment{ListingRahm}[1][]{\lstset{#1}\ListRahm}{\endListRahm}
\begin{document}
\lstset{language=Pascal}
\begin{ListingRahm}[mathescape]
for i:=maxint to 0 do
begin
$\sum\limits_{j=1}^ni^2+j$
end;
\end{ListingRahm}
\end{document}
Gruß
Marco
Hi,
danke für die Antwort. Mit deinem Code kann ich die Lücken im Beispiel, in denen der Hintegrund zu sehen war, ausfüllen, sodass der Hintergrund nun einheitlich grau ist. Allerdings ist das Aussehen des Listings bzw. der ganzen Seite sehr stark verändert: die caption ist nun im grauen Hintergrund und es tauchen viele Rahmen auf der Seite auf, die vorher nicht da waren.
\documentclass[a4paper]{report}
\pdfoutput=1
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage[showframe]{geometry}
\usepackage{listings}
\lstset{numbers=left, numberstyle=\small, breaklines=true, basicstyle=\footnotesize}
\usepackage{xcolor,framed}
\definecolor{gray}{gray}{.85}
\newenvironment{ListRahm}{%
\def\FrameCommand{\FrameSep=4pt\fcolorbox{gray}{gr ay}}%
\setlength{\fboxrule}{2pt}%
\MakeFramed {\advance\hsize-\width\FrameRestore}}%
{\endMakeFramed}
\lstnewenvironment{ListingRahm}[1][]{\lstset{#1}\ListRahm}{\endListRahm}
\usepackage{listings}
\usepackage[pdftex,
colorlinks=true, linkcolor=blue, urlcolor=cyan, citecolor=red,
raiselinks=true,%
bookmarks=true,%
bookmarksopenlevel=1,%
bookmarksopen=true,%
bookmarksnumbered=true,%
hyperindex=true,%
plainpages=false,% correct hyperlinks
pdfpagelabels=true%,% view TeX pagenumber in PDF reader
%pdfborder={0 0 0.5}
]{hyperref} % erzeuge Hyperlinks z.B. für pdflatex
\lstset{backgroundcolor=\color{gray}, numbers=left, numberstyle=\small, breaklines=true, basicstyle=\footnotesize}
\begin{document}
%\begin{lstlisting}[caption={Caption}, mathescape=true, nolol=true]
\begin{ListingRahm}[mathescape,caption=Caption]
Zeile 1
x = $\left\{
\begin{array}{ll} true & \textrm{,falls Bedingung}\\
false & \textrm{, sonst}
\end{array}
\right.
$
Zeile 3
\end{ListingRahm}
%\end{lstlisting}
\end{document}
Ist es irgendwie möglich, dass man das Aussehen wie im Minibeispiel aus dem ersten Posting beibehält, sodass sich die restliche Seite und das Aussehen des Listings nicht verändert?
MfG Tom
Ist es vielleicht möglich, das Listing irgendwie so zu modifizieren, dass man eine graue Box in den Hintergrund einfügt?
Hallo,
Weiß wirklich niemand, wie man den Hintergrund wieder als eine einheitliche graue Fläche machen kann? Mit der Lösung von mechanicus ändert sich leider das Aussehen/Seitenlayout zu stark (trotzdem danke für deine Lösung :) ). Da ich die dazugehörige Arbeit sehr bald abgeben muss:eek:, und mir ein weißer Hintergrund nicht so schön erscheint, wäre ich sehr dankbar, wenn jemand eine Lösung wüsste, die das restliche Layout nicht/kaum beeinträchtigt.
Danke schon mal im Vorraus,
Tom
mechanicus
01-04-2010, 00:20
Hi,
\documentclass[a4paper]{report}
\pdfoutput=1
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage[showframe]{geometry}
\usepackage{xcolor,framed}
\usepackage{caption}
\usepackage{listings}
\usepackage{listings}
\lstset{backgroundcolor=\color{gray}, numbers=left, numberstyle=\small, breaklines=true, basicstyle=\footnotesize}
\definecolor{gray}{gray}{.85}
\newenvironment{ListRahm}{%
\def\FrameCommand{\FrameSep=4pt\fcolorbox{gray}{gr ay}}%
\setlength{\fboxrule}{2pt}%
\MakeFramed {\advance\hsize-\width\FrameRestore}}%
{\endMakeFramed}
\lstnewenvironment{ListingRahm}[2][]{%
\center
\captionsetup{type=lstlisting}\caption{#2}
\vspace*{-3\medskipamount}
\endcenter%
\lstset{aboveskip=0pt,belowskip=0pt,#1}\ListRahm}{ \endListRahm}
\usepackage[pdftex,
colorlinks=true, linkcolor=blue, urlcolor=cyan, citecolor=red,
raiselinks=true,%
bookmarks=true,%
bookmarksopenlevel=1,%
bookmarksopen=true,%
bookmarksnumbered=true,%
hyperindex=true,%
plainpages=false,% correct hyperlinks
pdfpagelabels=true%,% view TeX pagenumber in PDF reader
%pdfborder={0 0 0.5}
]{hyperref} % erzeuge Hyperlinks z.B. für pdflatex
\begin{document}
T Text
\begin{ListingRahm}[mathescape=true]{Caption}
Zeile 1
x = $\left\{
\begin{array}{ll} true & \textrm{,falls Bedingung}\\
false & \textrm{, sonst}
\end{array}
\right.
$
Zeile 3
\end{ListingRahm}
\end{document}
Gruß
Marco
Hallo,
danke für die Lösung, damit kann der unterbrochene Hintergrund wiederhergestellt werden.:)
Ich dachte das letzte mal, dass die Linien, die durch das Paket
\usepackage[showframe]{geometry}
auf der Seite eingefügt wurden, ebenfalls zur der ListRahm-Umgebung gehören. Aber durch's Auskommentieren hat es super funktioniert.:D
Eine kleine Frage hätte ich trotzdem: Bei einem Listing stand sonst immer noch eine Nummerierung, die jetzt fehlt, obwohl es mit korrekter Nummer in "listoflisting" angezeigt wird. Kann man die ListingRahm-Umgebung erweitern, dass auch wieder die Nummerierung angezeigt wird?
Viele Grüße,
Tom
mechanicus
06-04-2010, 12:44
Eine kleine Frage hätte ich trotzdem: Bei einem Listing stand sonst immer noch eine Nummerierung, die jetzt fehlt, obwohl es mit korrekter Nummer in "listoflisting" angezeigt wird. Kann man die ListingRahm-Umgebung erweitern, dass auch wieder die Nummerierung angezeigt wird?
\documentclass[a4paper]{report}
\pdfoutput=1
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage[showframe]{geometry}
\usepackage{xcolor,framed}
\usepackage{listings}
\usepackage{caption}
% \DeclareCaptionFormat{plain}{#1#2#3\par}
\captionsetup[lstlisting]{labelformat=listingsformart}
\DeclareCaptionLabelFormat{listingsformart}{\bfser ies #1 #2}
\lstset{backgroundcolor=\color{gray}, numbers=left, numberstyle=\small, breaklines=true, basicstyle=\footnotesize}
\definecolor{gray}{gray}{.85}
\newenvironment{ListRahm}{%
\def\FrameCommand{\FrameSep=4pt\fcolorbox{gray}{gr ay}}%
\setlength{\fboxrule}{2pt}%
\MakeFramed {\advance\hsize-\width\FrameRestore}}%
{\endMakeFramed}
\lstnewenvironment{ListingRahm}[2][]{%
\center
\captionsetup{type=lstlisting}\caption{#2}
\vspace*{-3\medskipamount}
\endcenter%
\lstset{aboveskip=0pt,belowskip=0pt,#1}\ListRahm}{ \endListRahm}
\usepackage[pdftex,
colorlinks=true, linkcolor=blue, urlcolor=cyan, citecolor=red,
raiselinks=true,%
bookmarks=true,%
bookmarksopenlevel=1,%
bookmarksopen=true,%
bookmarksnumbered=true,%
hyperindex=true,%
plainpages=false,% correct hyperlinks
pdfpagelabels=true%,% view TeX pagenumber in PDF reader
%pdfborder={0 0 0.5}
]{hyperref} % erzeuge Hyperlinks z.B. für pdflatex
\begin{document}
\lstlistoflistings
T Text
\begin{ListingRahm}[mathescape=true]{Caption}
Zeile 1
x = $\left\{
\begin{array}{ll} true & \textrm{,falls Bedingung}\\
false & \textrm{, sonst}
\end{array}
\right.
$
Zeile 3
\end{ListingRahm}
\end{document}
Gruß
Marco
Hallo,
hat super funktioniert.:)
Eine Sache ist mir allerdings aufgefallen. Ich habe jetzt alle meine Listings auf die neue Umgebung geändert. Bei manchen war die Option "nolol=true", da ich einzelne Listings nicht im Listing-Verzeichnis stehen haben wollte. Mit der neuen Umgebung scheint die Option allerdings keine Wirkung mehr zu haben. Andere Optionen wie "mathescape" funktionieren weiterhin. Kann man die Option wieder irgendwie aktivieren?
Viele Grüße,
Tom
Hi,
Wenn die Option "nolol=true" keine Wirkung mehr zeigt :confused: und sich in der neuen Umgebung 'ListingRahm' nicht mehr aktivieren lässt, ist es dann vielleicht möglich, Einträge aus dem Listings-Verzeichnis (lstlistoflistings) wieder zu entfernen?
Viele Grüße,
Tom
lockstep
09-04-2010, 18:24
Vielleicht nicht die eleganteste Lösung - ich habe eine neue Umgebung ListingRahmNolol definiert, die praktisch das gleiche tut wie ListingRahm, jedoch statt \caption \caption* verwendet.
\documentclass[a4paper]{report}
\pdfoutput=1
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage[showframe]{geometry}
\usepackage{xcolor,framed}
\usepackage{listings}
\usepackage{caption}
% \DeclareCaptionFormat{plain}{#1#2#3\par}
\captionsetup[lstlisting]{labelformat=listingsformart}
\DeclareCaptionLabelFormat{listingsformart}{\bfser ies #1 #2}
\lstset{backgroundcolor=\color{gray}, numbers=left, numberstyle=\small, breaklines=true, basicstyle=\footnotesize}
\definecolor{gray}{gray}{.85}
\newenvironment{ListRahm}{%
\def\FrameCommand{\FrameSep=4pt\fcolorbox{gray}{gr ay}}%
\setlength{\fboxrule}{2pt}%
\MakeFramed {\advance\hsize-\width\FrameRestore}}%
{\endMakeFramed}
\lstnewenvironment{ListingRahm}[2][]{%
\center
\captionsetup{type=lstlisting}\caption{#2}
\vspace*{-3\medskipamount}
\endcenter%
\lstset{aboveskip=0pt,belowskip=0pt,#1}\ListRahm}{ \endListRahm}
\lstnewenvironment{ListingRahmNolol}[2][]{%
\center
\captionsetup{type=lstlisting,list=false}\caption* {#2}
\vspace*{-3\medskipamount}
\endcenter%
\lstset{aboveskip=0pt,belowskip=0pt,#1}\ListRahm}{ \endListRahm}
\usepackage[pdftex,
colorlinks=true, linkcolor=blue, urlcolor=cyan, citecolor=red,
raiselinks=true,%
bookmarks=true,%
bookmarksopenlevel=1,%
bookmarksopen=true,%
bookmarksnumbered=true,%
hyperindex=true,%
plainpages=false,% correct hyperlinks
pdfpagelabels=true%,% view TeX pagenumber in PDF reader
%pdfborder={0 0 0.5}
]{hyperref} % erzeuge Hyperlinks z.B. für pdflatex
\begin{document}
\lstlistoflistings
T Text
\begin{ListingRahmNolol}[mathescape=true]{Caption}
Zeile 1
x = $\left\{
\begin{array}{ll} true & \textrm{,falls Bedingung}\\
false & \textrm{, sonst}
\end{array}
\right.
$
Zeile 3
\end{ListingRahmNolol}
\begin{ListingRahm}[mathescape=true]{Caption}
Zeile 1
x = $\left\{
\begin{array}{ll} true & \textrm{,falls Bedingung}\\
false & \textrm{, sonst}
\end{array}
\right.
$
Zeile 3
\end{ListingRahm}
\end{document}
lockstep
mechanicus
09-04-2010, 20:57
Hi,
\documentclass[a4paper]{report}
\pdfoutput=1
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage[showframe]{geometry}
\usepackage{xcolor,framed}
\usepackage{listings}
\usepackage{caption}
% \DeclareCaptionFormat{plain}{#1#2#3\par}
\captionsetup[lstlisting]{labelformat=listingsformart}
\DeclareCaptionLabelFormat{listingsformart}{\bfser ies #1 #2}
\lstset{backgroundcolor=\color{gray}, numbers=left, numberstyle=\small, breaklines=true, basicstyle=\footnotesize}
\definecolor{gray}{gray}{.85}
\newenvironment{ListRahm}{%
\def\FrameCommand{\FrameSep=4pt\fcolorbox{gray}{gr ay}}%
\setlength{\fboxrule}{2pt}%
\MakeFramed {\advance\hsize-\width\FrameRestore}}%
{\endMakeFramed}
\makeatletter
\lstnewenvironment{ListingRahm}[2][]{%
\center\captionsetup{type=lstlisting}
\lstset{#1}
\lst@ifnolol
\caption[]{#2}
\else
\caption{#2}
\fi
\vspace*{-3\medskipamount}
\endcenter%
\lstset{aboveskip=0pt,belowskip=0pt,#1}\ListRahm}{ \endListRahm}
\makeatother
\usepackage[pdftex,
colorlinks=true, linkcolor=blue, urlcolor=cyan, citecolor=red,
raiselinks=true,%
bookmarks=true,%
bookmarksopenlevel=1,%
bookmarksopen=true,%
bookmarksnumbered=true,%
hyperindex=true,%
plainpages=false,% correct hyperlinks
pdfpagelabels=true%,% view TeX pagenumber in PDF reader
%pdfborder={0 0 0.5}
]{hyperref} % erzeuge Hyperlinks z.B. für pdflatex
\usepackage{lipsum}
\begin{document}
\lstlistoflistings
\chapter{foo}
\lipsum[1]
\begin{ListingRahm}[mathescape=true]{Caption 1}
Zeile 1
x = $\left\{
\begin{array}{ll} true & \textrm{,falls Bedingung}\\
false & \textrm{, sonst}
\end{array}
\right.
$
Zeile 3
\end{ListingRahm}
\lipsum[1]
\begin{ListingRahm}[mathescape=true,nolol=true]{Caption 2}
Zeile 1
x = $\left\{
\begin{array}{ll} true & \textrm{,falls Bedingung}\\
false & \textrm{, sonst}
\end{array}
\right.
$
Zeile 3
\end{ListingRahm}
\lipsum[1]
\end{document}
Gruß
Marco
Hallo,
ich bin gerade etwas im Abgabestress, deswegen hatte ich ganz vergessen zu antworten.:o
Ich hab mich für die Lösung von mechanicus/Marco entschieden (trotzdem danke lockstep!), da ich so nur eine Umgebung definieren muss, mit der beide Fälle möglich sind. Deine Lösung funktioniert super, deswegen vielen Dank dafür :).
Viele Grüße,
Tom
lockstep
16-04-2010, 18:39
Ich hab mich für die Lösung von mechanicus/Marco entschieden (trotzdem danke lockstep!), da ich so nur eine Umgebung definieren muss, mit der beide Fälle möglich sind.
Kein Problem - mein Ansatz war mehr als Notlösung für den Fall gedacht, dass mechanicus sich nicht meldet. :)
lockstep
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.