web-dev-qa-db-ja.com

lstlisting内のコードのチャンクを強調表示する

Lstlisting環境にたくさんのコードがあります。環境内の特定のコードチャンクだけを強調表示(背景色)するにはどうすればよいですか?

29
Ryan R. Rosario

リスト内で\ colorboxとエスケープ文字を使用できます。

前文に追加する

  \usepackage{color}

  \definecolor{light-gray}{gray}{0.80}

次に、ドキュメントで次のように使用します。

  \begin{lstlisting}[escapechar=!]
  def mult(m: Matrix[Int], n: Matrix[Int]) {
    val p = !\colorbox{light-gray}{new MatrixInt}!(m.rows, n.cols)
  }
  \end{lstlisting}
34
Iulian Dragos

少し面倒ですが、コードをいくつかのlstlisting環境に分割できます。

\begin{lstlisting}
line
\end{lstlisting}
\vspace{-\baselineskip}
\begin{lstlisting}[backgroundcolor=\color{pink}]
very
interesting
\end{lstlisting}
\vspace{-\baselineskip}
\begin{lstlisting}
line
line
\end{lstlisting}
8

リストパッケージはオプションとしてbackgroundcolor =\color {}を提供しますが、それがチャンクではなくBGカラー全体になると確信しています。

あなたはそれを色付きのパーボックス、またはカラーボックスパッケージに置くことを見ることができます。

0
Mica