如何使用 TikZ 中的括号为同一个单词的多个部分加下划线?

如何使用 TikZ 中的括号为同一个单词的多个部分加下划线?

更新:我打开了一个相关问题这里

我从事语言学领域的工作,有时需要分析单词中的前缀、词缀和后缀。如果能够使用 TikZ 为单词的各个部分添加注释就太好了。到目前为止,我几乎可以做到我想做的事情。问题是我无法将一个单词的多个部分放入单独的节点,而中间又不会出现尴尬的空格(使其看起来像多个单词) 例如 taivaissa 应该是一个单词(我想在 taiva(词根)下划线,并在下面加上解释,在后缀 -issa 下划线,并在下面加上解释

标准:

  • 解决方案应允许控制从花括号(大括号)底部(或顶部,取决于方向)到描述的距离,以避免在同一个单词中使用长描述时可能出现的重叠。(理想情况下,大括号到单词的距离也将是可变的,如下例所示。)

  • 该解决方案不需要包含 dependency-tikz 包,我在这里使用它只是因为它是一种清晰、逐字翻译单个单词的简单方法。不过,这将是一个加分项!

示例幻灯片 代码:

\documentclass[]{beamer}
\usepackage{fontspec}
\usepackage{tikz-dependency}
% Klammern in Formeln
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing,calc}
\usepackage{xparse}
\NewDocumentCommand{\tikzbrace}{O{-2.5ex} m m O{} O{}}{%
   \tikz[remember picture]\coordinate (left brace coord);%
   #2%
   \tikz[remember picture]\coordinate (right brace coord);%
   \begin{tikzpicture}[remember picture,overlay,
      transform canvas={yshift=#1}]
      \draw [decoration={amplitude=1ex,brace},decorate,#4] %
         (right brace coord) -- (left brace coord)
         node [midway,below=1ex,font=\scriptsize,#5] {#3};
   \end{tikzpicture}
}



\begin{document}
\begin{frame}{Satz 1}
\begin{dependency}[edge style={red,densely dotted}]
\begin{deptext}
\tikzbrace[-1ex]{Isae}{Vater} \& meidän, \& joka \& \tikzbrace[-1ex]{olet}{2Psg} \& \tikzbrace[-5ex]{taiva}{-\emph{issa}=pl (sg -\emph{ssa}) Inessiv, ähnlich Lokativ, e.g. talossa "in dem Haus"}issa,\\
\end{deptext}
  \deproot[edge unit distance=1ex]{1}{Vater}
  \deproot[edge unit distance=1ex]{2}{unserer}
  \deproot[edge unit distance=1ex]{3}{wer}
\end{dependency}
\end{frame}
\end{document}

答案1

在 的定义中\tikzbrace,就在 之后,有一个“泄漏空格” \end{tikzpicture}。因此,解决方案是在它后面放一个百分号,如下所示:

\NewDocumentCommand{\tikzbrace}{O{-2.5ex} m m O{} O{}}{%
   \tikz[remember picture]\coordinate (left brace coord);%
   #2%
   \tikz[remember picture]\coordinate (right brace coord);%
   \begin{tikzpicture}[remember picture,overlay,
      transform canvas={yshift=#1}]
      \draw [decoration={amplitude=1ex,brace},decorate,#4] %
         (right brace coord) -- (left brace coord)
         node [midway,below=1ex,font=\scriptsize,#5] {#3};
   \end{tikzpicture}%
}

相关内容