我在用着acmart
并且listings
存在行高问题。如果我设置backgroundcolor
,则行的阴影高度与实际高度不匹配:
\documentclass{acmart}
\usepackage{listings}
\usepackage{color}
\definecolor{verylightgray}{gray}{0.9}
\lstset{backgroundcolor=\color{verylightgray}}
\begin{document}
\begin{lstlisting}
obj merchant {
customer.payMethod
customer.bankTransfer
}
\end{lstlisting}
\end{document}
如果我替换acmart
为,article
问题基本上就消失了:
尽管有趣的是,即使有,也确实似乎有一条隐约可见的白线article
。
答案1
您可以使用tcolorbox
绘制纯色背景:
\documentclass{acmart}
\usepackage[many]{tcolorbox}
\tcbuselibrary{listings}
\usepackage{lipsum}
\definecolor{verylightgray}{gray}{0.9}
\newtcblisting{graylstlisting}[1][]
{
spartan,
frame empty,
boxsep=0mm,
left=1mm,right=1mm,top=1mm,bottom=1mm,
listing only,
colback=verylightgray,
listing options={
basicstyle=\normalfont,
#1
},
}
\begin{document}
\lipsum[2]
\begin{graylstlisting}
obj merchant {
customer.payMethod
customer.bankTransfer
}
\end{graylstlisting}
\end{document}
您可以将listings
选项添加为可选参数graylstlisting
或定义样式并应用它。