带有框架和背景颜色的 Minted

带有框架和背景颜色的 Minted

我在使用 minted 时遇到了问题。我创建了一个新的 minted 环境,如下所示:

\definecolor{dhscodebg}{rgb}{0.95,0.95,0.95}
\newminted[dhscode]{hs}{tabsize=4, fontsize=\footnotesize, frame=lines, framesep=\fboxsep, bgcolor=dhscodebg, rulecolor=\color{gray!40}}

如果我像这样使用它:

\begin{dhscode}
foo :: Double -> Int
\end{dhscode}

结果是:

在此处输入图片描述

您会注意到框架和背景结束处之间的间隙。 有办法消除这个间隙吗?

答案1

这会影响您的所有minted环境。一种解决方法是在 的定义中设置\fboxsep为,如下所示。0ptminted@colorbg

\makeatletter
\renewenvironment{minted@colorbg}[1]{
\setlength{\fboxsep}{\z@}
\def\minted@bgcol{#1}
\noindent
\begin{lrbox}{\minted@bgbox}
\begin{minipage}{\linewidth}}
{\end{minipage}
\end{lrbox}%
\colorbox{\minted@bgcol}{\usebox{\minted@bgbox}}}
\makeatother

以下是完整的最小工作示例(MWE)。(您应该在后续帖子中构建一个以便更快地回复。很多回答者不喜欢从头开始工作。)

\documentclass[preview,border=5]{standalone}

\usepackage{minted}

\makeatletter
\renewenvironment{minted@colorbg}[1]{
\setlength{\fboxsep}{\z@}
\def\minted@bgcol{#1}
\noindent
\begin{lrbox}{\minted@bgbox}
\begin{minipage}{\linewidth}}
{\end{minipage}
\end{lrbox}%
\colorbox{\minted@bgcol}{\usebox{\minted@bgbox}}}
\makeatother

\definecolor{dhscodebg}{rgb}{0.95,0.95,0.95}
\newminted[dhscode]{hs}{tabsize=4, fontsize=\footnotesize, frame=lines, framesep=5\fboxrule,framerule=1pt,
bgcolor=dhscodebg, rulecolor=\color{gray!40}}

\begin{document}
\begin{dhscode}
foo :: Double -> Int
\end{dhscode}
\end{document}

在此处输入图片描述

相关内容