Quellcode im Anhang: Grau hinterlegt mit Ausrichtung

Schriftbild, Absätze und Auflistungen einstellen


White

Quellcode im Anhang: Grau hinterlegt mit Ausrichtung

Beitrag von White »

Guten Tag,

Ich möchte im Anhang meiner Arbeit den Quellcode auf grauem Hintergrund darstellen, dabei sollen die einzelnen Elemente untereinander ausgerichtet werden.

So weit bin ich schon gekommen:
\colorbox{Hellgrau}{\parbox{\columnwidth}{
\texttt{
      // PARAMETER\\
\\      
int T = ...;                     \hfill // Perioden\\
{int} PROD =...;             // Produkte\\
float d [PROD, 1..T]=...;        // Bedarfe\\

}}}
Das sieht auch schon sehr gut aus, aber es gibt keine Ausrichtung.
/hfill ist hier auch keine Lösung, da die Ausrichtung an "//" stattfinden soll, also alle "//" untereinander.
Ich habe versucht, hier eine longtable-Umgebung einzufügen, es hat leider nicht funktioniert.
Außerdem findet kein Seitenumbruch statt.

Wie kann ich das hinkriegen? Gibt es vielleicht andere Lösungsansätze?

Vielen Dank schon mal!

White

Beitrag von White »

Ach ja, hier natürlich noch das Package:
\usepackage{color,colortbl}
    \definecolor{Hellgrau}{gray}{0.92}
Ich weiß nicht genau, welche Packages hier noch relevant sind.

Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Beitrag von Sepp99 »

White hat geschrieben:Ach ja, hier natürlich noch das Package:
.......
Ich weiß nicht genau, welche Packages hier noch relevant sind.
Schau dir das listings-Paket an. Ansonsten mach ein anständiges Minimalbeispiel [3] (gilt auch für Gäste!).

Sepp.-

White

Beitrag von White »

Danke!

Hab listings ausprobiert, hier ist das Minimalbeispiel dazu
\documentclass{article}
\usepackage{listings}
\usepackage{color,colortbl}
    \definecolor{Hellgrau}{gray}{0.92}
    
\begin{document}

\lstset{backgroundcolor=\color{Hellgrau}, columns=[c|l|r]{fullflexible}, breaklines=true, basicstyle=\small\ttfamily}

\begin{lstlisting}[frame=singl,framerule=0pt]

      // PARAMETER
     
int T = ...;                        // Perioden
{int} PROD =...;                    // Produkte
float d [PROD, 1..T]=...;           // Bedarfe
\end{lstlisting}

\end{document}
Sieht gut aus, aber ich bekomme die Ausrichtung immernoch nicht hin. Habe auch in der Dokumentation nichts dazu gefunden.
Bei longtable werden die Spalten z.B. immer an "&" ausgerichtet. Was muss man bei listings dafür einfügen?

Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Beitrag von Sepp99 »

Geht doch:
\documentclass{article}
\usepackage{listings}
%\usepackage{color,colortbl}
%    \definecolor{Hellgrau}{gray}{0.92}
\usepackage{xcolor}   


%\lstset{backgroundcolor=\color{Hellgrau}, 
%columns=[l|l|l]{fullflexible}, 
%breaklines=true, basicstyle=\small\ttfamily}

\lstset{%
    float=htbp,%
    basicstyle=\ttfamily\small, %
    columns=flexible, %
    tabsize=2, %
    frame=single, %
		framerule=0pt, %
    extendedchars=true, %
    showspaces=false, %
    showstringspaces=false, %
    breaklines=true, %
    backgroundcolor=\color{gray!10}, %
    breakautoindent=true, %
    captionpos=t
} 


\begin{document}
\begin{lstlisting}%[frame=single,framerule=0pt]

                                // PARAMETER
     
int T = ...;                    // Perioden
{int} PROD =...;                // Produkte
float d [PROD, 1..T]=...;       // Bedarfe
\end{lstlisting}

\end{document} 
Besser das Paket xcolor verwenden! Siehe Anhang.
Sepp.-
Dateianhänge
testlisting.pdf
(20.44 KiB) 447-mal heruntergeladen

White

Beitrag von White »

Super! Vielen Dank!

Warum ist xcolor besser?

Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Beitrag von Sepp99 »

White hat geschrieben:Warum ist xcolor besser?
xcolor lädt auch color, bietet darüber hinaus weit mehr Möglichkeiten. Siehe z.B.
\color{gray!10}
und zahlreiche Farbmischungen und andere vordefinierte Farbwerte usw.
Siehe dazu die Paketdoku!

Gruß, Sepp.-

PS. Falls deine Frage beantwortet ist, bitte den Status ändern.

White

Beitrag von White »

Ja, gut, aber in diesem Fall macht es ja keinen großen Unterschied, oder?

Danke nochmal! :)

Antworten