如何在pylatex中处理宽表?

How to handle wide tables in pylatex?

提问人:edche 提问时间:11/10/2023 更新时间:11/17/2023 访问量:67

问:

我想使用 Pylatex 生成 PDF。 我可以处理长表问题,但我仍然有一个宽表问题。 我使用的是 A4 格式,因为它应该是可打印的。我不想旋转桌子,但我可以使用另一种解决方案。 你对此有什么建议吗? 这是我的代码块:

model = # I'm getting a model object in this line
column_size = len(item.get("columns"))
tabular_size = "|c" * column_size + "|"
table = LongTable(tabular_size)
table.add_hline()
headers = tuple(str(item['header']).replace("_", " ") for item in item.get("columns"))
table.add_row(headers)
table.add_hline()
for obj in model:
    row_list = []
    for val in item.get("columns"):
        key = (val["key"])
        value = getattr(obj, key)
        row_list.append(value)
    table.add_row(MultiColumn(
         column_size,
         data=list(row_list))
         )
    table.add_hline()
    
doc.append(VerticalSpace(r'0.3in'))
doc.append(NewLine())
Python 烧瓶 pylatex

评论


答:

1赞 PandaSurge 11/17/2023 #1

对于这个问题,有几种解决方案不涉及旋转表。这些包括

  1. 减小字体大小:

    例如。table.append(NoEscape(r'\small'))

  2. 使用 \thead 命令将允许表格在单元格内换行文本,从而减小表格的整体宽度。

  3. 根据需要通过操作“tabcolsep”的值来减小列间距

    例如。table.append(NoEscape(r'\setlength{\tabcolsep}{4pt}'))

  4. 在不旋转表格的情况下将整个页面更改为横向模式,以便更宽的尺寸成为高度。