Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Variablen in listings hervorheben

  1. #1
    Registrierter Benutzer
    Registriert seit
    13.08.2006
    Beiträge
    25

    Variablen in listings hervorheben

    Hallo,

    Ich will ein bisschen mit Listings (lstlistings) zaubern.
    Meine Träume:

    1. Variablen highlighten: beginnen mit einem Zeichen (z.B. $) und enden an jedem nicht alphanumerischen Zeichen. Mein Versuch:
    moredelim=*[s][\color{red}\bfseries]{\$}{\$}
    Aber wie kodiere ich Whitespaces (insb. Zeilenumbruch)? Leerzeichen kann ich nicht einfach reinschreiben .

    2. Funktionen highlighten. Ich hätte praktisch gerne eine zweite Liste wie die der Keywords, um Funktionen beispielsweise fett zu machen.


    Minimalbeispiel:
    Code:
    \documentclass[11pt]{scrbook}
    \usepackage[ansinew]{inputenc}
    \usepackage[ngerman]{babel}
    \usepackage{xcolor}
    
    \usepackage{listings}
    
    \lstdefinelanguage{MyLang}
    {morekeywords={Test, Var},
    morecomment=[l]{\#},
    morestring=[b]{"},
    moredelim=*[s][\color{red}\bfseries]{\$}{\$},
    % Style
    backgroundcolor=\color{gray!45!white},
    basicstyle=\ttfamily\color{black},
    stringstyle=\ttfamily\color{gray!80!black},
    keywordstyle=\bfseries\ttfamily\color{blue},
    commentstyle=\color{green!60!black}}
    
    \lstloadlanguages{MyLang} 
    \lstset{language=MyLang}
    
    \begin{document}
    \begin{lstlisting}
    Var $string = (String)"initial"
    Message("Frucht 3", $variable[2]) # Kommentar
    ~ Zeilenkommentar
    \end{lstlisting}
    
    Etwas mehr Text mit \lstinline!Test! als Schlüsselwort.
    \end{document}
    Bin für alle Ideen offen ,
    peethebee

  2. #2
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Hallo,

    1.: Hilft dir vielleicht das:
    \begin{lstlisting}[showspaces=true,showtabs=true,]

    2.: Hier könntest du eine Liste in emph erstellen und mittels emphstyle das Format festlegen. Die Dokumentation von Listings auf Seite 17 bietet mehr Beispiele.

    Gruß
    Marco

  3. #3
    Registrierter Benutzer
    Registriert seit
    13.08.2006
    Beiträge
    25
    Hi mechanicus,

    Vielen Dank, 2. ist schon mal ein perfekter Tipp . Das dürfte das Problem lösen (und sogar mehr als einmal möglich laut Doku ).

    Geht da vllt. auch etwas in der Art "$*"? Dann wäre das auch hilfreich für 1.
    (kann gerade nicht testen).

    Danke auf jeden Fall schon mal, aber 1. bleibt erstmal offen für Vorschläge .

    peethebee

  4. #4
    Registrierter Benutzer
    Registriert seit
    13.08.2006
    Beiträge
    25
    Hi,

    Noch mal zur Verdeutlichung Problem 1.

    moredelim=*[s][\color{red}\bfseries]{\$}{\$},

    Wäre genau das, was ich brauche, WENN ich in der letzten Klammer sagen könnte: Non-Alphanumeric Character.

    peethebee

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •