我有一张非常大的表格,为了使它适合页面,我需要缩小它的行数。我设法通过使用 获得了所需的效果\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
, 也是^^64
,d
等等,^^5c
是反斜杠。