如何移除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
相关产品推荐
相关产品推荐

