
コードの上部と下部に境界線を付けたいです。lstset
次のように設定してみました。
\lstset{frame=topline|bottomline}
しかし、右側の境界線が削除され、すべての境界線がそのまま残りました。私が試したとき:
\lstset{frame=topline}
他のすべての境界線を削除して、上部の境界線を正しく保持しました。
同様に、私が試したとき:
\lstset{frame=bottomline}
他のすべての境界線を削除して、下部の境界線を正しく保持しました。
どうすれば2つを組み合わせることができますか?
答え1
ドキュメントによると、frame
キーは次の値を受け入れます。
none
、
leftline
、
topline
、
bottomline
、
lines
(上と下)、
single
単一フレームの場合、
shadowbox
。
(ドキュメント バージョン 1.8d の 18 ページのセクション「2.7 レイアウト要素」を参照してくださいlistings
。)
上部と下部の行を取得するには、次のように組み込みlines
キーを使用します。
\lstset{frame=lines}
前述の 7 つの定義済みスタイルに加えて、 単一行の場合は 、 、 、 の組み合わせ、二重行の場合は大文字バージョンt
を使用l
して、リストの周囲の線を微調整することもできます。r
b
リストの上下の 1 行は、次の内容に対応します。
\lstset{frame=tb}
答え2
マニュアルによると(36ページ) 複数のオプションを 1 文字で指定する必要があります。
\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}