Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Listing-Frage

  1. #1
    Registrierter Benutzer
    Registriert seit
    24.07.2012
    Beiträge
    21

    Listing-Frage

    Hallo Leute,

    ich bin neu hier und wollte euch erstmal herzlichst begrüßen

    Gleich mal zum Thema: Ich schreibe meine Masterarbeit mit Latex unter Linux (TexLive und Kile).

    Jetzt habe ich 2 Programmiersprachen verwendet: Python und C. In der Latex-Vorlage steht:

    PHP-Code:
    \lstset{
        
    language     = {C},                % Grundsprache ist C
        frame        
    = {tb},                      % none, (toprightbottom, and left directlytrbl or TRBL
        captionpos   
    = {b},                       % Beschriftung ist unterhalb
        basicstyle   
    = {\footnotesize\tt},        % Schriftart
        keywordstyle 
    = {\color{keywd1}},          % Farbe für die Keywords wie public, voidobject u.s.w.
        
    commentstyle = {\color{comment}},         % Farbe der Kommentare
        stringstyle  
    = {\color{string}},          % Farbe der Zeichenketten
        numbers      
    = {left},                    % Zeilennummern links vom Code
        numberstyle  
    = {\tiny},                   % kleine Zeilennummern
        numbersep    
    = {10pt},
        
    breaklines   = {true},                    % Wordwrap a.k.aZeilenumbruch aktiviert
        showstringspaces 
    = {false},
        
    emph = {double,bool,int,unsigned,char,true,false,void}, emphstyle=\color{keywd1},
        
    emph = {Assert,Test}, emphstyle=\color{string},
        
    emph = {[2]\using,\#define,\#ifdef,\#endif}, emphstyle={[2]\color{keywd1}},
        
    emph = {[3]KeyEventArgs,Keys,String}, emphstyle={[3]\color{keywd2}},
        
    xleftmargin = {20pt}

    Meine Listing binde ich mit folgendem ein:

    PHP-Code:
    \begin{lstlisting}[label={lis:bla},caption={test}]
    ...
    \
    end{lstlisting
    Da findet die Formatierung ja aber nur für C statt ... wie kann ich jetzt noch seperat sagen, dass das eine Listing in C ist und das andere in Python?


    vlg

  2. #2
    Registrierter Benutzer
    Registriert seit
    10.07.2010
    Ort
    Offenhausen
    Beiträge
    654
    Kannst du jedes mal umstellen mit
    Code:
    \lstset{
    	language=....,
    }
    Bitte verwende zur Darstellung des Codes die #-Taste!

    Gruß, Sepp.-
    Nachtrag:
    oder
    Code:
    \begin{lstlisting}[label={lis:bla},caption={test},language=....]
    ...
    \end{lstlisting}
    Geändert von Sepp99 (24-07-2012 um 13:37 Uhr) Grund: Nachtrag

  3. #3
    Registrierter Benutzer
    Registriert seit
    06.08.2008
    Beiträge
    1.015
    Du kannst direkt beim jeweiligen listing angeben, welche Sprache es ist (im Prinzip können alle Parameter aus lstset auch lokal in jedem listing geändert/übergeben werden):
    Code:
    \begin{lstlisting}[label={lis:bla},caption={test in C}, language=C] 
    ... C-code ...
    \end{lstlisting} 
    
    \begin{lstlisting}[label={lis:bla2},caption={test in python}, language=Python] 
    ... Python-Code ...
    \end{lstlisting}
    EDIT: zu langsam getippt

  4. #4
    Registrierter Benutzer
    Registriert seit
    24.07.2012
    Beiträge
    21
    Versteh ich das richtig, dass ich mir quasi 2 Formatierungen erstellen und mit lstset festlegen kann?

    Sodass ich dann vor dem Listingobjekt zusätzlich noch die Sprache angeben muss und es auf das jeweilige lstset zurück greift??

  5. #5
    Registrierter Benutzer
    Registriert seit
    06.08.2008
    Beiträge
    1.015
    lstset legt die globalen Parameter für alle Listings ab dem letzten Aufruf von lstset fest.

    Was du möchtest geht wohl eher in die Richtung eigener Styles mittels lstdefinestyle (siehe die Dokumentation, z.B. Abschnitt 3.1):
    You could even write ‘\lstdefinestyle{C++}{language=C++,style=numbers}’ . Style and language names are independent of each other and so might coincide. Moreover it is possible to activate other styles.
    Du könntest so zwei Stile festlegen, die Formatierungsanweisung und auch schon die Wahl der Programmiersprache beinhalten. Dann würde beim jeweiligen Listing die Angabe des jeweiligen Styles ausreichen:
    Code:
    \begin{lstlisting}[label={lis:bla},caption={test in C}, style=C++] 
    ... C-code ...
    \end{lstlisting}
    oder eben mit lstset umschalten, wenn danach nur noch Listings der entsprechenden Sprache kommen.

Lesezeichen

Berechtigungen

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