在 tikz 中添加两个长度

在 tikz 中添加两个长度

我想添加两个 tikz 维度,就像这样

\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    \newdimen\heya
    \newdimen\xtra
    \xtra=0.3cm
    \heya=4cm+\xtra
    \draw (0,0) -- (\heya, 0);
\end{tikzpicture}
\end{document}

此行\heya=4cm+\xtra导致错误。正确的做法是什么?

谢谢!

=======

更新:请参阅下面史蒂文的回答。

我发现创建宏更容易,阿拉

\newcommand{\add}[2]{\dimexpr#1+#2\relax}

进而...

\heya=\add{4cm}{\xtra}

...按预期工作!

答案1

与之无关,tikz但 TeX 原语\dimexpr(以不可扩展的标记终止,例如\relax)允许进行维度数学计算。

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    \newdimen\heya
    \newdimen\xtra
    \xtra=0.3cm
    \heya=\dimexpr4cm+\xtra\relax
    \draw (0,0) -- (\heya, 0);
\end{tikzpicture}
\end{document}
\end{document}

在 中tikz,计算可以在括号中进行,例如{\xtra+4cm}。正如 Torbjørn T. 指出的那样,如果参数没有圆括号,则括号是可选的,但将括号放在那里可能更容易避免将来编辑的风险。

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    \newdimen\heya
    \newdimen\xtra
    \xtra=0.3cm
    \draw (0,0) -- ({\xtra+4cm}, 0);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容