背景
想要将所有表格置于浮点数的中心,而不必添加\centering
到每个表格中。
想法
尝试了以下操作:
\let\originaltabular\tabular
\renewcommand\tabular{\centering\originaltabular}
它可以编译,但是表格仍然保持左对齐。
问题
如何编辑 LyX 文档的序言以使所有浮动表格居中?
答案1
如果您希望将所有 tabular 环境居中,我建议您使用不同的名称创建自己的环境,该名称称为 tabular。您可以使用它,而不必重新定义 tabular 本身。
但没问题,这是可以做到的。只需使用\renewenvironment
,例如:
\let\originaltabular\tabular
\let\endoriginaltabular\endtabular
\renewenvironment{tabular}[1]{%
\begingroup%
\centering%
\originaltabular{#1}}%
{\endoriginaltabular\endgroup}
这是对您第一次尝试重新定义表格的补充。
您可以重新定义非常相似的浮动表环境:
\let\originaltable\table
\let\endoriginaltable\endtable
\renewenvironment{table}[1][ht]{%
\originaltable[#1]
\centering}%
{\endoriginaltable}
您还可以使用etoolbox 修补表环境或者通过\centering
以下方式附加到定义中:
\makeatletter
\g@addto@macro{\table}{\centering}
\makeatother
或者
\expandafter\def\expandafter\table\expandafter{\table\centering}
答案2
我没有用 LyX 测试过这一点,但\usepackage{floatrow}
也将浮点内容居中。(对齐方式是可配置的,但这\centering
是 floatrow 的默认行为。)
答案3
在 Lyx 列表中,我了解到序言中的以下内容将自动将浮动图形和表格的内容居中。它对我有用。
\usepackage{ifthen} \renewenvironment{图}[1][]{% \ifthenelse{\equal{#1}{}}{% \@float{数字} }{% \@float{数字}[#1]% }% \定心 }{% \结束@float } \renewenvironment{表}[1][]{% \ifthenelse{\equal{#1}{}}{% \@float{表格} }{% \@float{表}[#1]% }% \定心 }{% \结束@float }