LaTeX中表格默认在页面中置顶怎么取消?

LaTeX中表格默认在页面中置顶怎么取消?

表格。图都默认在这一页置顶,已尝试过以下方法均不行:

1.[htbp]调节方式,无论如何调节没有任何变化

2.\usepackage{float} + [H]固定方法,无效

3.\usepackage{stfloats}无效

4.强制图表section内浮动,它仍然是在每一页的顶端,只不过没有超出section范围的顶,原来会超出范围

5.makeatletter + caption 无效

作者:总一副不开心样子
链接:https://www.zhihu.com/question/532950201/answer/2554393398
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

这个模板示例(cas-sc-template.tex)没有给出浮动体的参数示例,我觉得写的挺烂。为什么的部分?cas-common.sty 重定义了 table 环境

\RenewDocumentEnvironment { table } { O{} }
{
  \__reset_tbl:
  \bool_gset_false:N \g_tbl_full_bool
  \dim_set:Nn \l_tbl_width_dim { \linewidth }
  \keys_set:nn { cas / tbl } { #1 }
  \csxdef{fps@table}{\l_tbl_pos_tl}
  \csgdef{tblwidth}{\dim_use:N \l_tbl_width_dim}
  \cs_set_eq:NN \@makecaption \__make_tbl_caption:nn 
  \@float{table}
  \l_tbl_align_tl
  \sffamily\small
}
{
\end@float
} 

可以发现参数去到了 \keys_set:nn { cas / tbl } { #1 } 里, 接下来找到

\keys_define:nn { cas / tbl }
{
  width     .dim_set:N   =  \l_tbl_width_dim ,
  pos       .tl_set:N    =  \l_tbl_pos_tl ,
  cols      .tl_set:N    =  \l_tbl_cols_tl ,
  align     .tl_set:N    =  \l_tbl_align_tl,
  abovecap  .skip_set:N  =  \l_tbl_abovecap_skip ,
  belowcap  .skip_set:N  =  \l_tbl_belowcap_skip ,
  abovetbl  .skip_set:N  =  \l_tbl_abovetbl_skip ,
  belowtbl  .skip_set:N  =  \l_tbl_belowtbl_skip ,
  full      .bool_gset:N =  \g_tbl_full_bool ,
  unknown   .code:n      = { 
                              \ifstrempty { #1 } 
                                 {
                                   \tl_set:Nn \l_fig_pos_tl { \l_keys_key_tl }
                                 } 
                                 {
                                   \l_keys_key_tl=#1
                                 }  
                           }  
}

发现是键值输入方式,因此需要输入 pos=xx 才能调整浮动体的参数,接下来找到 pos 的默认值\cs_set:Npn __reset_tbl:

{
  \tl_set:Nx \l_tbl_pos_tl { t }
  \tl_set:Nx \l_tbl_cols_tl { 1 }
  \tl_set:Nn \l_tbl_align_tl { \centering }
  \skip_set:Nn \l_tbl_abovecap_skip { 6pt }
  \skip_set:Nn \l_tbl_belowcap_skip { 0pt }
  \skip_set:Nn \l_tbl_abovetbl_skip { 6pt }
  \skip_set:Nn \l_tbl_belowtbl_skip { 6pt }
  
}
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值