我需要组合通过创建的路径爱好具有标准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
,即用于。由于有些情况下我更喜欢通过基本层命令构建路径,我想知道:是否有某种方法可以将路径与基本层路径组合成一个连接(或闭合)的路径?包是否可能提供我尚未找到的基本层接口?\pgfusepath
hobby
hobby
pgf
hobby
答案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}
显然,这仍然处于不断变化之中,因此很容易发生变化。我会尽量让这个答案保持最新版本。