
ATUALIZAÇÃO: abri uma pergunta relacionadaaqui.
Trabalho na área de linguística e às vezes preciso analisar prefixos, afixos e sufixos em palavras. Seria bom poder adicionar notas a várias partes das palavras usando o TikZ. Até agora, posso fazer quase o que gostaria.O problema é que não consigo colocar várias partes de uma palavra em nós separados sem um espaço estranho entre elas (fazendo com que pareçam várias palavras). por exemplo taivaissa deverá ser uma palavra (gostaria de sublinhar taiva, a raiz da palavra, e colocar uma explicação por baixo e sublinhar o sufixo -issa, e também ter uma explicação por baixo.
Critério:
A solução deve permitir o controle da distância da parte inferior (ou superior dependendo da orientação) da chave (chave) até a descrição, a fim de evitar possíveis sobreposições ao usar descrições longas dentro da mesma palavra. (Idealmente, a distância da chave à palavra também será variável, como no exemplo abaixo.)
A solução não precisa incluir o pacote dependency-tikz, eu apenas o uso aqui porque é uma maneira fácil de traduzir palavras individuais de forma clara e literal. Seria uma vantagem, no entanto!
O 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}
Responder1
Há um "espaço com vazamento" na definição de \tikzbrace
, logo depois de \end{tikzpicture}
. A solução é, portanto, colocar um sinal de porcentagem depois, assim:
\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}%
}