PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Erzwungene Leerzeichen in colorbox funktionieren nicht



missi
10-08-2010, 01:20
Hallo, Leute.

Ich muss eine Code-Dokumentation schreiben und möchte einen Codeschnipsel einfügen, dafür aber nicht "algorithmic" oder andere algorithmen-Pakete verwenden. Ich möchte stattdessen den Codeabschnitt grau schattiert umrahmen. Ich hab das mit einer colorbox Folgendermaßen gemacht:



\definecolor{Gray}{gray}{0.8}
\begin{center}
\colorbox{Gray}{\parbox{11cm}{\textcolor{black}{\t exttt{def main():
\ \ \ \ prepare\_logger()\\
\ \ \ \ alg = Graph(name, ...)\\
\ \ \ \ alg.start()}}}}
\end{center}

Es handelt sich um einen Python-Code, also wollte ich für die Einrückung des Funktionskörpers immer vier Leerzeichen erzwingen. Außerdem soll der Courier-Style beibehalten werden. Aber Leerzeichen werden nicht gemacht.

Kann jemand sagen, warum???

Stefan_K
10-08-2010, 02:15
Hallo Missi,

willkommen im Forum!
Zum Einbinden von Python-Code würde ich das listings-Paket verwenden. Das ist sehr gut konfigurierbar, damit kriegt man gewünschtes Aussehen gut hin.

Bei der \colorbox-Variante würde Dir schon \raggedright (http://texblog.net/help/latex/ltx-301.html) weiterhelfen:

\colorbox{Gray}{\parbox{11cm}{\raggedright\textcol or{black}{\texttt{def main():
...

Viele Grüße,

Stefan


--
TeXblog (http://texblog.net)

u_fischer
10-08-2010, 09:27
Kann jemand sagen, warum???

Weil LaTeX sich eine Menge Mühe gibt, Leerzeichen am Anfang von Zeilen zu vermeiden.


\documentclass{scrartcl}

\usepackage{color}

\begin{document}
\definecolor{Gray}{gray}{0.8}
\begin{center}
\colorbox{Gray}{\parbox{11cm}{\textcolor{black}{\t exttt{def main():\ \ \ \ prepare\_logger()\\
\mbox{}\ \ \ \ alg = Graph(name, ...)\\
\hspace*{5ex}alg.start()}}}}
\end{center}
\end{document}

missi
10-08-2010, 11:34
Danke, hat wunderbar geklappt :):):)