我在使用 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
为,如下所示。0pt
minted@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}