箭头末端的垂直线

箭头末端的垂直线

我正在尝试重新创建所附的图片。出于某种原因,我无法使用 draw 命令在两个垂直条之间使用三角形-三角形代码。我尝试了不同的组合,但运气不佳。这是我的 MWE。感谢您的时间和您提供的任何帮助。

\documentclass[tikz]{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{hobby}
\usetikzlibrary{external}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usepgfplotslibrary{statistics}
\usetikzlibrary{arrows.meta}
\title{Basic Tikz Graphs}
\author{nbennett }
\date{February 2022}

\begin{document}

\maketitle

\begin{tikzpicture}[important line/.style={thick}]
\draw [opacity=1,important line] (-2,4) -- (2,4) -- (0,0) -- cycle;%big triangle
\draw [important line,fill=white,opacity=1] (0,4) circle (2cm and 0.4cm);%top of cone
\draw [fill=blue!20!white,opacity=1] (-1.49,2.98) -- (1.49,2.98) -- (0,0) -- cycle;
\draw [fill=blue!10!white,opacity=1,] (0,3) circle (1.49cm and 0.3cm); 
\draw[dashed] (0,0) -- (0,4) --(2,4); %dashed lines
\draw (1,4.18) node{\scriptsize $ 2 $}; % number
\draw[dashed] (0,2.98) -- (1.49,2.98); %dashed line
\draw (0.745,3.12) node{\scriptsize $ r $};
\draw[|Triangle-Triangle|] (2.4,0) -- (2.4,4); %PROBLEM IS HERE
\draw[white, fill=white] (2.3,1.75) rectangle (2.5,2.25); %an empty box for the space in middle
\draw (2.4,2) node{\scriptsize $ 10 $}; %a number
\draw[|Triangle-Triangle|] (1.65,0) -- (1.65,2.98); %PROBLEM HERE TOO
\draw[white, fill=white] (1.65,1.29) rectangle (1.65,1.69);
\path(1.65,1.29)--(1.65,1.69)node[midway]{\scriptsize \(h\)};
\end{tikzpicture}

\end{document}

在此处输入图片描述

答案1

语法arrows规格有点复杂。

其要点是,非单个字母的提示名称需要以选项结尾,即使它们是空的。

因此,使用

| Triangle[]-Triangle[] |

是指定箭头的正确方法。
但是,由于包含,因此]您需要保护它免受选项解析器(查找])的影响:

\draw[{| Triangle[]-Triangle[] |}] …;
% or explicitly
\draw[arrows={| Triangle[]-Triangle[] |}] …;

特别>钥匙可以用来使这变得更容易:

\draw[>=Triangle, |<->|] …;

也就是说,你总是可以指定自己的小费,比如

TriBar/.tip = {Triangle[] Bar[]}

稍后您可以使用它作为

\draw[TriBar-TriBar] …;

如果你经常在图片/范围内需要这个技巧,你可以再次使用

> = TriBar

然后只需<->在路径上使用即可。

代码

\documentclass[tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}[important line/.style={thick}]
\draw [opacity=1,important line] (-2,4) -- (2,4) -- (0,0) -- cycle;%big triangle
\draw [important line,fill=white,opacity=1] (0,4) circle (2cm and 0.4cm);%top of cone
\draw [fill=blue!20!white,opacity=1] (-1.49,2.98) -- (1.49,2.98) -- (0,0) -- cycle;
\draw [fill=blue!10!white,opacity=1,] (0,3) circle (1.49cm and 0.3cm); 
\draw[dashed] (0,0) -- (0,4) --(2,4); %dashed lines
\draw (1,4.18) node{\scriptsize $ 2 $}; % number
\draw[dashed] (0,2.98) -- (1.49,2.98); %dashed line
\draw (0.745,3.12) node{\scriptsize $ r $};
\draw[{| Triangle[]-Triangle[] |}] (2.4,0) -- (2.4,4); % ← !
\draw[white, fill=white] (2.3,1.75) rectangle (2.5,2.25); %an empty box for the space in middle
\draw (2.4,2) node{\scriptsize $ 10 $}; %a number
\draw[>=Triangle, |<->|] (1.65,0) -- (1.65,2.98); % ← !
\draw[white, fill=white] (1.65,1.29) rectangle (1.65,1.69);
\path(1.65,1.29)--(1.65,1.69)node[midway]{\scriptsize \(h\)};
\end{tikzpicture}
\end{document}

输出

在此处输入图片描述

相关内容