Tikz 描述节点的“范围线”样式

Tikz 描述节点的“范围线”样式

我正在尝试模拟此图所示的描述性注释的风格:

在此处输入图片描述

我想要几个功能:

  1. 正交线
  2. 颜色
  3. 行尾的圆圈位于文档中的特定位置(用于注释图形或某些文本)
  4. 一条横跨文本描述高度的垂直线(一种“范围线”),正交线垂直连接到该线(能够将交点定位在线上的不同点)

我对如何获得 1、2 和 3 有基本的了解,我将在下面的 MWE 中演示,但 4 给我带来了一些麻烦。我考虑过使用该decorations.pathreplacing功能,但只能获得花括号,而不能获得直线(而且我似乎甚至无法将花括号定位得非常正确,以防我也想使用它们作为另一种选择)。

任何帮助是极大的赞赏!

梅威瑟:

\documentclass[border=3mm]{standalone}

\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,decorations.pathreplacing}

\begin{document}

\begin{tikzpicture}
\draw (0,0) -- (8,8); % just to get something on the page
\node (n1) at (7,2) [anchor=west,text width=3cm] {Some description about something};
\draw [-{Circle},color=ForestGreen] (n1.west) -| (5,4);
\draw [decorate,decoration={brace,amplitude=2pt,mirror,raise=0pt},color=ForestGreen] (n1.north west) ++(3pt,0) coordinate (s) -- (n1.south west -| s);
\end{tikzpicture}

\end{document}

其渲染效果为:

在此处输入图片描述

答案1

由于您已经从节点到对象绘制了线。您可以使用相同的命令绘制所需的边框:

\documentclass[border=3mm]{standalone}

\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}

\begin{document}

\begin{tikzpicture}
\draw (0,0) -- (8,8); % just to get something on the page
\node[text width=3cm, align=left, anchor=west] (n1) at (7,2) {Some description about something};
\draw [-{Circle},color=ForestGreen] (n1.north west) -- (n1.south west) (n1.west) -| (5,4);
\end{tikzpicture}

\end{document}

在此处输入图片描述

更新:

inner ysep=0pt可以固定调整横条以适应文本,并且shifting可以使用一些垂直线将交叉点移动到中心上方或下方。

\documentclass[border=3mm]{standalone}

\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}

\begin{document}

\begin{tikzpicture}
\draw (0,0) -- (8,8); % just to get something on the page
\node[text width=3cm, align=left, anchor=west, inner ysep=0pt] (n1) at (7,2) {Some description about something};
\draw [-{Circle},color=ForestGreen] (n1.north west) -- (n1.south west) ([yshift=2mm]n1.west) -| (5,4);
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容