mdframed 缺少一半框架

mdframed 缺少一半框架

这里缺少某些框架的任何明显原因:

在此处输入图片描述

\documentclass{article}

\usepackage{color}
\usepackage{hyperref}
\usepackage{mdframed}
\begin{document}

\begin{mdframed}
\begin{enumerate}
   \item Create the cumulative sum of probabilities for each care type, thus defining the interval width
   \item \textcolor{blue}{for} jj=1:m \textcolor{gray}{\% where m is the number of nurses}
   \item Choose care type
   \item \hspace{3cm}Randomly select care length ($n$) based on care type
     \item \item \textcolor{blue}{for} ii=1:n  \textcolor{gray}{\% where n is the sequence length}
   \item\hspace{3cm}Generate a random number $w$
  \item \hspace{3cm}Check into which cumulative probability interval $w$ falls and choose the corresponding surface category
  \item update ii=ii+1
  \item update jj=i+1
  \item \textcolor{blue}{end}
  \item \textcolor{blue}{end}
\end{enumerate}%}
\end{mdframed}

\end{document}

答案1

分析

如果color加载了包,则会绘制白色背景。默认framemethod使用以下 z 顺序,类似于\fcolorbox

  1. 左线
  2. 顶线
  3. 背景
  4. 底线
  5. 右线

屏幕通常分辨率较低,细线的线宽可能只有一个像素。在紧邻区域绘制白色背景。然后可能会发生白色背景也会给原先的黑线的像素着色的情况,黑线的一部分可能包含背景区域(低分辨率!,舍入问题,...)。

打印机使用更高的分辨率,例如 600 dpi。然后是一条粗细为0.4pt(默认值)的线。打印时为 3.3 个像素。如果粗细比一个像素短,那么线条不会消失。

测试文件

播放并分析的测试文件:

  • 它制作一个带框架的简单页面。无需字体即可使 PDF 文件保持较小。
  • 通过包简化了页面布局geometry
  • 单位为bp,这是 PDF(和 PS)的默认单位。这使得理解和解释 PDF 文件页面描述中的数字更加容易。
  • PDF 压缩已禁用(pdflatex)。然后可以在文本查看器或编辑器中轻松检查 PDF 文件。
\pdfobjcompresslevel=0
\pdfcompresslevel=0

\documentclass{article}
\usepackage[
  margin=0pt,
  hmargin=10bp,
  paperwidth=100bp,
  paperheight=50bp,
]{geometry}
\setlength{\topskip}{0bp}
\pagestyle{empty}

\usepackage{xcolor}
\usepackage{mdframed}

\mdfsetup{
  linewidth=.2bp,
  innerleftmargin=0bp,
  innerrightmargin=0bp,
  innertopmargin=0bp,
  innerbottommargin=0bp,
}

\begin{document}
\vspace*{10bp}
\begin{mdframed}
\rule{0pt}{10bp}
\end{mdframed}
\end{document}

解决方法

套餐mdframed提供其他framemethods

\usepackage[framemethod=tikz]{mdframed}

框架已绘制背景因此仍然可见。

答案2

不要使用 mdframed,请尝试使用

\usepackage{framed}

\begin{framed}
\begin{equation} 
a+b 
\end{equation}
\end{framed}

答案3

我尝试了之前的建议,但对我的情况没有影响。但是,为框架指定不同的边框大小确实改善了输出。使用属性linewidth

\documentclass{article}
\usepackage{mdframed}

\begin{document}
    \mdfsetup{
        linewidth=0.6pt
    }

    \begin{mdframed}
        Hi there!
    \end{mdframed}
\end{document}

相关内容