peethebee
11-07-2009, 09:38
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:
\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
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:
\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