Ich möchte erreichen, dass bei listings automatisch zu lange Zeilen umbrechen. Beim Beginn der nächsten, umgebrochenen, Zeile soll dann ein kleines farbiges Symbol, beispielsweise $hookrightarrow$ (oder so etwas in der Art) erscheinen. Mit \lstdefinestyle klappt das auch soweit alles gut, ich bekomme bereits das Symbol zu Beginn umgebrochener Zeilen. Wenn ich das Symbol aber noch einfärben möchte (so wie es hier dargestellt ist), dann bekomme ich etliche Fehlermeldungen.

Beispiel:

Code, hier editierbar zum Übersetzen:
%!TeX LuaLaTeX
\documentclass[ngerman]{beamer}
\usepackage{babel}
\usepackage{listings}
\lstdefinestyle{myPython}{%
language=Python,
basicstyle=\small\ttfamily,
keywordstyle=\color{blue},
backgroundcolor=\color{gray!10},
breaklines=true,
postbreak=\mbox{$\hookrightarrow$\space}, % ohne Farbe funktioniert es
%postbreak=\mbox{\textcolor{red}{$\hookrightarrow$}\space}, % mit Farbe funktioniert es nicht
}
\lstset{style=myPython}
\begin{document}
\begin{frame}[fragile]{Test}
Text vor Listing
\begin{lstlisting}
variableMitLangemNamen = FunktionMitLangemNamen(parameter1mitLangemNamen, parameter2mitLangemNamen)
\end{lstlisting}
Text nach listing
\end{frame}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Weiß jemand, wie man die Symbole hier farbig bekommt?

Edit:

Oh seltsam, hier funktioniert es. Der Fehler scheint bei mir zu liegen.

Ahh, es scheint an der Dokumentklasse beamer zu liegen (zumindest bei mir). Hier für das mwe habe ich einfach mal einen scrartcl verwendet. Ich werde mal schauen, ob ich den Fehler hier mit beamer reproduziert bekomme.

gefragt 14 Mai '24, 09:31

AndreGismo's gravatar image

AndreGismo
5961227
Akzeptiert-Rate: 72%

bearbeitet 14 Mai '24, 09:48


Das ist ein excellentes Minimalbeispiel! Damit konnte ich gleich testen.

Du kannst das Symbol "schützen", indem Du es in eine Box packst:

Code, hier editierbar zum Übersetzen:
%!TeX LuaLaTeX
\documentclass[ngerman]{beamer}
\usepackage{babel}
\usepackage{listings}
\newsavebox\redarrow
\savebox\redarrow{\mbox{\textcolor{red}{$\hookrightarrow$}\space}}
\lstdefinestyle{myPython}{%
language=Python,
basicstyle=\small\ttfamily,
keywordstyle=\color{blue},
backgroundcolor=\color{gray!10},
breaklines=true,
postbreak=\usebox\redarrow,
}
\lstset{style=myPython}
\begin{document}
\begin{frame}[fragile]{Test}
Text vor Listing
\begin{lstlisting}
variableMitLangemNamen = FunktionMitLangemNamen(parameter1mitLangemNamen, parameter2mitLangemNamen)
\end{lstlisting}
Text nach listing
\end{frame}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Permanenter link

beantwortet 14 Mai '24, 10:03

stefan's gravatar image

stefan ♦♦
18.4k163148
Akzeptiert-Rate: 50%

super! Vielen Dank für die schnelle Lösung :)

(14 Mai '24, 11:24) AndreGismo
Deine Antwort
[Vorschau ausblenden]

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Frage-Themen:

×141
×45
×27
×23

gestellte Frage: 14 Mai '24, 09:31

Frage wurde gesehen: 1,314 Mal

zuletzt geändert: 14 Mai '24, 11:24