删除框架的一部分

删除框架的一部分

我在 PSTricks 中有以下 MWE,显示一个矩形:

\documentclass[pstricks, border=12pt]{standalone}
\usepackage{pst-node}

\usepackage{siunitx}
\begin{document}
\begin{pspicture}[showgrid=true](5,5)
    \psframe(4,4)
\end{pspicture}
\end{document}

我想要删除右侧由坐标 (4,1) 和 (4,3) 跨越的部分。实现此目的的最简单方法是什么?我当然可以叠加一条白线,但这似乎是错误的方法。

答案1

“正确”的方法是绘制一条折线:

\psline(4,1)(4,0)(0,0)(0,4)(4,4)(4,3)

如果你想填充该区域,请使用:

\psframe*[linecolor=cyan!40](4,4)
\psline(4,1)(4,0)(0,0)(0,4)(4,4)(4,3)

答案2

这只是 PSTricks 的另一个答案。但是填充区域的边界经过了线的中间,linewidth=5\pslinewidth例如,您可以通过更改 轻松看到它。

\documentclass[pstricks,border=12pt]{standalone}
\begin{document}
\begin{pspicture}(4,4)
    \pscustom[fillstyle=solid,fillcolor=gray]
    {
        \psline(4,3)(4,4)(0,4)(0,0)(4,0)(4,1)
    }
\end{pspicture}
\end{document}

显然,上述代码等同于下面的代码(基于下面 Herbert 的令人惊讶的评论)。

\documentclass[pstricks,border=12pt]{standalone}
\begin{document}
\begin{pspicture}(4,4)
    \psline[fillstyle=solid,fillcolor=gray](4,3)(4,4)(0,4)(0,0)(4,0)(4,1)
\end{pspicture}
\end{document}

或者采用下面这种过度的解决方案。

\documentclass[pstricks,border=12pt]{standalone}
\begin{document}
\begin{pspicture}(4,4)
\pscustom
{
    \psline(4,3)(4,4)(0,4)(0,0)(4,0)(4,1)
    \gsave
        \closepath
        \fill[fillstyle=solid,fillcolor=gray]
    \grestore
}
\end{pspicture}
\end{document}

在此处输入图片描述

相关内容