benregn
我遇到了与用户相同的问题
。但使numberstyle
小于并basicstyle
不能解决我的问题。
最小工作示例:
\documentclass{article}
\usepackage{lipsum}
\usepackage{lstautogobble}
\usepackage{listings}
\lstdefinestyle{myStyle}
{
tabsize=4,
autogobble=true,
mathescape=true,
numbers=left,
xleftmargin=9mm,
framexleftmargin=9mm,
commentstyle=\color{green!50!black},
comment=[l]\%\ ,
backgroundcolor=\color{black!10!white},
keywordstyle=\color{blue},
keywords=
{
and,
and,
case,
do,
else,
elseif,
end,
for,
function,
if,
switch,
to,
while,
}
}
\usepackage{xcolor}
\begin{document}
\lipsum[1]
\begin{lstlisting}[style=myStyle]
$abcdefghijklmnopqrstuvwxyz$
$\left\lfloor \frac{abcdefghijklmnopqrstuvwxyz}{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\right\rfloor$
\end{lstlisting}
\lipsum[2]
\end{document}
结果如下
。我该如何修复这个问题?
答案1
该问题已记录在清单手册中。
8.2 Listings with a background colour and LATEX escaped
formulas
目前只有一种解决方法:• 将您的代码写入外部文件
<filename>
。• 将您的代码输入\lstinputlisting{<filename>}
到您的文档中并用 \begin{mdframed} . . . \end{mdframed} 生成的框架将其围起来。
话虽如此,我尝试了更短的路线,它似乎有效,但不知道它是否真的有效。
\documentclass{article}
\usepackage{lipsum}
\usepackage{lstautogobble}
\usepackage{listings}
\lstdefinestyle{myStyle}
{
tabsize=4,
autogobble=true,
mathescape=true,
numbers=left,
xleftmargin=9mm,
framexleftmargin=9mm,
commentstyle=\color{green!50!black},
comment=[l]\%\ ,
keywordstyle=\color{blue},
keywords=
{
and,
and,
case,
do,
else,
elseif,
end,
for,
function,
if,
switch,
to,
while,
}
}
\usepackage{xcolor}
\usepackage{mdframed}
\begin{document}
\lipsum[1]
\begin{mdframed}[backgroundcolor=black!10!white]
\begin{lstlisting}[style=myStyle]
#test&&#$abcdefghijklmnopqrstuvwxyz$
$\left\lfloor \frac{abcdefghijklmnopqrstuvwxyz}{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\right\rfloor$
\end{lstlisting}
\end{mdframed}
\lipsum[2]
\end{document}