3

I use bigdelim to create a curly brace to the right of table columns. This works so far. However, when I set arraystretch to a value other than one, the vertical extent of the curly brace does not follow vertical scaling of the table:

\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}

Here is what I obtain:

Document generated

How can I fix this problem? I need to have a smaller line spacing in the table for space reasons.

0

2 Answers 2

1

While one can try to increase the row height of the 1st row by adding a \strut after the A, perhaps the easier approach is to insert a small blank line after the \hline, done here with \hline\\[-9pt] in the 2nd example.

\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}

enter image description here

6
  • This does not work on my system. I wonder whether there is a way to get rdelim to calculate the proper line height, considering arraystretch. Alternatively, is there another way to adjust the row height?
    – user52366
    Mar 15, 2017 at 16:04
  • @user52366 You could try \extrarowheight=3pt Mar 15, 2017 at 16:09
  • A negative extrarowheight has the same effect: the rows are shifted together with the curly brace staying the same size.
    – user52366
    Mar 15, 2017 at 16:11
  • @user52366 The fact that your installation behaves this way, but not mine, is perhaps an indicator that some of your packages are out of date. You should check to see that your package database is up to date. Mar 15, 2017 at 16:14
  • It seems to have been a bug with my installation. On an updated system (kubuntu 17.10 instead of the 14.04) things work as expected. I accept this answer for pointing that out.
    – user52366
    Mar 1, 2018 at 20:40
0

I get the desired scaling using the spacing environment instead of 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}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .