当我使用以下命令时:
\draw (apex)+(1mm,0) -- node {$h$} (center)+(1mm,0);
其中(apex)
和(center)
是适当预定义的,那么我有一个问题,虽然 可以很好地+(1mm, 0)
应用于 ,但 不能(center)
应用于(apex)
。我该如何解决这个问题?
答案1
首先绘制线至(center)
,然后+(1mm,0)
引起向右移动 1 毫米的操作。
TikZ 库calc
有助于:
\usetikzlibrary{calc}
\draw (apex) +(1mm, 0) -- node {$h$} ($(center) + (1mm, 0)$);
% or
\draw ($(apex) + (1mm, 0)$) -- node {$h$} ($(center) + (1mm, 0)$);
也可以采用不使用库的解决方案calc
,例如使用临时坐标:
\draw (center) +(1mm, 0) coordinate (tmp)
(apex) +(1mm, 0) -- node {$h$} (tmp);
答案2
您可以使用shift
坐标选项。
\draw ([shift={(1mm,0)}]apex) -- node {$h$} ([shift={(1mm,0)}]center);
或者
\draw ([xshift=1mm]apex) -- node {$h$} ([xshift=1mm]center);