Hallo!

Leider wird mein Quellcode, mit wenigen Ausnahmen, blau angezeigt. Was mache ich falsch?

Zusatz: Ist es vll. möglich einen Titel (oben, fett) und eine Bildunterschrift (unten) anzuzeigen (lt. Handbuch Kap. 4.9 ersetzt die caption den title), möglichst ohne weitere Umgebungen dazuzunehmen.

Also z.B. so in der Art:

alt text

Genau so muß es nicht sein, die Hauptfarbe sollte vll. schon besser schwarz sein.

Danke!

alt text

Open in writeLaTeX
%\documentclass[varwidth, margin=10pt]{standalone} %GEHT NICHT
\documentclass[a5paper]{scrreprt}

\usepackage[margin=8mm]{geometry}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},  germandbls={ß}}
\usepackage[ngerman]{babel}

\usepackage{xcolor} 
   \pagecolor{lightgray!15}
%=================================
\usepackage{listings} 
\renewcommand{\lstlistlistingname}{Codeverzeichnis}
\renewcommand{\lstlistingname}{Quellcode}
%   \lstset{caption=\lstname}

% Lokale Einstellungen
\lstdefinestyle{latex}{
  language=TeX,
  frame=single,
  backgroundcolor=\color{yellow!30},
  rulecolor=\color{lightgray!40},
  breaklines=true,
%  xleftmargin=\parindent,
  basicstyle=\footnotesize\ttfamily,
  keywordstyle=\bfseries\color{purple!40!black},
  commentstyle=\itshape\color{green!40!black},
  identifierstyle=\color{blue},
  stringstyle=\color{orange},
}
%=================================
% Globale Einstellungen
\usepackage{accsupp}    
%% Nummern nicht auswählbar machen
\newcommand{\noncopynumber}[1]{ \BeginAccSupp{method=escape,ActualText={}}
        #1
\EndAccSupp{}}%
%%

    \lstset {numberstyle=\tiny\color{gray!90!black}\noncopynumber, 
    numbers=left, 
    numbersep=1.5pt,
%    stepnumber=2,
    columns=flexible,
    literate={ä}{{\"a}}1{ö}{{\"o}}1 {ü}{{\"u}}1{ß}{{\ss}}1,
    captionpos=b,      % t op,  b ottom
title=\bfseries  %TUT NICHT!!!
    }
%=================================

%=========
\begin{document}
%=========
\lstlistoflistings
\vspace{1cm}
%%%
\begin{lstlisting}[style=latex, 
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}
\begin{document}
\tableofcontents

\blindmathpaper

\blindmathtrue
\blinddocument\blinddocument

\end{document}
\end{lstlisting}
%%%
%=========
\end{document}
%=========

gefragt 30 Mai '14, 07:56

cis's gravatar image

cis
5.4k860169
Akzeptiert: 68%

bearbeitet 30 Mai '14, 08:57

1

Nimm identifierstyle=\color{blue} heraus und ändere die Sprache language=[LaTeX]TeX oder language=[AlLaTeX]TeX. Kontrollsequenzen, die dann noch nicht gefärbt werden, kannst Du mit moretexcs = {SelectInputMappings, blinddocument} hinzufügen

(30 Mai '14, 09:02) Clemens

OK, der Stil wäre so schonmal angepaßt. Jetzt müßte man nur noch den Titel manipulieren.

(30 Mai '14, 09:10) cis

@cis Schreibst Du nicht schon in der Frage, dass sich caption und title gegenseitig ausschließen?

(30 Mai '14, 09:12) Clemens

Ja schon, aber das ist vll. ein Grund, kein Hindernis.

(30 Mai '14, 09:14) cis

PS: Die Option ist übrigens äußerst kurios: Du kannst die caption oben oder unten oder "oben und unten" (captionpos=tb) anzeigen; aber dann zeigt es oben und unten einfach das Gleiche an, sinvoller wäre die Möglichkeit oben und unten Verschiedenes anzuzeigen.

(30 Mai '14, 09:22) cis

@cis ganz so kurios ist es nicht: da listings ja davon ausgeht, dass Du entweder Titel oder Beschriftung hast, braucht man ja keine Option für oben und unten.

(30 Mai '14, 10:52) Clemens
Ergebnis 5 von 6 Alle anzeigen

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

Open in writeLaTeX
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:

Open in writeLaTeX
\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:

Open in writeLaTeX
\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

Mein kompletter Code:

Open in writeLaTeX
\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}
Permanenter link

beantwortet 30 Mai '14, 11:06

Clemens's gravatar image

Clemens
19.0k113060

bearbeitet 30 Mai '14, 11:06

Super, genau so sollte es sein ;)

(30 Mai '14, 12:41) cis
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×15

Frage gestellt: 30 Mai '14, 07:56

Frage wurde angeschaut: 2,407 Mal

Zuletzt aktualisiert: 30 Mai '14, 12:41