我的問題是我正在嘗試編寫一個帶有彩色部分的文檔作為範例。範例可以包含程式碼清單。不知何故,我似乎無法將背景顏色與清單結合起來,甚至無法逐字結合。
我嘗試過的一個例子是這樣的:
\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
不會讓你一事無成。只是作為提示