¿Cómo puedo subrayar varias partes de una misma palabra usando llaves con TikZ?

¿Cómo puedo subrayar varias partes de una misma palabra usando llaves con TikZ?

ACTUALIZACIÓN: Abrí una pregunta relacionadaaquí.

Trabajo en el campo de la lingüística y a veces necesito analizar prefijos, afijos y sufijos en palabras. Sería bueno poder agregar notas a varias partes de las palabras usando TikZ. Hasta ahora puedo hacer casi lo que me gustaría.El problema es que no puedo poner varias partes de una palabra en nodos separados sin un espacio incómodo entre ellos (haciendo que parezcan varias palabras). por ejemplo, taivaissa debería ser una palabra (me gustaría subrayar taiva, la palabra raíz, y poner una explicación debajo y subrayar el sufijo -issa, y también tener una explicación debajo.

Criterios:

  • La solución debe permitir controlar la distancia desde la parte inferior (o superior dependiendo de la orientación) de la llave (llave) a la descripción, para evitar posibles superposiciones cuando se utilizan descripciones largas dentro de la misma palabra. (Lo ideal es que la distancia entre la llave y la palabra también sea variable, como en el ejemplo siguiente).

  • No es necesario que la solución incluya el paquete dependency-tikz, simplemente lo uso aquí porque es una manera fácil de traducir clara y literalmente palabras individuales. ¡Sin embargo, sería una ventaja!

Diapositiva de ejemplo El código:

\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}

Respuesta1

Hay un "espacio de fuga" en la definición de \tikzbrace, justo después \end{tikzpicture}. Por lo tanto, la solución es poner un signo de porcentaje después, así:

\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}%
}

información relacionada