mdframed
让我们考虑使用和的两个类似的盒装环境tcolorbox
,由 xelatex/pdflatex 处理:
\documentclass{article}
\usepackage{tcolorbox}
\usepackage{mdframed}
\usepackage{lipsum}
\begin{document}
\begin{tcolorbox}[colback=white,colframe=black,sharp corners=all,boxrule=0.7pt,top=0.2in]
\lipsum[3]
\end{tcolorbox}
\begin{mdframed}[linewidth=0.7pt,innertopmargin=0.2in,innerbottommargin=0.2in]
\lipsum[3]
\end{mdframed}
\end{document}
放大 100% 或更大时,我们会在所有 PDF 查看器(Evince、Okular、Adobe Acrobat 等)中看到两个等效的框
但是在低于 75% 的缩放比例下,tcolorbox
Okular 和 Adobe Acrobat 上的框架边框开始丢失。
是的,问题已经讨论过了[PDF 上的框边框线无法正确显示],(关于 Evince 中的不正确光栅化、有缺陷的 PDF 查看器等)。
但我发现,mdframed 以某种方式解决了这个问题,并且“mdframed borders”在所有 PDF 查看器中都可以正常显示(即使没有“[framemethod=tikz]”)。
是否可以指定一些神奇的选项/ hack /解决方法来使其tcolorbox
行为“像 mdframed”?(“即使在 Okular 和 Adobe Reader 中也保存所有缩放级别的边框”)
答案1
tcolorbox 的问题在于栅格化边框和填充背景时会造成混乱(感谢@DavidCarlishe)。我们需要在 tcolor 框中使用透明背景。
更正来源:
\documentclass{article}
\usepackage{tcolorbox}
%\tcbuselibrary{skins}
\usepackage{mdframed}
\usepackage{lipsum}
\begin{document}
\begin{tcolorbox}[standard jigsaw,opacityback=0,colframe=black,sharp corners=all,boxrule=0.7pt,top=0.2in,left=0.1in]
\lipsum[3]
\end{tcolorbox}
\begin{mdframed}[linewidth=0.7pt,innertopmargin=0.2in,innerbottommargin=0.2in]
\lipsum[3]
\end{mdframed}
\end{document}
Okular 和 Adobe Acrobat 中的所有缩放级别均正常。