在梯形上绘制垂直等距垂直线

在梯形上绘制垂直等距垂直线

正如标题所示,我试图在形状上等距绘制垂直线trapezium。由于某种原因,线条的间距不如预期。我正在使用calctikz 库来计算行间距。请参阅下面的 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 eastsouth west锚点trapezium并不完全像我所想的那样。

长方形

这要好得多。

答案1

您正在追寻bottom left cornerbottom 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}

相关内容