我对以下问题感到困惑。
我想定义一个名为 \mywidth 的长度,并在我的文档中的 TikZ 图片中使用它。我尝试了以下方法,但没有奏效。首先,我在序言中添加了以下内容:
\newlength{\mywidth}
\setlength{\mywidth}{1cm}
然后在tikzpicture环境中,我尝试以下代码:
\draw (0cm,0cm) to [out=0, in=180] (\mywidth,1cm);
不起作用!我收到一个奇怪的错误:Missing \csendname inserted.
但是,如果我只是输入
\draw (0cm,0cm) to [out=0, in=180] (1cm,1cm);
那我确实做了什么?
答案1
实际上,这是一个错误in
,out
它应该像您一样工作。--
to
\the\width
到 TikZ 中的路径+相对坐标?“这也遇到了与to
路径运营商有关的类似问题。
\documentclass{article}
\usepackage{tikz}
\newlength{\mywidth}
\setlength{\mywidth}{1cm}
\begin{document}
\begin{tikzpicture}
\draw (0cm,0cm) -- (\mywidth,1cm); % Works!
\draw (0cm,0cm) to (\mywidth,1cm); % Works!
\draw (0cm,0cm) to [] (\mywidth,1cm); % Works!
\draw (0cm,0cm) to [in=180] (\mywidth,1cm); % Error
\draw (0cm,0cm) to [out=0] (\mywidth,1cm); % Error
\draw (0cm,0cm) to [out=0, in=180] (\mywidth,1cm); % Error
\draw (0cm,0cm) to [in=180] (\the\mywidth,1cm); % Works
\draw (0cm,0cm) to [out=0] (\the\mywidth,1cm); % Works
\draw (0cm,0cm) to [out=0, in=180] (\the\mywidth,1cm); % Works
\end{tikzpicture}
\end{document}
如果您需要一个因素,则.5
需要\mywidth
写.5*\the\mywidth
或使用\dimexpr
:\the\dimexpr.5\mywidth\relax
。\relax
还要注意\width
,乳胶命令\height
通常\depth
会\totalheight
在内部使用以表示处理框的尺寸,因此应更好地避免\raisebox{<length>}{<content>}
使用它们。\raisebox{.5\height}{Text}