正如标题所示,我试图在形状上等距绘制垂直线trapezium
。由于某种原因,线条的间距不如预期。我正在使用calc
tikz 库来计算行间距。请参阅下面的 MWE:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{shapes.geometric}
\begin{document}
\tikzset{
trapz/.style={draw, trapezium, trapezium angle=67.5,fill=white,
minimum height=6mm,text width=2cm,align=center,inner sep=0pt},
}
\begin{figure}
\begin{tikzpicture}[>=latex]
\node[trapz] (trapz1) at (0,0) {Trapezium};
%Draw inputs to trapz1
\foreach \x/\y in {1/1,2/2,3/3} {
\draw[->] ($(trapz1.south west)!\y/4!(trapz1.south east) + (0,-7mm)$) node[yshift=-3mm] {$a\x$} -- ($(trapz1.south west)!\y/4!(trapz1.south east)$);
}
\end{tikzpicture}
\end{figure}
\end{document}
这是上述代码的输出:
不太符合预期。但是,如果我用trapezium
形状替换rectangle
形状,这似乎可以正常工作。我怀疑形状的south east
和south west
锚点trapezium
并不完全像我所想的那样。
这要好得多。
答案1
您正在追寻bottom left corner
和bottom right corner
锚点。
trapezium
请参阅手册第 67.3 章(针对 3.0.1a 版本,日期为 2015 年 8 月 29 日)中有关形状的描述,您会在其中找到显示所有锚点位置的图表。
在下面的代码中,我也在south east
和处放置了红点south west
,并稍微简化了绘制箭头的代码。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{shapes.geometric}
\begin{document}
\tikzset{
trapz/.style={draw, trapezium, trapezium angle=67.5,fill=white,
minimum height=6mm,text width=2cm,align=center,inner sep=0pt},
}
\begin{figure}
\begin{tikzpicture}[>=latex]
\node[trapz] (trapz1) at (0,0) {Trapezium};
% highlight where south east and south west are
\fill [red] (trapz1.south west) circle[radius=3pt] (trapz1.south east) circle[radius=3pt];
\foreach [count=\x] \y in {1,2,3} {
\draw[<-] ($(trapz1.bottom left corner)!\y/4!(trapz1.bottom right corner)$) -- ++ (0,-7mm) node[below] {$a\x$} ;
}
\end{tikzpicture}
\end{figure}
\end{document}