我已经使用 Tikz 一段时间了,到目前为止,有些宏运行良好。但自从 pgf 更新到 3.0.1 后,它们似乎就坏了。
具体来说,我有一些宏可以将文本放在图形中的特定点,并将其定位在该图形中的特定位置。例如,以下宏用于将文本放在某个特定位置的右侧:
\newcommand{\tkzputrghtext}[2]{
\node[label distance=-10pt,inner sep=0pt,outer sep=0pt,
minimum height=0pt,minimum width=0pt,
outer xsep=0pt,outer ysep=0pt,inner xsep=0pt,inner ysep=0pt,
label=right:#2] at (#1){};}
现在,标签的“正确”参数不再被视为位置参数;它现在被视为标签的一部分(因此所有标签都采用“正确:...”的形式)。
我应该如何做才能比 pgf 版本更加强大?
答案1
尝试:
\newcommand{\tkzputrghtext}[2]{
\node[inner sep=0pt,outer sep=0pt,
minimum height=0pt,minimum width=0pt,
label={[label distance=-10pt]right:#2}] at (#1) {};}
我认为,在节点的选项中,只有 标记属于 ,label distance
其他选项属于节点。因为只需确定inner
和分离一次就足够了……所以我省略了对和outer
的声明。xsep
ysep
我不明白为什么使用空节点来放置标签。您可以通过节点本身来执行此操作。