acmart:列表行高问题

acmart:列表行高问题

我在用着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或定义样式并应用它。

相关内容