定性语言转录中的线条

定性语言转录中的线条

我正在寻找以视觉方式表示成绩单中转折之间联系的方法,并在欧文·戈夫曼的一本书中发现了这个方法,我认为这是一种非常出色的方法。

欧文·戈夫曼的文字记录 - 谈话的形式

有没有办法在大型语料库上以一致的方式在 LaTeX 上复制这一点?

答案1

下面是一个使用该movement-arrows包的示例,该包提供了一个\mkword宏来标记文本并为其指定节点名称。然后我创建了一个\link链接发言人标签的宏。我将文本本身变成了表格。

\spkr{<name>}{<subscript>}

这里定义的宏\spkr有两个参数。第二个参数是下标,第一个参数是文本。这实际上使用宏\mkword并创建一个由名称和下标数字组成的可引用节点。名称不能包含任何标记;如果需要,则需要\mkword直接使用宏。

\link[depth]{<node 1>}{<node 2>}

该宏将先前用(或)\link定义的两个节点链接起来,并以 的深度将它们链接起来。\spkr\mkword<depth>

长度\maxlink是一个调整因素,以便链接不会渗入左边距。

此解决方案仍需要大量手动格式化。因此,对于小型示例,它效果很好,但自动化则需要更多工作。

\documentclass{article}
\usepackage[margin=1in]{geometry}
\usepackage{movement-arrows}
\newlength{\maxlink}
\setlength{\maxlink}{2em}% extra space for links
\newcommand\spkr[2]{\mkword[#1#2]{#1\sb#2}}
\newcommand\link[3][1em]{\tikz[overlay,remember picture]{\draw(#2.west)  -|-[distance=-#1] (#3.west);}}
\usepackage{tabularx}
\usepackage{array}
\newcolumntype{s}{@{}>{\hspace{\maxlink}}r}
\newcolumntype{t}{>{: ``}X<{''}}
\let\sb\textsubscript
\begin{document}

\begin{tabularx}{\linewidth}{slt}
\spkr{A}{1} & to trainman in station & Have you got the time? \\
\spkr{B}{2} & & Standard or Daylight Savings?\\
\spkr{A}{3} & & What are you running on?\\
\spkr{B}{3} & & Standard.\\
\spkr{A}{2} & & Standard then.\\
\spkr{B}{1} & & It's five o'clock.
\end{tabularx}
\link[3em]{A1}{B1}
\link[2em]{A2}{B2}
\link[1em]{A3}{B3}

\end{document}

代码输出

答案2

使用tikzmarkext.paths.ortho库。为了获得最终结果,您需要至少编译 MWE 三次:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{ext.paths.ortho,    % -|- and |-| path operations
                tikzmark}
\usepackage{tabularray}

\begin{document}

\hfil\begin{tblr}{colspec = {Q[l, mode=math] c Q[l, preto={:\ "}, appto={"}]},
                   colsep  = 4pt }
\tikzmarknode{a1}{A_1} & to trainman in station & Have you got the time? \\
\tikzmarknode{b1}{B_2} &                        & Standard or Daylight Savings?\\
\tikzmarknode{c1}{A_3} &                        & What are you running on?\\
\tikzmarknode{c2}{B_3} &                        & Standard.\\
\tikzmarknode{b2}{A_2} &                        & Standard then.\\
\tikzmarknode{a2}{B_1} &                        & It's five o'clock.
    \end{tblr}
    
    \begin{tikzpicture}[overlay,remember picture]
\draw   (a1.west) -|- [distance=-7mm] (a2);
\draw   (b1.west) -|- [distance=-5mm] (b2);
\draw   (c1.west) -|- [distance=-3mm] (c2);
    \end{tikzpicture}
    
\end{document}

在此处输入图片描述

相关内容