Anzeige:
Ergebnis 1 bis 7 von 7

Thema: C++ Operatoren im Listing

  1. #1
    Registrierter Benutzer
    Registriert seit
    24.08.2004
    Beiträge
    749

    C++ Operatoren im Listing

    Hallo,

    ich möchte C/C++ code in einem listing texen.
    Ich habe unten ein Minimalbeispiel so wie ich es versuche. Leider sind Operatoren wie der shift >> oder der pointer -> ziemlich unschön dargestellt und machen das sehr unleserlich.
    Gibt es eine Alternative diese zu texen so dass solche Operatoren schöner dargestellt werden?

    Code:
    \documentclass{scrartcl}
    
    \usepackage{amsmath,amssymb}
    \usepackage{graphicx}
    \usepackage{multirow}
    \usepackage{color}
    \usepackage{rotating}
    \usepackage{longtable}
    \usepackage{algorithmic}
    \usepackage{algorithm}
    \usepackage{mathrsfs}
    \usepackage{listings}
    
    \usepackage{amsthm}
    
    \usepackage{listings}
    \lstset{
    language=C++,
    basicstyle=\small\sffamily,
    numbers=left,
    numberstyle=\scriptsize,
    frame=tb,
    columns=fullflexible,
    showstringspaces=false,
    belowcaptionskip=0.3cm
    }
    
    
     \begin{document}
    
    \begin{lstlisting}[caption=todo,label=lst:lst1]
    idx = buf[idx];
    pos = x >> 8;
    int* b = c->d;
    \end{lstlisting}
    \end{document}

  2. #2
    Registrierter Benutzer
    Registriert seit
    03.04.2007
    Ort
    Wrestedt
    Beiträge
    987

    Listing

    Zitat Zitat von Mat Beitrag anzeigen
    Hallo,

    ich möchte C/C++ code in einem listing texen.
    Ich habe unten ein Minimalbeispiel so wie ich es versuche. Leider sind Operatoren wie der shift >> oder der pointer -> ziemlich unschön dargestellt und machen das sehr unleserlich.
    Gibt es eine Alternative diese zu texen so dass solche Operatoren schöner dargestellt werden?

    Code:
    \documentclass{scrartcl}
    
    \usepackage{amsmath,amssymb}
    \usepackage{graphicx}
    \usepackage{multirow}
    \usepackage{color}
    \usepackage{rotating}
    \usepackage{longtable}
    \usepackage{algorithmic}
    \usepackage{algorithm}
    \usepackage{mathrsfs}
    \usepackage{listings}
    
    \usepackage{amsthm}
    
    \usepackage{listings}
    \lstset{
    language=C++,
    basicstyle=\small\sffamily,
    numbers=left,
    numberstyle=\scriptsize,
    frame=tb,
    columns=fullflexible,
    showstringspaces=false,
    belowcaptionskip=0.3cm
    }
    
    
     \begin{document}
    
    \begin{lstlisting}[caption=todo,label=lst:lst1]
    idx = buf[idx];
    pos = x >> 8;
    int* b = c->d;
    \end{lstlisting}
    \end{document}
    Hallo Mat,

    versuche mal diesen Code, kannst die nicht gewünschten Zeilen auskommentieren.

    Code:
    \documentclass{scrartcl}
    \usepackage{amsmath,amssymb}
    \usepackage{graphicx}
    \usepackage{multirow}
    \usepackage{color}
    \usepackage{rotating}
    \usepackage{longtable}
    \usepackage{algorithmic}
    \usepackage{algorithm}
    \usepackage{mathrsfs}
    \usepackage{listings}
    \usepackage{amsthm}
    \usepackage{listings}
    %**********************************************
    % color
    %**********************************************
    \usepackage[usenames,dvipsnames]{xcolor}
    %**********************************************
    \lstset{language=C++,
        keywordstyle=\color{RoyalBlue},%\bfseries,
        basicstyle=\small\ttfamily,
        identifierstyle=\color{NavyBlue},
        commentstyle=\color{Green}\ttfamily,
        stringstyle=\rmfamily,
        numbers=left,%none,%
        numberstyle=\scriptsize,%\tiny
        stepnumber=5,
        numbersep=8pt,
        showstringspaces=false,
        breaklines=true,
        frameround=ftff,
        frame=tb, % single
        belowcaptionskip=.75\baselineskip,
        numberbychapter=false,
        frame=L,
        columns=fullflexible,
        showstringspaces=false,
        belowcaptionskip=0.3cm
    }
    
    \begin{document}
    
    \begin{lstlisting}[caption=todo,label=lst:lst1]
    idx = buf[idx];
    pos = x >> 8;
    int* b = c->d;
    \end{lstlisting}
    \end{document}
    Viel Erfolg

    Lieben Gruß

    Martin
    Der aus Büchern erworbene Reichtum fremder Erfahrung heißt Gelehrsamkeit. Eigene Erfahrung ist Weisheit. Das kleinste Kapital von dieser ist mehrt wert, als Millionen von jener.

    Gotthold Ephraim Lessing

  3. #3
    Registrierter Benutzer
    Registriert seit
    24.08.2004
    Beiträge
    749
    puh also erstmal danke. damit kann man schön spielen. leider habe ich es bis jetzt nicht geschafft mein style beizubehalten und nur die operatoren (->, <<, <=) schöner darzustellen, gäbe es da eine möglichkeit?

  4. #4
    Registrierter Benutzer
    Registriert seit
    06.08.2008
    Beiträge
    1.015
    Was definierst du als "schöner"?

    BTW: du lädt 2mal das Paket listings, und haufenweise anderes Zeug, das bis auf (x)color keinen Einfluss auf listings hat.

  5. #5
    Registrierter Benutzer
    Registriert seit
    24.08.2004
    Beiträge
    749
    also der vorschlag von "nixversteh" gefällt mir gut. ginge es die operatoren nur so darzustellen wie nixversteh aber den rest beizubehalten den ich habe?

  6. #6
    Registrierter Benutzer
    Registriert seit
    03.04.2007
    Ort
    Wrestedt
    Beiträge
    987

    Listing

    Zitat Zitat von Mat Beitrag anzeigen
    also der vorschlag von "nixversteh" gefällt mir gut. ginge es die operatoren nur so darzustellen wie nixversteh aber den rest beizubehalten den ich habe?
    Hallo Mat,

    etwa so?
    Code:
    \documentclass{scrartcl}
    \usepackage[usenames,dvipsnames]{xcolor}
    \usepackage{listings}
    \lstset{language=C++,
        keywordstyle=\color{RoyalBlue},%\bfseries,
        basicstyle=\small\ttfamily,
        numbers=left,%none,%
        numberstyle=\scriptsize,%\tiny
        frame=tb, % single
        columns=fullflexible,
        showstringspaces=false,
        belowcaptionskip=0.3cm
        %%identifierstyle=\color{NavyBlue},
        %%commentstyle=\color{Green}\ttfamily,
        %stringstyle=\rmfamily,
        %%stepnumber=5,
        %%showstringspaces=false,
        %%frameround=ftff,
        %%belowcaptionskip=.75\baselineskip,
        %%numberbychapter=false,
        %%frame=L,
        %%breaklines=true,
        %%numbersep=8pt,
    }
    \begin{document}
    \begin{lstlisting}[caption=todo,label=lst:lst1]
    idx = buf[idx];
    pos = x >> 8;
    int* b = c->d;
    \end{lstlisting}
    \end{document}
    Viel Erfolg

    Gruß

    Martin

    EDIT: Schau mal diesen Code an: M-code LaTeX Package
    Geändert von nixversteh (18-02-2012 um 18:05 Uhr) Grund: Anhang erstellt
    Der aus Büchern erworbene Reichtum fremder Erfahrung heißt Gelehrsamkeit. Eigene Erfahrung ist Weisheit. Das kleinste Kapital von dieser ist mehrt wert, als Millionen von jener.

    Gotthold Ephraim Lessing

  7. #7
    Registrierter Benutzer
    Registriert seit
    24.08.2004
    Beiträge
    749
    Danke Dir, ich denke ich werde eine Kombination aus Deiner Version und der Matlab version probieren :-)
    Danke für die Hilfe!

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •