missi
06-09-2010, 22:54
Hallo, Leute.
Ich hab ein kleines Problem. Ich schreibe an einer Dokumentation für ein Programm und möchte zwischen den Textzeilen Codeschnipsel in einem grau schattierten Rahmen darstellen. Hier ist mal ein Beispiel:
\documentclass[a4paper,10pt]{report}
\usepackage[latin1]{inputenc}
\usepackage{fancybox}
\usepackage{color}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
\definecolor{Gray}{gray}{0.8}
\begin{center}
\begin{figure}[htbp]
\colorbox{Gray}{\parbox{\textwidth}{\textcolor{bla ck}{\texttt{%
\# u: vertex, k: edge\\
\mbox{}\ \ \ \ vertex = get\_vertex(1)\\
\mbox{}\ \ \ \ if vertices! != None:\\
\mbox{}\ \ \ \ \mbox{}\ \ \ \ k = random(get\_edges())\\
}}}}
\caption{Blablabla}
\end{figure}
\end{center}
Now, look at the first few lines of \textit{graph.mesh.py} (after the long comment), where you can see this expression:
\begin{center}
\begin{figure}[htbp]
\colorbox{Gray}{\parbox{\textwidth}{\textcolor{bla ck}{\texttt{%
sys.path.insert(0, '/root/alice')
}}}}
\end{figure}
\end{center}
Blablablablablablablablablablablablablablablablabl ablabla.
\end{document}
Allerdings ergeben sich zwei unschöne Dinge.
Erstens: Zwischen dem Text und dem Rahmen ist immer ein enorm großer Abstand. Wenn ich z.B. mal nur eine Zeile erklären will (siehe zweiter Rahmen), dann ist zwischen dem Text und dem Rahmen so ein großer Abstand, dass es nicht schön aussieht.
Zeitens: Ich krieg das mit der Positionierung nicht hin (vllt. fällt das hier nicht auf, weil das Beispiel so klein ist). Ich schreibe in der tex-Datei nen Text, dann füge ich so einen Rahmen ein, dann wieder Text. Aber in der PDF ist der Rahmen manchmal ganz woanders. Ich weiß, der Interpreter versucht, dieses htbp so gut wie möglich zu machen, aber gibt es nicht irgendeinen Latex-Befehl, mit den ich "schattierte Rahmen mit Code drin" so erzeugen kann, dass sie genau dort sind, wo ich sie haben will?
Liebe Grüße, missi.
Ich hab ein kleines Problem. Ich schreibe an einer Dokumentation für ein Programm und möchte zwischen den Textzeilen Codeschnipsel in einem grau schattierten Rahmen darstellen. Hier ist mal ein Beispiel:
\documentclass[a4paper,10pt]{report}
\usepackage[latin1]{inputenc}
\usepackage{fancybox}
\usepackage{color}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
\definecolor{Gray}{gray}{0.8}
\begin{center}
\begin{figure}[htbp]
\colorbox{Gray}{\parbox{\textwidth}{\textcolor{bla ck}{\texttt{%
\# u: vertex, k: edge\\
\mbox{}\ \ \ \ vertex = get\_vertex(1)\\
\mbox{}\ \ \ \ if vertices! != None:\\
\mbox{}\ \ \ \ \mbox{}\ \ \ \ k = random(get\_edges())\\
}}}}
\caption{Blablabla}
\end{figure}
\end{center}
Now, look at the first few lines of \textit{graph.mesh.py} (after the long comment), where you can see this expression:
\begin{center}
\begin{figure}[htbp]
\colorbox{Gray}{\parbox{\textwidth}{\textcolor{bla ck}{\texttt{%
sys.path.insert(0, '/root/alice')
}}}}
\end{figure}
\end{center}
Blablablablablablablablablablablablablablablablabl ablabla.
\end{document}
Allerdings ergeben sich zwei unschöne Dinge.
Erstens: Zwischen dem Text und dem Rahmen ist immer ein enorm großer Abstand. Wenn ich z.B. mal nur eine Zeile erklären will (siehe zweiter Rahmen), dann ist zwischen dem Text und dem Rahmen so ein großer Abstand, dass es nicht schön aussieht.
Zeitens: Ich krieg das mit der Positionierung nicht hin (vllt. fällt das hier nicht auf, weil das Beispiel so klein ist). Ich schreibe in der tex-Datei nen Text, dann füge ich so einen Rahmen ein, dann wieder Text. Aber in der PDF ist der Rahmen manchmal ganz woanders. Ich weiß, der Interpreter versucht, dieses htbp so gut wie möglich zu machen, aber gibt es nicht irgendeinen Latex-Befehl, mit den ich "schattierte Rahmen mit Code drin" so erzeugen kann, dass sie genau dort sind, wo ich sie haben will?
Liebe Grüße, missi.