mdframed 中的字幕块

mdframed 中的字幕块

我在使用 时遇到了一个小问题mdframed.sty。字幕块似乎有一个0.4pt与字幕背景颜色相同的框架。这导致字幕框架的左右两端稍微侵入框架的整体线宽:

mdframed字幕框架问题

这直接来自用户指南中的代码:

\documentclass{amsart}

\usepackage[tikz]{mdframed}

\usepackage{xcolor}

\newmdenv[%
    roundcorner=5pt,
    subtitlebelowline=true,subtitleaboveline=true,
    subtitlebackgroundcolor=yellow!70!white,
    backgroundcolor=blue!20!white,
    frametitle={Theorem},frametitlerule=true,
    frametitlebackgroundcolor=yellow!70!white,
]{subtitleenv}


\begin{document}

\begin{subtitleenv}
Some Text \ldots
\mdfsubtitle{Notes}
Some Text \ldots
\end{subtitleenv}

\end{document}

我查看了代码(非常清晰),但找不到解决linewidth整个字幕框架问题的咒语。

有什么建议吗?

答案1

问题在于样式(在提供带有选项的样式的mdfsubtitlebackground文件中找到)使用背景颜色;定义:md-frame-1.mdfmdframedframemethod=tikzdraws

\tikzset{mdfsubtitlebackground/.style={%
   draw=\mdf@subtitlebackgroundcolor,
   fill=\mdf@subtitlebackgroundcolor,
  }%
}

一个简单的解决方法是使用以下方法来设置此样式draw=none

\documentclass{amsart}
\usepackage[tikz]{mdframed}
\usepackage{xcolor}

\makeatletter
\tikzset{
mdfsubtitlebackground/.style={
  draw=none,
  fill=\mdf@subtitlebackgroundcolor}
}
\makeatother

\newmdenv[%
    innerlinewidth=0.2pt,
    roundcorner=5pt,
    subtitlebelowline=true,subtitleaboveline=true,
    subtitlebackgroundcolor=yellow!70!white,
    backgroundcolor=blue!20!white,
    frametitle={Theorem},frametitlerule=true,
    frametitlebackgroundcolor=yellow!70!white,
]{subtitleenv}

\begin{document}

\begin{subtitleenv}
Some Text \ldots
\mdfsubtitle{Notes}
Some Text \ldots
\end{subtitleenv}

\end{document}

在此处输入图片描述

在此处输入图片描述

正如软件包作者所评论的那样,该问题现已修复,并将在软件包的新版本中得到更正。

相关内容