如何在不使用 renewcommand 的情况下改变行高?

如何在不使用 renewcommand 的情况下改变行高?

我有一张非常大的表格,为了使它适合页面,我需要缩小它的行数。我设法通过使用 获得了所需的效果\renewcommand{\arraystretch}{0.9}。但是,我正在为其准备手稿的期刊不允许使用\renewcommand。我尝试通过在行末尾添加负填充 ( \\[-6pt]) 来解决这个问题,但现在单元格的垂直边框无法正确缩放,如下所示。

您知道如何解决这个问题吗?

在此处输入图片描述

答案1

混淆代码:

\begin{table}
\centering\scriptsize
\begingroup\lccode`X=`d\lccode`Y=`e\lccode`Z=`f
\lowercase{\endgroup\csname XYZ\endcsname}\arraystretch{0.9}

\begin{tabular}{crrr}
...
\end{tabular}

\caption{Whatever}\label{foo}

\end{table}

\begingroup\lccode`X=`d\lccode`Y=`e\lccode`Z=`f行在本地设置了 的小写等效项XYZ;然后在\lowercase我们执行\csname XYZ\endcsname时,TeX 在内部将其转换为\csname def\endcsname应用这些等效项并最终构建\def。初始\endgroup确保这些等效项被撤消。

\begingroup除了开始于和结束于的两行之外,{0.9}您还可以使用

^^5c^^64^^65^^66^^5c^^61^^72^^72^^61^^79^^73^^74^^72^^65^^74^^63^^68{0.9}

这更加令人困惑。

这里我们只是使用字符的 ASCII 码:^^xy表示与 ASCII 码的字符相同xy, 也是^^64d等等,^^5c是反斜杠。

相关内容