lstlisting-Umgebung, erster Buchstabe Groß oder Klein differ Thema ist als GELÖST markiert

Schriftbild, Absätze und Auflistungen einstellen


MF

Beitrag von MF »

alles was klein ist, soll blau und alles was groß ist rot. Ich dachte das wäre deutlich geworden. natürlich steht in meinem dokument vor \begin{lstlisting} \lstset{language=ANTLR} hatte ich vergessen zu schreiben. hier also nochmal das komplette Beispiel:
\documentclass[a4paper,11pt]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{color, colortbl}
\usepackage{listings}

\lstdefinelanguage{ANTLR}{
morekeywords={options, grammar, tokens, lexer, import},
sensitive=true,
morecomment=[l]{//},
morecomment=[s]{/*}{*/},
morestring=[b]',
showstringspaces=false
}

\begin{document}
Hier soll jetzt die Listings-Umgebung hin:

\lstset{language=ANTLR}
\begin{lstlisting}
document: ROT blau
\end{lstlisting}
\end{document}
kannst du mir jetzt helfen oder einfach sagen was du genau alles brauchst um mir zu helfen?

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

Beitrag von u_fischer »

MF hat geschrieben:alles was klein ist, soll blau und alles was groß ist rot. Ich dachte das wäre deutlich geworden.[/code]

Nun, du hast aber auch geschrieben "dass das Wort ROT wirklich rot ist und blau wirklich blau".

Du kannst sowas versuchen. Aber es nicht wirklich getestet ... gut möglich, dass es im Ernstfall explodiert.
\documentclass[a4paper,11pt]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[table]{xcolor}
\usepackage{listings,expl3}


\lstdefinelanguage{ANTLR}{
morekeywords={options, grammar, tokens, lexer, import},
keywordstyle=[2]\color{red},
keywordstyle=[3]\color{blue},
sensitive=true,
morecomment=[l]{//},
morecomment=[s]{/*}{*/},
morestring=[b]',
showstringspaces=false
}

\makeatletter
\ExplSyntaxOn
\gdef\lst@KeywordTest#1#2#3{%
    \begingroup \let\lst@UM\@empty
    \global\expandafter\let\expandafter\@gtempa
        \csname\@lst#1@\the\lst@token\endcsname
    \endgroup
    \ifx\@gtempa\relax
        \tl_set:Nx \l_tmpa_tl      {\the\lst@token}
        \tl_set:Nx \l_tmpa_up_tl   { \exp_args:No\tl_expandable_uppercase:n{\the\lst@token}}
        \tl_set:Nx \l_tmpa_down_tl { \exp_args:No\tl_expandable_lowercase:n{\the\lst@token}}
        \tl_if_eq:NNT\l_tmpa_up_tl\l_tmpa_tl
        {\tl_set_eq:Nc\lst@thestyle{lst@keywordstyle2}}
        \tl_if_eq:NNT\l_tmpa_down_tl\l_tmpa_tl
        {\tl_set_eq:Nc\lst@thestyle{lst@keywordstyle3}}
    \else
        \let\lst@thestyle\@gtempa
    \fi}
\ExplSyntaxOff
\makeatother
\begin{document}
Hier soll jetzt die Listings-Umgebung hin:

\begin{lstlisting}[language={ANTLR}]
options document: ROT blau gruen Rot blaU \section
\end{lstlisting}
\end{document}

MF

Beitrag von MF »

Danke dir für deine Hilfe. Der Test sieht aber schonmal so aus wie ich es mir vorstelle. Kannst du vielleicht noch durch Erklärungen im Code ergänzen, wofür was ist? Das wäre ein Traum.

Lieben Gruß und ganz herzlichen Dank

MF

Antworten