xelatex/pdflatex によって処理される、 mdframed
およびを使用した 2 つの類似のボックス環境を考えてみましょう。tcolorbox
\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 など) で 2 つの同等のボックスが表示されます。
しかし、75% 未満のズームでは、tcolorbox
Okular と Adobe Acrobat のフレームの境界線が失われ始めます。
はい、すでに議論された質問[PDF でボックスの境界線が正しく表示されない] (Evince でのラスタライズの誤り、PDF ビューアの不具合などについて)。
しかし、mdframed は何らかの方法でこの問題をハッキングし、すべての PDF ビューアーで「mdframed の境界線」が正常であることがわかりました (「[framemethod=tikz]」がなくても)。
「mdframed のように」動作させるための魔法のオプション/ハック/回避策を指定することは可能ですかtcolorbox
? (「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 のすべてのズーム レベルで OK。