使用 TikZ 绘制矩形边缘

使用 TikZ 绘制矩形边缘

大家好! :)

我目前正在开始使用 TikZ,当尝试绘制一些简单的矩形形状时,我注意到当我尝试用填充图案填充矩形时会发生相当奇怪的效果。有时 (!),填充图案不会完全填充矩形,并且会有一些小的边距:

下面是一个演示效果的最小工作示例。我在自己的系统(MacTeX 2014,tikz.sty 从 2013/12/13 开始,即 v3.0.0(rcs-revision 1.142))和Overleaf.com。 结果是一样的。

\documentclass{article}

\usepackage{float}
\usepackage{lipsum}
\usepackage{tikz}
\usetikzlibrary{patterns}

\begin{filecontents}{rectangles.tikz} 
    \begin{tikzpicture}
        \draw[] (0,0) rectangle (2,2);
        \draw[pattern=north east lines] (0,0) rectangle (1,2);
    \end{tikzpicture}
\end{filecontents} 

\begin{document}
    \subsection*{Effect, version 1:}
    \lipsum[2]
    \begin{figure}[H]    
        \centering
        \input{rectangles.tikz}
        \caption{Test Caption 1.}
    \end{figure}
    \lipsum[3]    
    \subsection*{Effect, version 2:}
    \begin{figure}[H]
        \input{rectangles.tikz}
        \caption{Test Caption 2.}
    \end{figure}
\end{document}

正如我所说,这种效果并不总是会发生。例如,如果我使用 定位我的第一个图形\begin{figure}[t],一切看起来都很好。因此,我怀疑效果取决于tikzpicture页面上的(绝对)位置?

如果您能提供任何关于为什么会发生这种情况的信息,或者更好的是,如何防止这种情况发生,我们将不胜感激:)

编辑:抱歉,我之前可能说得不够清楚。我所说的“边距”是指矩形阴影部分的图案没有延伸到边框:

(我用红色标记了图像中关键/可疑区域。)

编辑2:在对 TikZ 和 Mac Preview 之间的不兼容性进行更多研究之后,我还发现这个线程基本上描述了同样的问题:与 TikZ 和 Mac OS X 预览版不兼容 [关闭]

因此,这似乎确实是 PDF 渲染引擎的一个老问题,而不是 TikZ。我向 Apple 提交了一份错误报告,并发布了向 Apple 支持社区描述问题也许可以为遇到相同或类似问题的人提供线索:)

答案1

正如上面的评论中所讨论的,这实际上是 FileLoupe 使用的 OS X 上的 PDF 渲染器和 TeXPad App 的内置 PDF 查看器中的一个错误。

相关内容