我在课堂上打字memoir
。我想设置所有表格\small
。我尝试了手册中的方法:
\setfloatadjustment{table}{\small\centering\sffamily}
两种\centering
方法都\sffamily
可以,但是字体大小不一样,有什么建议吗?
这是 MWE。谢谢 :)
\documentclass{memoir}
\setfloatadjustment{table}{\small\centering\sffamily}
\begin{document}
This is a pragraph. gfhsufhsduhsdusdf hudf sfuhf. This is a pragraph. gfhsufhsduhsdusdf hudf sfuhf.df hudf sfuhf.df hudf sfuhf.df hudf sfuhf.
\begin{table}
\begin{tabular}{|c|c|c|}
\hline
sds & sds & ssdfd \\
\hline
djfndjf asdf & fgjgs g & gsdgsdf \\
\hline
\end{tabular}
\end{table}
\end{document}
答案1
在我看来,这是一个‘错误’ memoir
。
确实memoir.cls
\let\mem@old@xfloat\@xfloat
\def\@xfloat#1[#2]{\mem@old@xfloat{#1}[#2]\@nameuse{#1adjustment}}
而\setfloatadjustment{table}{...}
定义tableadjustment
,例如。
现在,第 2380ff 行有一段代码
\AtBeginDocument{
\let\m@m@xfloat\@xfloat
\def\@xfloat #1[#2]{%
\m@m@xfloat #1[#2]%
\def\baselinestretch{\m@m@float@spacing}%
\normalsize}
}
它抓取已经重新定义的\x@float
(使用\@nameuse{#1adjustment
),这是正确的,但最后说\normalsize
,所以任何字体大小切换都将被恢复。
绕过解决方案可能是额外的重新定义\@xfloat
或补丁或说法
\setfloatadjustment{table}{\small\centering\sffamily\let\normalsize\relax}
例如。