Mein Problem ist, dass ich versuche, ein Dokument mit farbigen Abschnitten für Beispiele zu schreiben. Beispiele können Codeauflistungen enthalten. Irgendwie gelingt es mir nicht, eine Hintergrundfärbung mit einer Auflistung zu kombinieren, oder sogar wörtlich.
Ein Beispiel für das, was ich versucht habe, ist Folgendes:
\colorbox{lightgray}{
\begin{minipage}{4cm}
An example text
\begin{lstlisting}[frame=single,language=XML,caption=A Fibonaci example\label{code:fibonaci}]
<xml></xml>
\end{lstlisting}
Some more text
\end{minipage}
}
Alle Ideen sind willkommen!
Antwort1
Bitte posten Sie immer vollständige Dokumente, die die verwendeten Pakete zeigen. Das Problem ist, dass Sie im Argument eines Makros keine wörtlichen Konstrukte wie verwenden können \colorbox
. lrbox
Die Umgebung wurde aus diesem Grund eingeführt
\documentclass{article}
\usepackage{color,listings}
\definecolor{lightgray}{rgb}{.7,.7,.7}
\newsavebox\lstbox
\begin{document}
\begin{lrbox}{\lstbox}\begin{minipage}{4cm}
An example text
\begin{lstlisting}[frame=single,language=XML,caption=A Fibonaci example\label{code:fibonaci}]
<xml></xml>
\end{lstlisting}
Some more text
\end{minipage}\end{lrbox}
\colorbox{lightgray}{\usebox\lstbox}
\end{document}
Antwort2
Das ist, was ich normalerweise verwende.
\documentclass[12pt]{article}
\usepackage[margin=1.6cm]{geometry}
\usepackage{amsmath, amssymb}
\usepackage{xcolor}
\usepackage{listings}
\lstset
{
language=[LaTeX]TeX,
breaklines=true,
basicstyle=\tt\normalsize,
keywordstyle=\color{blue},
identifierstyle=\color{magenta},
frame = single
}
Beachten Sie die Verwendung von frame = single
als Argument. Die Verwendung von frame = true
bringt Sie nicht weiter. Nur als Tipp