Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Probleme mit keywords bei Listings

  1. #1
    Registrierter Benutzer
    Registriert seit
    30.04.2007
    Beiträge
    131

    Probleme mit keywords bei Listings

    Hallo,
    habe wie der Titel schon sagt ein Problem mit keywords bei dem Packet Listings.
    Er will einfach die keywords nicht fett schreiben. Die Kommentare macht er richtig aber sonst macht er "nix". Weiß einfach net was ich falsch mache...

    Hier ein Bsp.: (muss leider die ganzen Packete laden, da ich diese in meinem Document brauche)

    Code:
    \documentclass[11pt,a4paper]{scrartcl}
    \usepackage[ngerman]{babel}
    \usepackage[table]{xcolor}
    \usepackage[latin1]{inputenc}
    \usepackage[intlimits,sumlimits]{amsmath}
    \usepackage{pst-pdf}
    \usepackage{pst-all}
    \usepackage{pstricks-add}
    \usepackage{enumitem}
    \usepackage{amsfonts}
    \usepackage{amssymb}
    \usepackage{makeidx}
    \usepackage{amsthm}
    \usepackage{parskip}
    \usepackage{keyval}
    \usepackage{listings}
    \usepackage{hyperref}
    \usepackage{subfig}
    \usepackage{graphicx}
    \usepackage{array}
    \usepackage{tabularx}
    
    
    \begin{document}
    \lstset{language=[Visual]C++, escapeinside={(*@}{@*)}, basicstyle=\small\ttfamily, frame=tb, morekeywords={max, Fitness, min, Crossover, Mutate, random}, breaklines=true, breakautoindent=false, breakindent=69pt}
    \begin{lstlisting}[caption={Pseudo--Code: GSA--Verfahren}, basicstyle=\small\ttfamily, columns=fixed]
    Intitalisiere: T // Höhe der Abkühltemperatur
    Intitalisiere: M // Größe der Anfangspopulation
    Intitalisiere: (*@$\gamma$@*) // (*@$0 < \gamma < 1$@*)
    Intitalisiere: (*@$P$@*) mit (*@$\left|P\right|=M$@*) // Anfangspopulation
    
    x_best = max(Fitness((*@$P$@*)));
    x_globel = x_best;
    while( )
    {
       x_worst = min(Fitness((*@$P$@*)));
       x_worst = Crossover((*@$s\in P, k\in P$@*)); // Fitness((*@$s$@*)) (*@$\neq$@*)Fitness((*@$k$@*))
       while()
       {
          for(l = 0; l < ???; l++)
          {
             x_mut = Mutate(P_i);
             (*@$\Delta$@*) = Fitness(x_mut) - Fitness(P_i);
             if((*@$\Delta$@*) < 0 || random(0,1) < (*@$\exp^{-\frac{\Delta}{T}}$@*))
             {
                x_i = x_mut;
             }
             if(Fitness(x_i) < Fitness(x_best))
             {
                x_best = x_i;
             }
             T *= (*@$\gamma$@*); // Temperatur reduzieren
          }
       }
       if(Fitness(x_best) < Fitness(x_global))
       {
          x_global = x_best;   
       }
       x_worst = x_best;
       Fitness(x_best) =  (*@$+\infty$@*);
    }
    return x_best
    \end{lstlisting}
    \end{document}
    Schon mal jetzt vielen Dank für eure Hilfe

    Quaneu

  2. #2
    Registrierter Benutzer
    Registriert seit
    03.05.2010
    Beiträge
    84
    also so funktioniert es bei mir. ich habe nur \lstset vor \begin{document} gesetzt und eine \lstset aus einen von meinen alten dateien genommen. ka, was bei dir das problem war.

    Code:
    \documentclass[11pt,a4paper]{scrartcl}
    \usepackage[ngerman]{babel}
    \usepackage{listings}
    
    \lstset{ %
    language=[Visual]C++,                    % choose the language of the code
    basicstyle=\small\ttfamily, % the size of the fonts that are used for the code
    basewidth=1.1ex,
    keywordstyle=\sffamily\bfseries,
    numbers=left,                   % where to put the line-numbers
    numberstyle=\footnotesize,      % the size of the fonts that are used for the line-numbers
    stepnumber=2,                   % the step between two line-numbers. If it's 1 each line will be numbered
    numbersep=5pt,                  % how far the line-numbers are from the code
    %backgroundcolor=\color{white},  % choose the background color. You must add \usepackage{color}
    showspaces=false,               % show spaces adding particular underscores
    showstringspaces=false,         % underline spaces within strings
    showtabs=false,                 % show tabs within strings adding particular underscores
    frame=tb,	                    % adds a frame around the code
    tabsize=2,	       	            % sets default tabsize to 2 spaces
    captionpos=b,                   % sets the caption-position to bottom
    breaklines=true,                % sets automatic line breaking
    breakautoindent=false, 
    breakindent=69pt,
    breakatwhitespace=false,        % sets if automatic breaks should only happen at whitespace
    morekeywords={max, Fitness, min, Crossover, Mutate, random}, 
    escapeinside={/*@}{@*/}         % if you want to add a comment within your code
    }
    
    
    \begin{document} 
    
    \begin{lstlisting}[caption={Pseudo--Code: GSA--Verfahren}, columns=fixed]
    
    Intitalisiere: T // Höhe der Abkühltemperatur
    Intitalisiere: M // Größe der Anfangspopulation
    Intitalisiere: (*@$\gamma$@*) // (*@$0 < \gamma < 1$@*)
    Intitalisiere: (*@$P$@*) mit (*@$\left|P\right|=M$@*) // Anfangspopulation
    
    x_best = max(Fitness((*@$P$@*)));
    x_globel = x_best;
    while( )
    {
       x_worst = min(Fitness((*@$P$@*)));
       x_worst = Crossover((*@$s\in P, k\in P$@*)); // Fitness((*@$s$@*)) (*@$\neq$@*)Fitness((*@$k$@*))
       while()
       {
          for(l = 0; l < ???; l++)
          {
             x_mut = Mutate(P_i);
             (*@$\Delta$@*) = Fitness(x_mut) - Fitness(P_i);
             if((*@$\Delta$@*) < 0 || random(0,1) < (*@$\exp^{-\frac{\Delta}{T}}$@*))
             {
                x_i = x_mut;
             }
             if(Fitness(x_i) < Fitness(x_best))
             {
                x_best = x_i;
             }
             T *= (*@$\gamma$@*); // Temperatur reduzieren
          }
       }
       if(Fitness(x_best) < Fitness(x_global))
       {
          x_global = x_best;   
       }
       x_worst = x_best;
       Fitness(x_best) =  (*@$+\infty$@*);
    }
    return x_best
    \end{lstlisting}
    \end{document}
    strolch

  3. #3
    Registrierter Benutzer
    Registriert seit
    30.04.2007
    Beiträge
    131
    Vielen Dank für Deine schnelle Antwort. Mit Deiner \lstset klappt´s bei mir auch. Komisch...

    Und nochmals vielen Dank

Lesezeichen

Berechtigungen

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