goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Keywords in einem C-Code-Listing einfärben

 

xachse
Forum-Newbie
Forum-Newbie

Beiträge: 1
Anmeldedatum: 17.09.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2017, 22:54     Titel: Keywords in einem C-Code-Listing einfärben
  Antworten mit Zitat      
Hallo Ihr Leute,

hätte da mal eine Frage zu Listings; speziel zu Listings mit Quellcode der Sprache C. Ich wollte mich farblich an den Editor "Kate" halten, weil ich den gewöhnt bin. Wie kann ich im folgenden Beispiel "return" schwarz und fett darstellen lassen? Außerdem sollten "\n" und "size_t" blau (bzw. cblau) sein. Hab schon mit google und der Forensuche gesucht, aber nur Lösungen mit dem "morekeywords"-Befehl gefunden. Wenn ich diese Keywords mit "morekeywords" einfärbe, dann färbt er automatisch alle anderen Keywords so ein. Das mit den ßß...ßß, ||...|| und @@...@@ zum einfärben der #include-Befehle und der h-Dateinamen ist nur eine Notlösung, geht es besser?

Hier ist mein Minimalbeispiel:
Code • Öffne in Overleaf

\documentclass{article}

\usepackage{xcolor}
\usepackage{inconsolata}
\usepackage{listings}

\definecolor{cblau}      {RGB}{  0, 87,174}
\definecolor{cgelb}      {RGB}{176,128,  0}
\definecolor{crot}      {RGB}{191,  3,  3}
\definecolor{cgruen}   {RGB}{  0,110, 40}
\definecolor{corange}   {RGB}{255, 85,  0}

\lstdefinestyle{ccode}{
   belowcaptionskip   =1\baselineskip,
   breaklines         =true,
   xleftmargin         =\parindent,
   language         =C,
   showstringspaces   =false,
   basicstyle         =\ttfamily,
   keywordstyle      =\color{cblau
},
     commentstyle      =\color{gray},
   identifierstyle      =\color{black},
   stringstyle         =\color{crot},
   moredelim         =[is][\color{cgelb}]{ßß}{ßß},
   moredelim         =[is][\color{corange}]{||}{||},
   moredelim         =[is][\color{cgruen}]{@@}{@@},
}

\lstset{
   numbers            =left,
   columns            =fullflexible,
   float,
   numberstyle         =\color{gray
},
}

\begin{document}

\begin{lstlisting}[language=C, style=ccode, caption={C-Code}]
@@#include@@||<stdio.h>||
@@#include@@||<stdlib.h>||
@@#include@@||<string.h>||

int main(){
    char wochentag[]="Freitag";

    int tag=ßß13ßß;
    char monat[
]="Mai";
    int jahr=ßß1927ßß;
    char *string;
    const size_t kapazitaet=ßß100ßß;

    string=malloc(kapazitaet);

    snprintf(string, kapazitaet, "%s, der %d. %s %d\n", wochentag, tag, monat, jahr);
    printf("%s", string);

    free(string);

    return ßß0ßß;
}
\end{lstlisting}

\end{document}
 


Vielen Dank
xachse
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2018 goLaTeX.de