避免 TikZ 中箭头的垂直线和'\path'标签重叠

避免 TikZ 中箭头的垂直线和'\path'标签重叠

我使用以下代码来指定一行的长度:

\begin{tikzpicture}
\draw [stealth-stealth](0,-0.8) -- (1,-0.8);
\draw [|-|](0,-0.8) -- (1,-0.8) ; 
\path (0,-0.85) -- (1,-0.85) node [midway, above] {$B$ = 10};
\end{tikzpicture}

在此处输入图片描述

从图中可以看出,箭头和“B”和“10”的垂直线重叠。如何避免这种情况?

答案1

使用quotes库很简单......

编辑: 如果文档中的箭头样式LM使用频繁,则将其定义移至序言是明智的。请参阅更正后的 MWE:

在此处输入图片描述

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,
                quotes}

\tikzset{
LM/.style = {very thin,
        {Bar[]Stealth}-%
        {Stealth[]Bar}
            },
% other common sty definitions like
every edge quotes/.append style= {font=\footnotesize}
        }


\begin{document}
\begin{tikzpicture}
    \draw [LM] (0,0) to ["$B=10$"] (1,0);
\end{tikzpicture}
\end{document}

答案2

我的建议:

  1. 使用明确的above距离;
  2. 使用arrows.meta库(arrows已弃用)来连接这两个提示;
  3. 您可以只使用一条路径:
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,}
\begin{document}
\begin{tikzpicture}[mark/.tip={Stealth[sep=-0.4pt] Bar }]
    \draw [mark-mark](0,-0.8) -- (1,-0.8) node [midway, above=1mm] {$B$ = 10};
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案3

A 的dimline优点在于它可以提供统一的风格。

\documentclass[border=1 cm,tikz]{standalone}
\usepackage{tikz-dimline}
\begin{document}
\begin{tikzpicture}
\dimline[extension start length=0 cm, extension end length=0 cm,label style={above=0.5ex}] { (0,-0.85)} {(1,-0.85)}{$B = 10$};
\end{tikzpicture}
\end{document}

带说明的尺寸线

相关内容