![在 tikz 中添加两个长度](https://linux22.com/image/364866/%E5%9C%A8%20tikz%20%E4%B8%AD%E6%B7%BB%E5%8A%A0%E4%B8%A4%E4%B8%AA%E9%95%BF%E5%BA%A6.png)
我想添加两个 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}