コード用の lstset の上部と下部に境界線を追加するにはどうすればいいですか

コード用の lstset の上部と下部に境界線を追加するにはどうすればいいですか

コードの上部と下部に境界線を付けたいです。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して、リストの周囲の線を微調整することもできます。rb

リストの上下の 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}

ここに画像の説明を入力してください

関連情報