PDF 中的“tcolorbox”边框消失,但 mdframed 上的边框稳定。可以在 tcolorbox 中制作这样的边框吗?

PDF 中的“tcolorbox”边框消失,但 mdframed 上的边框稳定。可以在 tcolorbox 中制作这样的边框吗?

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% 的缩放比例下,tcolorboxOkular 和 Adob​​e Acrobat 上的框架边框开始丢失。

此 PDF 在 Adob​​e Reader DC 中的阅读率为 66%

Okular 上的此 PDF 缩放到 100% 以下

是的,问题已经讨论过了[PDF 上的框边框线无法正确显示],(关于 Evince 中的不正确光栅化、有缺陷的 PDF 查看器等)。

但我发现,mdframed 以某种方式解决了这个问题,并且“mdframed borders”在所有 PDF 查看器中都可以正常显示(即使没有“[framemethod=tikz]”)。

是否可以指定一些神奇的选项/ hack /解决方法来使其tcolorbox行为“像 mdframed”?(“即使在 Okular 和 Adob​​e 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 和 Adob​​e Acrobat 中的所有缩放级别均正常。

相关内容