词对齐图

词对齐图

我正在寻找一种方法来可视化句子对之间的单词对齐,如下所示: 在此处输入图片描述 (取自https://aclanthology.org/W11-4615.pdf

我已经遇到过这个类似的问题 但是对 tikz 解决方案不满意,因为它首先将节点放在矩阵中,当字符长度差异很大时,这看起来很糟糕: 在此处输入图片描述

我尝试使用 PStricks 代码片段,但由于某种原因没有绘制任何线条(使用 xelatex 编译)。

在我联系该论文的作者并索要源代码之前,我想在这里问一下是否有人知道一个简单的解决方案。谢谢!

答案1

这是对你的问题的一个非常轻描淡写的回答,但这就是精神所在。tikzmark图书馆在做这种事情方面有很大的帮助。如果你已经了解 TiZ,之后您可以根据需要进行调整。您可以看到并非所有内容都完美对齐,但这是总体思路。

词对齐图

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{tikzmark}

\tikzset{every tikzmarknode/.style={inner sep = 1pt,execute at end node={\vphantom{bg}}}}
\begin{document}
    \begin{center}
        \tikzmarknode{HE}{He} \tikzmarknode{GAVE}{gave} \tikzmarknode{ME}{me} \tikzmarknode{THE}{the} \tikzmarknode{BOOK}{book}
        
        \vspace*{1cm}
        
        \tikzmarknode{HAN}{Han} \tikzmarknode{GAV}{gav} \tikzmarknode{BOKEN}{boken} \tikzmarknode{TILL}{till} \tikzmarknode{MIG}{mig}
    \end{center}
    
    \begin{tikzpicture}[remember picture, overlay]
        \draw   (HE) -- (HAN)
                (GAVE) -- (GAV)
                (ME.south) -- (TILL)
                (ME.south) -- (MIG)
                (THE) -- (BOKEN.north)
                (BOOK) -- (BOKEN.north);
    \end{tikzpicture}
\end{document}

相关内容