
更新:我打開了一個相關問題這裡。
我從事語言學領域的工作,有時需要分析單字中的前綴、詞綴和後綴。如果能夠使用 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}%
}