Die Formatierung lässt sich einfach richten:
Nimm `identifierstyle=\color{blue}` heraus und ändere die Sprache in LaTeX: `language=[LaTeX]TeX` oder `language=[AlLaTeX]TeX`. Kontrollsequenzen, die dann noch nicht gefärbt werden, kannst Du mit
moretexcs = {SelectInputMappings, blinddocument}
hinzufügen.
----------
Schwieriger wird es, Titel *und* Beschriftung hinzuzufügen. So ganz erschließt sich mir den Sinn dahinter auch nicht... sei's drum: hier folgt eine Idee, wie man das vielleicht machen könnte.
Die folgende Umdefinierung von `\lst@caption` sorgt dafür, das `\lst@title` nicht automatisch gelöscht wird:
\makeatletter
\lst@Key{caption}\relax{%
\lstKV@OptArg[{#1}]{#1}{\def\lst@caption{##2}\def\lst@@caption{##1}}%
}
Dann kann man zum Haken `Init` noch die Ausgabe des Titels hinzufügen:
\lst@AddToHookAtTop{Init}{%
\ifx\lst@title\@empty
\else
\def\lst@captionpos{b}% nur für den Fall
\textbf{\lst@maketitle\lst@title}%
\let\lst@title\@empty % damit die caption trotzdem geschrieben wird
\fi
}
\makeatother
Wenn man jetzt die Disziplin hat, den Titel *vor* der Beschriftung anzugeben, werden beide ausgegeben.
![alt text][1]
Mein kompletter Code:
\documentclass[a5paper]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{
adieresis = {ä} ,
germandbls = {ß}
}
\usepackage[ngerman]{babel}
\usepackage{listings,xcolor}
\makeatletter
% \lst@Key{title}\relax{\def\lst@title{#1}}
\lst@Key{caption}\relax{%
\lstKV@OptArg[{#1}]{#1}{\def\lst@caption{##2}\def\lst@@caption{##1}}%
}
\lst@AddToHookAtTop{Init}{%
\ifx\lst@title\@empty
\else
\def\lst@captionpos{b}% nur für den Fall
\textbf{\lst@maketitle\lst@title}%
\let\lst@title\@empty % damit die caption trotzdem geschrieben wird
\fi
}
\makeatother
\lstdefinestyle{latex}{
language = [AlLaTeX]TeX ,
basicstyle = \footnotesize\ttfamily ,
keywordstyle = \color{purple!40!black} ,
commentstyle = \itshape\color{green!40!black} ,
stringstyle = \color{orange} ,
moretexcs = {
tableofcontents ,
SelectInputMappings ,
blindmathpaper ,
blindmathtrue ,
blinddocument
} ,
deletekeywords = {document}
}
\lstset{
style = latex ,
numberstyle = \tiny\color{gray!90!black}\noncopynumber ,
numbers = left ,
numbersep = 5pt ,
frame = single ,
backgroundcolor = \color{yellow!30} ,
rulecolor = \color{lightgray!40} ,
breaklines = true ,
columns = fullflexible ,
literate = {ä}{{\"a}}1{ö}{{\"o}}1 {ü}{{\"u}}1{ß}{{\ss}}1 ,
captionpos = b
}
\renewcommand{\lstlistlistingname}{Codeverzeichnis}
\renewcommand{\lstlistingname}{Quellcode}
\usepackage{accsupp}
\newcommand{\noncopynumber}[1]{%
\BeginAccSupp{method=escape,ActualText={}}
#1%
\EndAccSupp{}%
}
% Beschriftungen einstellen:
\setkomafont{caption}{\raggedright}
\setkomafont{captionlabel}{\bfseries}
% das AmS-Logo:
\usepackage{hologo}
\newcommand*\AmS{\hologo{AmS}}
\begin{document}
\lstlistoflistings
\begin{lstlisting}[
title = {\AmS-Dokumentenklassen} ,
caption = {Minimalbeispiel für die \AmS-Dokumentenklassen} ,
label=ams]
\documentclass{amsart} %amsart amsproc amsbook
\usepackage{selinput}
\SelectInputMappings{
adieresis = {ä} ,
germandbls = {ß}
}
\usepackage[ngerman]{babel}
\usepackage{blindtext}% für Blindtext
\begin{document}
\tableofcontents
\blindmathpaper
\blindmathtrue
\blinddocument\blinddocument
\end{document}
\end{lstlisting}
\end{document}
[1]: http://texwelt.de/wissen/upfiles/listings_2.png