如何将爱好路径与 PGF 基本层命令结合起来?

如何将爱好路径与 PGF 基本层命令结合起来?

我需要组合通过创建的路径爱好具有标准pgf路径元素(如弧线)的包。在前端层中,这很容易做到,例如

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{hobby}
\begin{document}

\begin{tikzpicture}[use Hobby shortcut]
\draw (0,0) arc[start angle=180, end angle=90, x radius=1cm, y radius=1cm] .. (0.51, -0.5) .. (0, 0) -- cycle;
\end{tikzpicture}
\end{document}

在此处输入图片描述

但是我在包的文档中找不到在基本层hobby内构建路径的方法pgf,即用于。由于有些情况下我更喜欢通过基本层命令构建路径,我想知道:是否有某种方法可以将路径与基本层路径组合成一个连接(或闭合)的路径?包是否可能提供我尚未找到的基本层接口?\pgfusepathhobbyhobbypgfhobby

答案1

假设 a) 我理解了问题,并且 b) 我已正确完成上传,现在可以使用 的开发版本来实现这一点hobby,该版本可从TeX-SX 启动板页面(下载hobby.dtx并运行tex hobby.dtx以生成文件)。

根据评论和澄清进行更新

新语法如下。以 开头\pgfpathhobby并以 结尾\pgfpathhobbyend\pgfpathhobby将查看其后是否跟有\bgroup(或{),如果是,则将以下组视为要传递给配置的键值选项。 每个点由 指定,\pgfpathhobbypt{<point specification>}还将查找以下组,该组被视为该点的键值。 例如:

\begin{tikzpicture}
\pgfpathmoveto{\pgfpoint{0}{0}}
\pgfpathlineto{\pgfpoint{1cm}{0}}
\pgfpathhobby{closed=true}
\pgfpathhobbypt{\pgfpoint{1cm}{2cm}}{tension in=2}
\pgfpathhobbypt{\pgfpoint{2cm}{1cm}}
\pgfpathhobbypt{\pgfpoint{3cm}{0cm}}
\pgfpathhobbyend
\pgfusepath{stroke}
\end{tikzpicture}

显然,这仍然处于不断变化之中,因此很容易发生变化。我会尽量让这个答案保持最新版本。

相关内容