XY 问题——正如 SE 论坛上经常问到的那样——是如何自动设置 longtable 环境的以下参数(因为我使用 Pandoc 来生成 latex):
- 页面宽度比
- 定心
- 字体大小
我之前在桌面环境中实现了这一点(renewenvironment 在前面有左括号,在后面有右括号(使宽浮动居中)),还可以借助 Pandoc 默认模板中的现有宏:
% Original macro to customize table
\makeatletter
\renewenvironment{table}[1][\fps@table]{
\edef\@tempa{\noexpand\@float{table}[#1]}
\@tempa\centerfloat\footnotesize%
}{
\end@float
}
\makeatother
复制粘贴上述内容并将“table”替换为“longtable”不起作用:
\makeatletter
\renewenvironment{longtable}[1][\fps@longtable]{
\edef\@tempa{\noexpand\@float{longtable}[#1]}
\@tempa\centerfloat\footnotesize%
}{
\end@float
}
\makeatother
我认为 longtable 源中没有这样的宏\fps@longtable
,并且一个 longtable 确实可能由多个浮点数组成......那么我应该重新定义的宏是什么?
答案1
据我了解,你可以这样做
\let\oldlongtable\longtable
\longtable{%
\LTleft-.1\textwidth plus 1fill
\LTright\LTleft
\footnotesize
\oldlongtable}
获取可能溢出到边距的脚注大小表格,其宽度为文本宽度的 10%。