TikZ 的定点算法对 arrows.meta 不满意

TikZ 的定点算法对 arrows.meta 不满意

arrows.meta当我尝试在使用 的上下文中结合使用 的功能时fixed point arithmetic,我收到了一条错误消息。

梅威瑟:

\documentclass[border=8pt]{standalone}

\usepackage{fp}
\usepackage{tikz}
\usetikzlibrary{fixedpointarithmetic}
\usetikzlibrary{calc}
\usetikzlibrary{arrows.meta}

\pagestyle{empty}
\begin{document}

\begin{tikzpicture}[
                    my arrow/.style={arrows={-Stealth[scale=1.5]}},
                    fixed point arithmetic,
                    ]
  \coordinate (A) at (0,0);
  \coordinate (B) at (60:3in);
  \draw[my arrow] (A) --  (B);

\end{tikzpicture}

\end{document}

错误信息如下:

! FP error: Illegal character \pgfarrowlength  found in float number!.
\FP@errmessage #1->\errmessage {FP error: #1!}

l.18   \draw[my arrow] (A) --  (B);

? 

我该如何解决这个问题?

答案1

该错误信息似乎表明内部计算fixed point arithmetic被搞乱了arrows.meta

scope自然的解决方法是将所有需要处理的材料放入环境中fixedpointarithmetic,并将描绘箭头的代码放在外面。

一个例子:

\documentclass[border=8pt]{standalone}

\usepackage{fp}
\usepackage{tikz}
\usetikzlibrary{fixedpointarithmetic}
\usetikzlibrary{calc}
\usetikzlibrary{arrows.meta}

\pagestyle{empty}
\begin{document}

\begin{tikzpicture}[
                    my arrow/.style={arrows={-Stealth[scale=1.5]}},
                    ]
  \begin{scope}[fixed point arithmetic]
  \coordinate (A) at (0,0);
  \coordinate (B) at (60:3in);

  % a few operations here
  \draw (A) parabola ($(B)-(.25,.45)$);
  \draw ($(B)-(.25,.45)$) parabola (A);
  \end{scope}

  % arrows outside the "dangerous" environment
  \draw[my arrow] (A) --  (B);

\end{tikzpicture}

\end{document}

结果:

在此处输入图片描述

相关内容