换行文本与其下一行之间的间距太小

换行文本与其下一行之间的间距太小

请考虑下面的表格示例,第二行的文本被换行。

\documentclass[a4paper]{article}

\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{tabu}
\usepackage{booktabs}

\usepackage{array}
\setlength{\extrarowheight}{5pt}

\begin{document}

  \begin{tabu} to \linewidth {X[.5,c] X[1,l] X[1,l] X[2,l]}
    \toprule
    \rowfont{\bfseries}
    Row & Head 1                   & Head 2 & Head 3 \\\hline
    1.  & short text               & ? & ? \\\hline
    2.  & long long long long text & ? & ? \\\hline
    3.  & short text               & ? & ? \\\hline
    4.  & short text               & ? & ? \\
    \bottomrule
  \end{tabu}

\end{document}

其渲染效果如下:

在此处输入图片描述

为什么第二行的文本与其下方的规则之间的空间这么小?

我该如何修复它?

我想到的是使用\\[1ex]而不是\\,有没有更好的解决方案?

答案1

这是 的一个已知缺陷tabu;它\strut在可能有多行单元格的开头添加了 ,但没有在结尾添加。比较输出(我g在短文本中添加了 ,以便更好地进行比较)。

\documentclass[a4paper]{article}

\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{tabu}
\usepackage{booktabs}

\usepackage{array}
\setlength{\extrarowheight}{5pt}

\begin{document}

\noindent
  \begin{tabu} to \linewidth {X[.5,c] X[1,l] X[1,l] X[2,l]}
    \toprule
    \rowfont{\bfseries}
    Row & Head 1                   & Head 2 & Head 3 \\\hline
    1.  & gshort text               & ? & ? \\\hline
    2.  & long long long long text & ? & ? \\\hline
    3.  & gshort text               & ? & ? \\\hline
    4.  & gshort text               & ? & ? \\
    \bottomrule
  \end{tabu}

\bigskip

\noindent
  \begin{tabu} to \linewidth {X[.5,c] X[1,l]<{\strut} X[1,l] X[2,l]}
    \toprule
    \rowfont{\bfseries}
    Row & Head 1                   & Head 2 & Head 3 \\\hline
    1.  & gshort text               & ? & ? \\\hline
    2.  & long long long long text & ? & ? \\\hline
    3.  & gshort text               & ? & ? \\\hline
    4.  & gshort text               & ? & ? \\
    \bottomrule
  \end{tabu}

\end{document}

在此处输入图片描述

相关内容