tikz 控制方程式中下括号叉的位置

tikz 控制方程式中下括号叉的位置

我想制作一个双叉(或更多叉)下支架(或上支架)。具体来说,我想控制:

  1. 叉的数量。
  2. 通过指定它们应该‘指向’等式中的哪些字符来确定叉的位置。
  3. 手柄的位置(以及下支架的标签)。
  4. 底架颜色及其标签

下面是我迄今为止获得的最接近结果的 MWE,用于字符串下方的双叉下括号nanbn(在方程环境中),其叉应指向和ab并标记为e。它使用 tikz 中的基本树结构。

\documentclass{article}

\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{calc}
\tikzset{grow'=up}
\tikzset{level distance={16pt}}
\tikzset{edge from parent/.style={draw,edge from parent path={(\tikzparentnode.north)--   +(0pt,2pt)-| (\tikzchildnode)}}}

\newcommand{\twopf}[6]{%
    \begin{tikzpicture}
        \node {$#1$}
        child {node {$#2$} edge from parent[draw=none]}
        child {node {$#3$}}
        child {node {$#4$} edge from parent[draw=none]}
        child {node {$#5$}}
        child {node {$#6$} edge from parent[draw=none]};
    \end{tikzpicture}
    }

\begin{document}

\begin{equation}
\twopf{e}{n}{a}{n}{b}{n}
\end{equation}

\begin{equation}
nanbn
\end{equation}

\end{document}

在输出中,Eq (1) 是我的尝试,而 Eq (2) 是我希望下括号上方的字符如何出现(即它们之间没有空格)。

在此处输入图片描述

剩下的问题是命令参数之间的等式 (1) 中出现空格\twopf。在我的方法中,这似乎是由于“兄弟距离”的值造成的,即两个相邻兄弟叶子中心之间的距离。我研究过几个关于这个问题的问题,但未能成功控制这个参数以获得所需的效果。

我将非常感激任何指点,因为我花了很长时间却毫无进展。

答案1

我建议您使用\tikzmark来标记您想要参考的点,然后单独进行绘制。这样您就可以将文本与您想要的下括号分开:

在此处输入图片描述

代码:

\documentclass{article}

\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{calc,decorations.pathreplacing}

\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture] \node (#1) {};}
\newcommand*{\TickLength}{1.0ex}%

\begin{document}

\begin{equation}
    n \tikzmark{Mark A Left} a \tikzmark{Mark N Left}n\tikzmark{Mark N Right} b\tikzmark{Mark B Right} n
\end{equation}
\begin{tikzpicture}[overlay,remember picture, red, thick]
    \draw  (Mark A Left.south)
        -- ++(0,-\TickLength)
        -|  (Mark B Right.south);
    \draw ($(Mark N Left.south)!0.5!(Mark N Right.south)+(0,-\TickLength)$)
        -- ++(0,-\TickLength) node [below, blue] {$e$};
\end{tikzpicture}%

\end{document}

相关内容