Rahmenfarbe in {lstlisting} Umgebung nicht durchgängig

Schriftbild, Absätze und Auflistungen einstellen


Kaleun
Forum-Anfänger
Forum-Anfänger
Beiträge: 18
Registriert: Di 15. Okt 2019, 20:54
Wohnort: Bochum

Rahmenfarbe in {lstlisting} Umgebung nicht durchgängig

Beitrag von Kaleun »

Hallo,

Ich möchte, dass mein Rahmen in der lstlisting Umgebung durchgängig schwarz ist. Da mein Code an manchen Stellen zu lang ist, bricht er automatisch um (was gut ist), jedoch ändert er an dieser Stelle die Rahmenfarbe.
Ich habe schon versucht, diesem mit "rulecolor=\color{black}," entgegenzuwirken, leider ohne Erfolg. Wenn ich diesen Befehl verwende, schreibt er mir an den Anfang jeder Zeile black; break line.

In der Präambel habe ich folgendes definiert:
\usepackage{color}
\definecolor{maroon}{rgb}{0.5, 0.0, 0.0}
\definecolor{darkolivegreen}{rgb}{0.33, 0.42, 0.18}
\usepackage{caption}
\usepackage{listings}
\lstdefinelanguage{XML}
{
	basicstyle=\ttfamily\footnotesize,
	morestring=[b]",
	moredelim=[s][\bfseries\color{maroon}]{<}{\ },
	moredelim=[s][\bfseries\color{maroon}]{</}{>},
	moredelim=[l][\bfseries\color{maroon}]{/>},
	moredelim=[l][\bfseries\color{maroon}]{>},
	morecomment=[s]{<?}{?>},
	morecomment=[s]{<!--}{-->},
	commentstyle=\color{darkolivegreen},
	stringstyle=\color{blue},
	identifierstyle=\color{red},
	numbers=left,
	tabsize=2,
	frame=single,
	breaklines=true,
	captionpos=b
}
Meine Auflistung habe ich folgendermaßen definiert:
\renewcommand{\lstlistingname}{Auflistung}
\begin{lstlisting}[language={XML}, caption={Fragment einer documentsignatures.xml Datei, welches die standardmäßig auftretenden \texttt{<Reference>} Elemente zeigt (erstellt unter LibreOffice Version 6.3).}]
<Reference URI="mimetype">
	<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
	<DigestValue>cU2+NwsKcGNmkhfZGyh1Zv6Lq7yFmbYpskR2/4G4NZM=</DigestValue>
</Reference>
<Reference URI="styles.xml">
	<Transforms>
		<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
	</Transforms>
	<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
	<DigestValue>jj4tjq2F2K2b0ytav0dZOqjwszvSlbERnRjYiBBfPDU=</DigestValue>
</Reference>
<Reference URI="manifest.rdf">
	<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
	<DigestValue>rrKXmEsmowvZom8wSzm8fZGiZFdJs1578/RMS5UR3HU=</DigestValue>
</Reference>
<Reference URI="meta.xml">
	<Transforms>
		<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
	</Transforms>
	<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
	<DigestValue>TL0pNXpOYIZQgrX5B0nEfIGrED3wbimZGSdcTT6mKw8=</DigestValue>
</Reference>
<Reference URI="settings.xml">
	<Transforms>
		<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
	</Transforms>
	<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
	<DigestValue>C2JlZBgd9nelvaw7FgaQUshRh9lUEhLaHDOTw8c2bpM=</DigestValue>
</Reference>
<Reference URI="Thumbnails/thumbnail.png">
	<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
	<DigestValue>iDt1e/5R6aQKIYF6e5ml1ZNHI/nfjnISn1p7rhfTVWk=</DigestValue>
</Reference>
<Reference URI="content.xml">
	<Transforms>
		<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
	</Transforms>
	<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
	<DigestValue>NnUZYbi4PHjqfwh7yjae55jFqaZkidTSSf7ttcTZcOU=</DigestValue>
</Reference>
<Reference URI="META-INF/manifest.xml">
	<Transforms>
		<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
	</Transforms>
	<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
	<DigestValue>XYYGvDsDKDMNdeB6HxjsuRbwl/DPrWoUrL+uyOCU0wA=</DigestValue>
</Reference>
<Reference URI="#ID_00dd00f400e600f400e700c1004e003b0081006400f800f5006c009a00630055">
	<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
	<DigestValue>/WTPHLIsCQZ6JWx/SRKUbHLxS7YczDg2xA2A8ODFgpI=</DigestValue>
</Reference>
<Reference URI="#idSignedProperties" Type="http://uri.etsi.org/01903#SignedProperties">
	<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
	<DigestValue>IfYoNx2Bcz8tSS3y2gGTR4TI9QRprSqDxyfFpubqJV8=</DigestValue>
</Reference>
\end{lstlisting}
Vielen Dank im Voraus für die Hilfe.

VG Kaleun

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Du könntest die Ausschnitte auch zu einem vollständigen Beispiel zusammenfügen, damit die Helfer das nicht tun müssen. Da ich nicht weiß, welche Klasse Du in diesem Fall benutzt, habe ich selbst eine gewählt.

Ich habe den Rahmen mal etwas breiter eingestellt, sehe aber auf den ersten Blick keine Auffälligkeiten. Lediglich die lange hexadezimale Zahl tritt auf der rechten Seite über den Rand.

Leider fand ich keine bessere Methode, um die Worttrennung in der Beschriftung des Quelltextes zu ermöglichen. Zumindest funktioniert sie so, ohne die Trennstellen anderweitig zu erzwingen.
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{xcolor}
\usepackage{listings}
\usepackage{hyperref}

\definecolor{maroon}{rgb}{0.5, 0.0, 0.0}
\definecolor{darkolivegreen}{rgb}{0.33, 0.42, 0.18}

\lstdefinelanguage{XML}
{
   basicstyle=\ttfamily\footnotesize,
   morestring=[b]",
   moredelim=[s][\bfseries\color{maroon}]{<}{\ },
   moredelim=[s][\bfseries\color{maroon}]{</}{>},
   moredelim=[l][\bfseries\color{maroon}]{/>},
   moredelim=[l][\bfseries\color{maroon}]{>},
   morecomment=[s]{<?}{?>},
   morecomment=[s]{<!--}{-->},
   commentstyle=\color{darkolivegreen},
   stringstyle=\color{blue},
   identifierstyle=\color{red},
   numbers=left,
   tabsize=2,
   frame=single,
   framerule=3pt,
   rulecolor=\color{black},
   breaklines=true,
   captionpos=b
} 

\newcaptionname{ngerman}{\lstlistingname}{Auflistung}

\newcommand*{\code}[1]{\lstinline[basicstyle=\ttfamily\normalsize]!#1!}

\begin{document}
\begin{lstlisting}[language={XML}, caption={\pretolerance=100 Fragment einer \protect\path{documentsignatures.xml} Datei, welches die standardmäßig auftretenden \code{<Reference>} Elemente zeigt (erstellt unter LibreOffice Version 6.3).}]
<Reference URI="mimetype">
   <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
   <DigestValue>cU2+NwsKcGNmkhfZGyh1Zv6Lq7yFmbYpskR2/4G4NZM=</DigestValue>
</Reference>
<Reference URI="styles.xml">
   <Transforms>
      <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
   </Transforms>
   <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
   <DigestValue>jj4tjq2F2K2b0ytav0dZOqjwszvSlbERnRjYiBBfPDU=</DigestValue>
</Reference>
<Reference URI="manifest.rdf">
   <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
   <DigestValue>rrKXmEsmowvZom8wSzm8fZGiZFdJs1578/RMS5UR3HU=</DigestValue>
</Reference>
<Reference URI="meta.xml">
   <Transforms>
      <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
   </Transforms>
   <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
   <DigestValue>TL0pNXpOYIZQgrX5B0nEfIGrED3wbimZGSdcTT6mKw8=</DigestValue>
</Reference>
<Reference URI="settings.xml">
   <Transforms>
      <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
   </Transforms>
   <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
   <DigestValue>C2JlZBgd9nelvaw7FgaQUshRh9lUEhLaHDOTw8c2bpM=</DigestValue>
</Reference>
<Reference URI="Thumbnails/thumbnail.png">
   <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
   <DigestValue>iDt1e/5R6aQKIYF6e5ml1ZNHI/nfjnISn1p7rhfTVWk=</DigestValue>
</Reference>
<Reference URI="content.xml">
   <Transforms>
      <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
   </Transforms>
   <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
   <DigestValue>NnUZYbi4PHjqfwh7yjae55jFqaZkidTSSf7ttcTZcOU=</DigestValue>
</Reference>
<Reference URI="META-INF/manifest.xml">
   <Transforms>
      <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
   </Transforms>
   <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
   <DigestValue>XYYGvDsDKDMNdeB6HxjsuRbwl/DPrWoUrL+uyOCU0wA=</DigestValue>
</Reference>
<Reference URI="#ID_00dd00f400e600f400e700c1004e003b0081006400f800f5006c009a00630055">
   <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
   <DigestValue>/WTPHLIsCQZ6JWx/SRKUbHLxS7YczDg2xA2A8ODFgpI=</DigestValue>
</Reference>
<Reference URI="#idSignedProperties" Type="http://uri.etsi.org/01903#SignedProperties">
   <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
   <DigestValue>IfYoNx2Bcz8tSS3y2gGTR4TI9QRprSqDxyfFpubqJV8=</DigestValue>
</Reference>
\end{lstlisting} 
\end{document}
Zuletzt geändert von Bartman am Sa 25. Jan 2020, 16:46, insgesamt 4-mal geändert.

Kaleun
Forum-Anfänger
Forum-Anfänger
Beiträge: 18
Registriert: Di 15. Okt 2019, 20:54
Wohnort: Bochum

Beitrag von Kaleun »

Vielen Dank für deine schnelle Rückantwort. Ja, mein Codebeispiel war etwas bescheiden^^

Hab hier nochmal ein neues mit etwas mehr Details
\RequirePackage{fix-cm,cmap}

\documentclass[
fontsize=11pt,
paper=a4,
abstract=true,
numbers=noenddot,
listof=totoc,
bibliography=totoc,
twoside,
open=right,
cleardoublepage=plain,
parskip=half+,
BCOR=1cm,
]{scrreprt}


\usepackage{color}
\definecolor{maroon}{rgb}{0.5, 0.0, 0.0}
\definecolor{darkolivegreen}{rgb}{0.33, 0.42, 0.18}
\usepackage{caption}
\usepackage{listings}
\lstdefinelanguage{XML}
{
   basicstyle=\ttfamily\footnotesize,
   morestring=[b]",
   moredelim=[s][\bfseries\color{maroon}]{<}{\ },
   moredelim=[s][\bfseries\color{maroon}]{</}{>},
   moredelim=[l][\bfseries\color{maroon}]{/>},
   moredelim=[l][\bfseries\color{maroon}]{>},
   morecomment=[s]{<?}{?>},
   morecomment=[s]{<!--}{-->},
   commentstyle=\color{darkolivegreen},
   stringstyle=\color{blue},
   identifierstyle=\color{red},
   numbers=left,
   tabsize=2,
   frame=single,
   %rulecolor=black,
   breaklines=true,
   captionpos=b
}
\begin{document}
\renewcommand{\lstlistingname}{XML-Fragment}
\begin{lstlisting}[language={XML}, caption={Fragment einer documentsignatures.xml Datei, welches die standardmäßig auftretenden \texttt{<Reference>} Elemente zeigt (erstellt unter LibreOffice Version 6.3).}]
<Reference URI="mimetype">
   <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
   <DigestValue>cU2+NwsKcGNmkhfZGyh1Zv6Lq7yFmbYpskR2/4G4NZM=</DigestValue>
</Reference>
<Reference URI="styles.xml">
   <Transforms>
      <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
   </Transforms>
   <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
   <DigestValue>jj4tjq2F2K2b0ytav0dZOqjwszvSlbERnRjYiBBfPDU=</DigestValue>
</Reference>
<Reference URI="manifest.rdf">
   <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
   <DigestValue>rrKXmEsmowvZom8wSzm8fZGiZFdJs1578/RMS5UR3HU=</DigestValue>
</Reference>
<Reference URI="meta.xml">
   <Transforms>
      <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
   </Transforms>
   <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
   <DigestValue>TL0pNXpOYIZQgrX5B0nEfIGrED3wbimZGSdcTT6mKw8=</DigestValue>
</Reference>
<Reference URI="settings.xml">
   <Transforms>
      <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
   </Transforms>
   <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
   <DigestValue>C2JlZBgd9nelvaw7FgaQUshRh9lUEhLaHDOTw8c2bpM=</DigestValue>
</Reference>
<Reference URI="Thumbnails/thumbnail.png">
   <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
   <DigestValue>iDt1e/5R6aQKIYF6e5ml1ZNHI/nfjnISn1p7rhfTVWk=</DigestValue>
</Reference>
<Reference URI="content.xml">
   <Transforms>
      <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
   </Transforms>
   <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
   <DigestValue>NnUZYbi4PHjqfwh7yjae55jFqaZkidTSSf7ttcTZcOU=</DigestValue>
</Reference>
<Reference URI="META-INF/manifest.xml">
   <Transforms>
      <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
   </Transforms>
   <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
   <DigestValue>XYYGvDsDKDMNdeB6HxjsuRbwl/DPrWoUrL+uyOCU0wA=</DigestValue>
</Reference>
<Reference URI="#ID_00dd00f400e600f400e700c1004e003b0081006400f800f5006c009a00630055">
   <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
   <DigestValue>/WTPHLIsCQZ6JWx/SRKUbHLxS7YczDg2xA2A8ODFgpI=</DigestValue>
</Reference>
<Reference URI="#idSignedProperties" Type="http://uri.etsi.org/01903#SignedProperties">
   <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
   <DigestValue>IfYoNx2Bcz8tSS3y2gGTR4TI9QRprSqDxyfFpubqJV8=</DigestValue>
</Reference>
\end{lstlisting}
\end{document}
Wenn du rulecolor=black, wieder einkommentierst, tritt auch der besagte Fehler auf.

VG Kaleun

Kaleun
Forum-Anfänger
Forum-Anfänger
Beiträge: 18
Registriert: Di 15. Okt 2019, 20:54
Wohnort: Bochum

Beitrag von Kaleun »

Hat niemand eine Idee?

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Re: Rahmenfarbe in {lstlisting} Umgebung nicht durchgängig

Beitrag von Bartman »

Mit rulecolor=black erhalte auch ich das Wort black am Anfang jeder Zeile, mit rulecolor=\color{black} jedoch nicht.

Kaleun
Forum-Anfänger
Forum-Anfänger
Beiträge: 18
Registriert: Di 15. Okt 2019, 20:54
Wohnort: Bochum

Beitrag von Kaleun »

Mit rulecolor=black erhalte auch ich das Wort black am Anfang jeder Zeile, mit rulecolor=\color{black}, jedoch nicht.
Ja, dass gleiche bei mir auch. Jedoch steht jetzt überall noch breaklines vor jeder Zeile :?

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Verwende tcolorbox um den Rahmen zu erzeugen. tcolorbox funktioniert viel besser. Siehe z.B. https://tex.stackexchange.com/a/437551/2388

oft gesehener

Beitrag von oft gesehener »

Kaleun hat geschrieben:Ja, dass gleiche bei mir auch. Jedoch steht jetzt überall noch breaklines vor jeder Zeile :?
Das passiert, wenn man das Komma nach der vorherigen Option vergisst, also beispielsweise
rulecolor=\color{black}
breaklines
statt
rulecolor=\color{black},
breaklines
schreibt. Durch den Fehler hat man dann nämlich nicht die Option breaklines, sondern der Text breaklines wird Teil der Option rulecolor.

Trotzdem stimme ich u_fischer natürlich zu. Rahmen gehen besser mit tcolorbox. Das ist speziell auch auf listings vorbereitet. Siehe dazu u. a. Abschnitt 16 der tcolorbox-Anleitung.

Kaleun
Forum-Anfänger
Forum-Anfänger
Beiträge: 18
Registriert: Di 15. Okt 2019, 20:54
Wohnort: Bochum

Beitrag von Kaleun »

Das passiert, wenn man das Komma nach der vorherigen Option vergisst
Oh man, Tatsache. Hab das Komma vergessen :roll:

Vielen Dank für die Hilfe, der Befehl rulecolor=\color{black}, färbt den Rahmen komplett schwarz, so wie ich es wollte.

Danke für den Hinweis mit dem Paket tcolorbox. Das schaue ich mir später mal an, muss ich mich erstmal einarbeiten.

Viele Grüße

Kaleun

Antworten