在盒子里列出?

在盒子里列出?

我的问题是,我正尝试编写一个带有彩色部分的示例文档。示例可以包含代码列表。不知何故,我似乎无法将背景颜色与列表结合起来,甚至无法逐字逐句地结合起来。

我尝试过的一个例子是:

\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

请始终发布显示所用软件包的完整文档。问题是您不能在宏的参数中使用逐字构造,例如\colorboxlrbox出于这个原因,引入了环境

在此处输入图片描述

\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将无济于事。仅作为提示

相关内容