我想排版圆括号,以便它们在表格环境中跨越多行,但仅限于特定列。在下面的示例中,我希望括号出现在最后一列(第四列)周围。
\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
,并由\rdelim
bigdelim
包裹。
代码
\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}