Подтвердить что ты не робот

Выделение фрагмента кода внутри lstlisting

У меня есть куча кода в среде lstlisting. Как я могу выделить (цвет фона) только конкретный фрагмент кода в среде?

4b9b3361

Ответ 1

Вы можете использовать \colorbox и escape-символ внутри вашего списка:

Добавить в свою преамбулу

  \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}

Ответ 2

Это немного громоздко, но вы можете разбить код на несколько сред 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}

Ответ 3

Пакет листингов предоставляет параметр backgroundcolor =\color {} в качестве опции, но я уверен, что делает весь цвет BG, а не куском.

вы могли бы взглянуть на то, чтобы поместить его в пакет с цветом или пакет colorbox.