我的问题是,我正尝试编写一个带有彩色部分的示例文档。示例可以包含代码列表。不知何故,我似乎无法将背景颜色与列表结合起来,甚至无法逐字逐句地结合起来。
我尝试过的一个例子是:
\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}
}
任何想法都值得赞赏!
答案1
请始终发布显示所用软件包的完整文档。问题是您不能在宏的参数中使用逐字构造,例如\colorbox
。lrbox
出于这个原因,引入了环境
\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}
答案2
这是我通常使用的。
\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
}
注意使用frame = single
作为参数。使用frame = true
将无济于事。仅作为提示