goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


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


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

C++ Code, wie kann ich noch einzelne Worte hervorheben?

 

Spliffer1
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.03.2017, 22:40     Titel: C++ Code, wie kann ich noch einzelne Worte hervorheben?
  Antworten mit Zitat      
Hallo Leute,

ich lese schon lange in Eurem genialen Forum mit ind habe heute meine erste Frage:
Ich habe C++ Code in ein Dokument eingebunden und fast erfolgreich formatiert. Nun möchte ich die include-Anweisungen in der Farbe MyMoreK hervorheben und sin() und cos() mitsamt den runden klammern in der Farbe MyTrigoFunctions hervorheben aber es klappt einfach nicht. Ich versuch das jetzt schon seit 2 Tagen. Hier ist der MinimalCode:
Code • Öffne in Overleaf

\documentclass[a4paper,abstracton,titlepage]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[sfdefault]{AlegreyaSans}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{url}
\usepackage[locale=DE]{siunitx}
\usepackage{mdwlist}
\usepackage{paralist}

\usepackage{xcolor}
\usepackage{listings}
\definecolor{MyString}{RGB}{101,138,186}
\definecolor{MyKeyword}{RGB}{0,0,128}
\definecolor{MyBackground}{RGB}{235,235,235}
\definecolor{MyIdentifier}{RGB}{0,128,128}
\definecolor{MyMoreK}{RGB}{49,128,255}
\definecolor{MyTrigoFunctions}{RGB}{217,87,22}

\lstset{
%   language=C++,
%   upquote=true,
   %columns=fixed,
   belowcaptionskip=1\baselineskip,
   breaklines=true,
   backgroundcolor=\color{MyBackground},
   %frame=L,
   xleftmargin=\parindent,
   showstringspaces=false,
   basicstyle=\small,
    breakatwhitespace=true,        
    breaklines=true,                
    keepspaces=false,          
    rulecolor=\color{black},
   keywordstyle=\bfseries\color{MyKeyword},
   stringstyle=\bfseries\color{MyString},
   commentstyle=\color{purple!80!black},%\itshape  
   identifierstyle=\color{MyIdentifier},%\bfseries
%   prebreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},  
   tabsize=1,  
   showtabs=false,
   emph={include},
   emphstyle={\color{MyMoreK}},

}  
%\lstset{style=MyCppStyle}





\begin{document}

   \begin{lstlisting}[language=C++, caption={C++ code using listings}]
         
      //#include<winbgim.h>
      #include<graphics.h>
      #include<cmath.h>
   
      int SCREEN_W = 800;
      int SCREEN_H = 200;
     
     
      main(int argc, char*argv[])
      {
         initwindow(SCREEN_W, SCREEN_H);
         
         setbkcolor(0);
         cleardevice();
         
         // Koordinaten für Kreis
         int x, y;
         const float  PI = 3.14159265358979f;
         int length = 50;
         float angle = 0.0;
         float angle_stepsize = 0.1;
         
         setcolor(15);
         settextstyle(10, HORIZ_DIR, 2);
         
         outtextxy(120, 20, "Circle_001 Kreis mit Sinus() und Cosinus(): ");
         
         // go through all angles from 0 to 2 * PI radians
         while (angle < 2 * PI)
         {
            // calculate x, y from a vector with known length and angle
            x = length * cos (angle);
            y = length * sin (angle);
           
            putpixel((x + SCREEN_W/ 2) - 20 , (y + SCREEN_H/ 2) + 20 ,15);
            angle += angle_stepsize;
         
}
         
         while(!kbhit())
         {
            delay(1);
         
}
         
         return 0;
      }
   
   \end{lstlisting}
     
\end{document}
 


Hoffentlich könnt Ihr mir helfen.

Vielen Dank schonmal an dieser Stelle!

Grüße,
Spliffer

Bartman
Forum-Meister
Forum-Meister


Beiträge: 816
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: Windows 7 64 Bit MiKTeX 2.9 32-Bit
     Beitrag Verfasst am: 09.03.2017, 23:51     Titel:
  Antworten mit Zitat      
Dein Beispiel erzeugt wegen der Leerzeile nach emphstyle={\color{MyMoreK}} eine Fehlermeldung.

Teste bitte Dein Beispiel, bevor Du es veröffentlichst.

Eine lauffähige Version:

Code • Öffne in Overleaf
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[sfdefault]{AlegreyaSans}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{xcolor}
\usepackage{listings}
\definecolor{MyString}{RGB}{101,138,186}
\definecolor{MyKeyword}{RGB}{0,0,128}
\definecolor{MyBackground}{RGB}{235,235,235}
\definecolor{MyIdentifier}{RGB}{0,128,128}
\definecolor{MyMoreK}{RGB}{49,128,255}
\definecolor{MyTrigoFunctions}{RGB}{217,87,22}

\lstset{
%   language=C++,
%   upquote=true,
   %columns=fixed,
   belowcaptionskip=1\baselineskip,
   breaklines=true,
   backgroundcolor=\color{MyBackground},
   %frame=L,
   xleftmargin=\parindent,
   showstringspaces=false,
   basicstyle=\small,
    breakatwhitespace=true,        
    breaklines=true,                
    keepspaces=false,          
    rulecolor=\color{black},
   keywordstyle=\bfseries\color{MyKeyword},
   stringstyle=\bfseries\color{MyString},
   commentstyle=\color{purple!80!black},%\itshape  
   identifierstyle=\color{MyIdentifier},%\bfseries
%   prebreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},  
   tabsize=1,  
   showtabs=false,
   emph={include},
   emphstyle={\color{MyMoreK}}
}  
%\lstset{style=MyCppStyle}

\begin{document}
   \begin{lstlisting}[language=C++, caption={C++ code using listings}]
         
      //#include<winbgim.h>
      #include<graphics.h>
      #include<cmath.h>
   
      int SCREEN_W = 800;
      int SCREEN_H = 200;
     
     
      main(int argc, char*argv[])
      {
         initwindow(SCREEN_W, SCREEN_H);
         
         setbkcolor(0);
         cleardevice();
         
         // Koordinaten für Kreis
         int x, y;
         const float  PI = 3.14159265358979f;
         int length = 50;
         float angle = 0.0;
         float angle_stepsize = 0.1;
         
         setcolor(15);
         settextstyle(10, HORIZ_DIR, 2);
         
         outtextxy(120, 20, "Circle_001 Kreis mit Sinus() und Cosinus(): ");
         
         // go through all angles from 0 to 2 * PI radians
         while (angle < 2 * PI)
         {
            // calculate x, y from a vector with known length and angle
            x = length * cos (angle);
            y = length * sin (angle);
           
            putpixel((x + SCREEN_W/ 2) - 20 , (y + SCREEN_H/ 2) + 20 ,15);
            angle += angle_stepsize;
         
}
         
         while(!kbhit())
         {
            delay(1);
         
}
         
         return 0;
      }
   
   \end{lstlisting}
\end{document}
Private Nachricht senden Benutzer-Profile anzeigen

Spliffer
Forum-Newbie
Forum-Newbie

Beiträge: 3
Anmeldedatum: 09.03.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.03.2017, 21:38     Titel:
  Antworten mit Zitat      
Hallo,

danke für die Korrektur Bartman, das muss bei Copy&Paste passiert sein Embarassed .
Hast Du auch ein Antwort auf mein Problem, ich sitz schon wieder dran und kriegs einfach nicht hin Rolling Eyes !


MfG,
Spliffer
Private Nachricht senden Benutzer-Profile anzeigen

Bartman
Forum-Meister
Forum-Meister


Beiträge: 816
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: Windows 7 64 Bit MiKTeX 2.9 32-Bit
     Beitrag Verfasst am: 11.03.2017, 00:40     Titel:
  Antworten mit Zitat      
Dein Crosspost auf TeX.SX stört mich nicht. Füge aber bitte Deinem dortigen Beitrag einen Verweis auf Deinen Thread im hiesigen Forum hinzu, damit mögliche Helfer informiert sind.
Private Nachricht senden Benutzer-Profile anzeigen

Spliffer
Forum-Newbie
Forum-Newbie

Beiträge: 3
Anmeldedatum: 09.03.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.03.2017, 17:21     Titel: Fast, bis auf die Klammern!
  Antworten mit Zitat      
Hallo,

ich habs fast geschafft Very Happy . Nur die runden Klammern von sin() und cos() bleiben schwarz.
Ich hätte gern auch die runden Klammern der beiden Funktionen (nur von diesen) in der Farbe MyTrigoFunctions eingefärbt.
Könnt Ihr mir dabei helfen? Danke schon an dieser Stelle für Eure Mühe!

Code • Öffne in Overleaf

\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[sfdefault]{AlegreyaSans}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{xcolor}
\usepackage{listings}
\definecolor{MyString}{RGB}{101,138,186}
\definecolor{MyKeyword}{RGB}{0,0,128}
\definecolor{MyBackground}{RGB}{235,235,235}
\definecolor{MyIdentifier}{RGB}{0,128,128}
\definecolor{MyLightBlue}{RGB}{49,128,255}
\definecolor{MyTrigoFunctions}{RGB}{217,87,22}

\lstset{
   %   language=C++,
   %   upquote=true,
   %columns=fixed,
   belowcaptionskip=1\baselineskip,
   breaklines=true,
   backgroundcolor=\color{MyBackground},
   %frame=L,
   xleftmargin=\parindent,
   showstringspaces=false,
   basicstyle=\small,
   breakatwhitespace=true,        
   breaklines=true,                
   keepspaces=false,          
   %rulecolor=\color{black},
   keywordstyle=\bfseries\color{MyKeyword},
   stringstyle=\color{MyString},%\bfseries
   commentstyle=\color{purple!80!black},%\itshape  
   identifierstyle=\color{MyIdentifier},%\bfseries
   %   prebreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},  
   tabsize=1,  
   showtabs=false,
   emph=[1]{include},
   emphstyle=[1]{\color{MyLightBlue}},
   emph=[2]{sin,cos},
   emphstyle=[2]{\bfseries\color{MyTrigoFunctions}}
}  
%\lstset{style=MyCppStyle}

\begin{document}
   \begin{lstlisting}[language=C++, caption={C++ code using listings}]
   
   //#include<winbgim.h>

   #include<graphics.h>
   #include<cmath.h>
   
   int SCREEN_W = 800;
   int SCREEN_H = 200;
   
   
   main(int argc, char*argv[])
   {
   initwindow(SCREEN_W, SCREEN_H);
   
   setbkcolor(0);
   cleardevice();
   
   // Koordinaten für Kreis
   int x, y;
   const float  PI = 3.14159265358979f;
   int length = 50;
   float angle = 0.0;
   float angle_stepsize = 0.1;
   
   setcolor(15);
   settextstyle(10, HORIZ_DIR, 2);
   
   outtextxy(120, 20, "Circle_001 Kreis mit Sinus() und Cosinus(): ");
   
   // go through all angles from 0 to 2 * PI radians
   while (angle < 2 * PI)
   {
   // calculate x, y from a vector with known length and angle
   x = length * cos (angle);
   y = length * sin (angle);
   
   putpixel((x + SCREEN_W/ 2) - 20 , (y + SCREEN_H/ 2) + 20 ,15);
   angle += angle_stepsize;
   
}
   
   while(!kbhit())
   {
   delay(1);
   
}
   
   return 0;
   }
   
   \end{lstlisting}
\end{document}
 


Vielen Dank,
Spliffer
Private Nachricht senden Benutzer-Profile anzeigen

Spliffer
Forum-Newbie
Forum-Newbie

Beiträge: 3
Anmeldedatum: 09.03.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.03.2017, 15:12     Titel:
  Antworten mit Zitat      
Niemand????!!!!

Schade Crying or Very sad ,
Spliffer
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 - 2017 goLaTeX.de