
UPDATE: Ich habe eine verwandte Frage gestelltHier.
Ich arbeite im Bereich Linguistik und muss manchmal Präfixe, Affixe und Suffixe in Wörtern analysieren. Es wäre schön, mit TikZ Notizen zu verschiedenen Wortteilen hinzufügen zu können. Bisher kann ich fast alles machen, was ich möchte.Das Problem besteht darin, dass ich mehrere Teile eines Wortes nicht in separate Knoten einfügen kann, ohne dass dazwischen ein seltsames Leerzeichen entsteht (so dass es wie mehrere Wörter aussieht). z. B. sollte taivaissa ein Wort sein (ich würde gerne taiva, das Stammwort, unterstreichen und eine Erklärung darunter setzen und das Suffix -issa unterstreichen und auch eine Erklärung darunter haben).
Kriterien:
Die Lösung sollte die Kontrolle über den Abstand vom unteren (oder oberen, je nach Ausrichtung) Ende der geschweiften Klammer zur Beschreibung ermöglichen, um mögliche Überlappungen bei der Verwendung langer Beschreibungen innerhalb desselben Wortes zu vermeiden. (Idealerweise ist der Abstand der Klammer zum Wort auch variabel, wie im folgenden Beispiel.)
Die Lösung muss das Paket dependency-tikz nicht enthalten, ich verwende es hier nur, weil es eine einfache Möglichkeit ist, einzelne Wörter klar und wörtlich zu übersetzen. Es wäre jedoch ein Plus!
Der Code:
\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}
Antwort1
In der Definition von gibt es \tikzbrace
direkt nach ein „undichtes Leerzeichen“ \end{tikzpicture}
. Die Lösung besteht daher darin, ein Prozentzeichen dahinter zu setzen, wie folgt:
\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}%
}