Anzeige:
Ergebnis 1 bis 5 von 5

Thema: \lstset && bestimmte tags mit farbe hinterlegen - MÖGLICH?!

  1. #1
    Registrierter Benutzer
    Registriert seit
    27.03.2006
    Beiträge
    21

    \lstset && bestimmte tags mit farbe hinterlegen - MÖGLICH?!

    Hallo liebe mrunix gemeinde,

    ich habe einen quelltext in mein latex-dokument einfgefügt und möchte nun bestimmt tags mit farbe hinterlegen. Dafür verwende ich das paket listings. einen bestimmten tag einzufärben ist kein problem (z.b alles zwischen /* und */ => morecomment=[s][\color{red}]{/*-}{*/}), aber wie kann ich listings so konfigurieren, dass der hintergrund dieses tags farbig wird?!
    ich habe es bereits so versucht: backgroundcolor= [s][\color{green}]{<\%}{\%>}, leider ohne erfolg.


    hier meine konfigurierte listings:


    \usepackage{listings}
    \lstset{
    numbers=left,
    numberstyle=\tiny,
    numbersep=5pt,
    breaklines=true,
    backgroundcolor= [s][\color{green}]{<\%}{\%>},
    morecomment=[s][\color{red}]{/*-}{*/}

    wie gesagt, es klappt alles wunderbar bis auf das einfärben des hintergrunds eine bestimmten tags (den tag zwischen < % und %>).
    habe auch schon diverse andere varianten versucht und auch hier im forum gestöbert, aber leider keine lösung gefunden :-(!

    danke schon mal dem latex profi hier, der mit weiter helfen kann.

    schönen tag

    ich
    }
    Geändert von schnitzelhirte (29-06-2006 um 10:56 Uhr)

  2. #2
    Registrierter Benutzer Avatar von Caveman
    Registriert seit
    03.11.2005
    Ort
    Geilsheim
    Beiträge
    308
    Kann es sein, dass der Backslash hier Probleme macht?
    Probier doch mal ein anderes Zeichen als %.
    z.B.: backgroundcolor=[s][\color{green}]{<§}{§>}
    Programmiere (wenn es denn mal wieder vorkommt) in C, C++, Java, Perl
    Bin kein Student (Elektrotechnik) mehr und habe die Seiten gewechselt von der Software weg hin zur Hardware

  3. #3
    Registrierter Benutzer
    Registriert seit
    27.03.2006
    Beiträge
    21
    daran liegt es leider nicht, denn das funktioniert ohne probleme, dh. alles zeichen zwischen < % und % > werden in rot geschrieben:

    morecomment=[s][\color{red}]{<\%}{\%>}

    wenn ich die slashes weg lassen, dann bekomme ich eine fehlermeldung mit den verweis auf lstset.
    Geändert von schnitzelhirte (29-06-2006 um 10:55 Uhr)

  4. #4
    Registrierter Benutzer Avatar von countbela666
    Registriert seit
    15.04.2005
    Ort
    Berlin
    Beiträge
    2.317
    Moin,

    die Option backgroundcolor kann meines Wissens nur für das farbige Hinterlegen des gesamten Quellcodes genutzt werden, das Produzieren einer farbigen Box um bestimmte Elemente ist damit nicht vorgesehen.

    Eine richtig schöne Lösung für das Problem hab ich nicht gefunden, hier also nur zwei "unschöne" Beispiele. Folgende Variante eignet sich nur für die Hinterlegung einzelner Terminalsymbole der verwendeten Grammatik, sprich ein Bezeichner oder ein Operand, da ansonsten die verwendete Box je nach Token eine andere Höhe aufweist:
    Code:
    \documentclass{article}
    \usepackage{listings,color}
    \begin{document}
    \lstset{basicstyle=\ttfamily,moredelim=[is][\colorbox{red}]{/*}{*/}}
    \begin{lstlisting}
    body onload=""
    !-- logo --
    a name="top"/a
    table border="0" width="100%" /*cellpadding*/="0" cellspacing="0" align="center"
    tr
    \end{lstlisting}
    \end{document}
    Die nächste Variante funktioniert mit beliebigen Ausschnitten des Quellcodes, muss aufgrund eines Escapes zu LaTeX jedoch aufwändiger eingeleitet werden:
    Code:
    \documentclass{article}
    \usepackage{listings,color}
    \providecommand{\cb}[1]{\colorbox{blue}{#1}}
    \begin{document}
    \lstset{basicstyle=\ttfamily,escapeinside={~}{~}}
    \begin{lstlisting}
    body onload=""
    ~\cb{!-- logo --}~
    a name="top"/a
    table border="0" width="100%" cellpadding="0" cellspacing="0" align="center"
    tr
    \end{lstlisting}
    \end{document}
    Grüße,
    Marcel

    Listen to me children of the night, beyond the doors of darkness you will find
    a thousand worlds for you to see here, take my hand and follow me...

  5. #5
    Registrierter Benutzer
    Registriert seit
    27.03.2006
    Beiträge
    21

    Thumbs up Danke

    Servus Marcel,

    danke für die prima lösungvorschläge. ich habe mich für die zweite variante entschieden...aber wie in aller welt kommt man nur auf solche lösungen (wenn man kein board mit schlauen leuten hat). warscheinlich nach 8 jahren latexen :-)...

    danke nochmals und noch einen schönen tag

    lutz

Lesezeichen

Berechtigungen

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