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:

%!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}

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, 09:31

AndreGismo's gravatar image

AndreGismo
596626
Akzeptiert-Rate: 72%

bearbeitet 14 Mai, 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:

%!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}
Permanenter link

beantwortet 14 Mai, 10:03

stefan's gravatar image

stefan ♦♦
18.3k163148
Akzeptiert-Rate: 50%

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

(14 Mai, 11:24) AndreGismo
Deine Antwort
Vorschau umschalten

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

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×141
×45
×27
×23

gestellte Frage: 14 Mai, 09:31

Frage wurde gesehen: 1,019 Mal

zuletzt geändert: 14 Mai, 11:24