表格中单列中跨多行的括号

表格中单列中跨多行的括号

我想排版圆括号,以便它们在表格环境中跨越多行,但仅限于特定列。在下面的示例中,我希望括号出现在最后一列(第四列)周围。

\documentclass[a4paper]{article}
\usepackage{gb4e}

\newcommand{\da}{\ensuremath{\downarrow}}
\newcommand{\ua}{\ensuremath{\uparrow}}
\newcommand{\ra}{\ensuremath{\rightarrow}}

\begin{document}

\begin{exe}
\ex
\begin{tabular}[t]{cccc}
VP & \ra & V & NP \\
& & \ua~=~\da & (\ua~\textsc{obj}) = \da\\
\end{tabular}
\end{exe}

\end{document}

我该如何做呢,最好是在非数学环境中?顺便说一句:我正在使用 XeLaTeX(是的,我知道我可以使用 Unicode 符号来表示箭头)。

答案1

这可以通过命令实现\ldelim,并由\rdelimbigdelim包裹。

在此处输入图片描述

代码

\documentclass[a4paper]{article}
\usepackage{gb4e}
\usepackage{multirow,bigdelim}


\newcommand{\da}{\ensuremath{\downarrow}}
\newcommand{\ua}{\ensuremath{\uparrow}}
\newcommand{\ra}{\ensuremath{\rightarrow}}

\begin{document}

\begin{exe}
\ex
\begin{tabular}[t]{cccc@{}c@{}c}
VP & \ra & V & \ldelim({2}{3mm} & NP & \rdelim){2}{0mm} \\
& & \ua~=~\da & & (\ua~\textsc{obj}) = \da & \\
\end{tabular}
\end{exe}

\end{document} 

答案2

您可以借助 ,获得统一的语法delarray

\documentclass[a4paper]{article}
\usepackage{gb4e}

\usepackage{delarray}

\newcommand{\da}{\ensuremath{\downarrow}}
\newcommand{\ua}{\ensuremath{\uparrow}}
\newcommand{\ra}{\ensuremath{\rightarrow}}

\makeatletter
\newcommand{\specification}{\@ifstar{\spec@line{(}{)}}{\spec@line{}{}}}
\newcommand{\spec@line}[4]{%
  $\begin{array}[t]#1{@{}>{$}c<{$}@{}}#2
  #3\\#4
  \end{array}$%
}
\makeatother

\begin{document}

\begin{exe}
\ex
VP \ra\ \specification{V}{\ua\ = \da} \specification*{NP}{\ua\ \textsc{obj} = \da}
\end{exe}

\end{document}

在此处输入图片描述

相关内容