
Ich möchte oben und unten in meinem Code einen Rahmen haben. Ich habe versucht, ihn lstset
wie folgt einzurichten:
\lstset{frame=topline|bottomline}
Allerdings wurde einfach der rechte Rand entfernt und alle Ränder blieben intakt. Als ich es versuchte:
\lstset{frame=topline}
Der obere Rand wurde korrekt beibehalten und alle anderen wurden entfernt.
Das Gleiche geschah, als ich Folgendes versuchte:
\lstset{frame=bottomline}
Der untere Rand wurde korrekt beibehalten und alle anderen wurden entfernt.
Wie kann ich beides kombinieren?
Antwort1
Laut Dokumentation frame
akzeptiert der Schlüssel die folgenden Werte:
none
,
leftline
,
topline
,
bottomline
,
lines
(oben und unten),
single
für Einzelbilder,
shadowbox
.
(Siehe Abschnitt „2.7 Layout-Elemente“ auf Seite 18 der listings
Dokumentationsversion 1.8d.)
Um eine Ober- und Untergrenze zu erhalten, können Sie den integrierten lines
Schlüssel wie folgt verwenden:
\lstset{frame=lines}
Zusätzlich zu den zuvor erwähnten sieben vordefinierten Stilen können Sie die Zeilen um die Auflistung herum auch feinabstimmen, indem Sie eine Kombination aus t
, l
, r
, und b
für einzelne Zeilen oder die Großbuchstabenversionen für doppelte Zeilen verwenden.
Eine einzelne Zeile oberhalb und unterhalb der Auflistung würde also entsprechen:
\lstset{frame=tb}
Antwort2
Laut Handbuch (Seite 36) müssen Sie mehrere Optionen mit einzelnen Zeichen angeben:
\documentclass{article}
\usepackage{listings}
\begin{document}
\lstset{language=Pascal}
\begin{lstlisting}[frame=tb]
for i:=maxint to 0 do
begin
{ do nothing }
end;
\end{lstlisting}
\end{document}