bigdelim 不尊重 arraystretch

bigdelim 不尊重 arraystretch

我使用 bigdelim 在表格列的右侧创建一个花括号。到目前为止,这种方法有效。但是,当我将 arraystretch 设置为非 1 值时,花括号的垂直范围不遵循表格的垂直缩放:

\documentclass{article}

\usepackage[active]{srcltx}
\usepackage{tabulary}
\usepackage{booktabs}
\usepackage{bigdelim}
\usepackage{multirow}
\usepackage[onehalfspacing]{setspace}

\begin{document}


{\renewcommand{\arraystretch}{1.0}%
  \begin{tabulary}{.9\textwidth}{LLL}
    \hline
    A & \rdelim\}{4}{3mm} & \multirow{4}{*}{X} \\
    B &                           &       \\
    C &                           &       \\
    D &                           &      \\
    E &                           &    Y \\     
    \hline
  \end{tabulary}
}

Curly brace too long with arraystretch \textless{} 1

{\renewcommand{\arraystretch}{0.8}%
  \begin{tabulary}{.9\textwidth}{LLL}
    \hline
    A & \rdelim\}{4}{3mm} & \multirow{4}{*}{X} \\
    B &                           &       \\
    C &                           &       \\
    D &                           &      \\
    E &                           &    Y \\     
    \hline
  \end{tabulary}
}

\end{document}

以下是我得到的结果:

文档已生成

我该如何解决这个问题?由于空间原因,我需要将表格中的行距设置得更小一些。

答案1

\strut虽然可以尝试通过在后添加来增加第一行的行高A,但更简单的方法是在后插入一个小的空白行,如第二个示例中\hline所示。\hline\\[-9pt]

\documentclass{article}

\usepackage[active]{srcltx}
\usepackage{tabulary}
\usepackage{booktabs}
\usepackage{bigdelim}
\usepackage{multirow}
\usepackage[onehalfspacing]{setspace}

\begin{document}


{\renewcommand{\arraystretch}{1.0}%
  \begin{tabulary}{.9\textwidth}{LLL}
    \hline\\[-12pt]
    A & \rdelim\}{4}{3mm} & \multirow{4}{*}{X} \\
    B &                           &       \\
    C &                           &       \\
    D &                           &      \\
    E &                           &    Y \\     
    \hline
  \end{tabulary}
}

Curly brace too long with arraystretch \textless{} 1

{\renewcommand{\arraystretch}{0.8}%
  \begin{tabulary}{.9\textwidth}{LLL}
    \hline\\[-9pt]
    A & \rdelim\}{4}{3mm} & \multirow{4}{*}{X} \\
    B &                           &       \\
    C &                           &       \\
    D &                           &      \\
    E &                           &    Y \\     
    \hline
  \end{tabulary}
}

\end{document}

在此处输入图片描述

答案2

我使用间距环境而不是 arraystretch 获得了所需的缩放比例:

\begin{spacing}{.8}
   \begin{tabulary}{.9\textwidth}{LLL}
     \hline
     A & \rdelim\}{4}{3mm} & \multirow{4}{*}{X} \\
     B &                           &       \\
     C &                           &       \\
     D &                           &      \\
     E &                           &    Y \\     
     \hline
   \end{tabulary}
 \end{spacing}

相关内容