You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除Pylatex生成的booktabs表格中的@{}-表达式?

解决PyLaTeX中Tabular使用booktabs时自动添加@{}的问题

当使用PyLaTeX的Tabular类并设置booktabs=True时,列格式字符串前后会被自动添加@{},这是该选项默认的行为——移除表格列边距以适配booktabs包的排版风格。如果需要保留原始列边距,同时使用\toprule、\midrule和\bottomrule命令,可通过以下方式解决:

方法:手动添加booktabs规则命令

不依赖booktabs=True选项,直接向表格中插入对应的LaTeX命令,这样列格式就不会被修改:

from pylatex import Tabular

# 创建Tabular时不设置booktabs=True,保留原始列格式
doc = Tabular('lcc')
# 手动添加顶部规则
doc.append(r'\toprule')
doc.add_row('A','B','C')
# 手动添加中间规则
doc.append(r'\midrule')
doc.add_row((1, 2, 3))
# 手动添加底部规则
doc.append(r'\bottomrule')

doc.generate_tex("my_table")

生成的my_table.tex文件内容如下:

\begin{tabular}{lcc}%
\toprule%
A&B&C\\%
\midrule%
1&2&3\\%
\bottomrule%
%
\end{tabular}

可以看到,列格式保持了原始的lcc,没有被添加@{},同时也包含了booktabs的规则命令。


内容的提问来源于stack exchange,提问作者CarLaTeX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 23:51:06