Domanda

Ho un mucchio di codice in un ambiente lstlisting. Come posso mettere in evidenza (colore di sfondo) solo un particolare pezzo di codice all'interno dell'ambiente?

È stato utile?

Soluzione

È possibile utilizzare \ colorbox e un carattere di escape all'interno del vostro elenco:

Aggiungi al preambolo

  \usepackage{color}

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

quindi utilizzarlo come questo nel documento:

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

Altri suggerimenti

E 'un po' ingombrante, ma si può rompere il codice in diversi ambienti 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}

il pacchetto di annunci fornisce backgroundcolor = \ color {} come opzione, ma sono sicuro che rende il tutto di colore BG, non un pezzo.

si potrebbe avere uno sguardo a mettere un parbox con il colore, o il pacchetto colorbox.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top