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

如何将Quarto文档中Python代码块输出缩小至50%?

如何将Quarto中Python代码块的输出缩小至原尺寸的50%?

我有以下Quarto文档:

---
title: "Untitled"
format: pdf
---
#|echo: false
#|result: 'asis'

import pandas as pd

df = pd.DataFrame({'A': ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'],
    'B': ['one', 'one', 'two', 'two', 'one', 'one'],
    'C': ['dull', 'dull', 'shiny', 'shiny', 'dull', 'dull'],
    'D': [1, 3, 2, 5, 4, 1]})

print(df)

请问是否可以将该Python代码块的输出缩小至原尺寸的50%?若可以,该如何操作?


可以实现,最直接的方式是借助kableExtra库生成可缩放的LaTeX表格(直接print(df)输出的纯文本表格在PDF中难以精确控制尺寸),具体操作如下:

  1. 先安装kableExtra库(未安装时执行):
pip install kableExtra
  1. 修改Python代码块,替换原输出逻辑为带缩放设置的表格生成代码:
#|echo: false
#|result: 'asis'

import pandas as pd
from kableExtra import kable, kable_styling

df = pd.DataFrame({'A': ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'],
    'B': ['one', 'one', 'two', 'two', 'one', 'one'],
    'C': ['dull', 'dull', 'shiny', 'shiny', 'dull', 'dull'],
    'D': [1, 3, 2, 5, 4, 1]})

# 生成LaTeX表格并设置缩放比例为50%
print(
    kable(df, format="latex", booktabs=True)
    .pipe(kable_styling, latex_options=["scale_down=0.5"])
)

原理说明:

  • kable(df, format="latex")将DataFrame转换为LaTeX格式的表格代码
  • kable_styling的latex_options=["scale_down=0.5"]会自动添加LaTeX缩放命令,把表格宽度缩至原尺寸的50%
  • 保持result: 'asis'让Quarto直接渲染生成的LaTeX代码,而非作为纯文本输出

如果不想额外安装库,也可以手动用LaTeX的\resizebox命令包裹输出,但需要先将DataFrame转换为标准LaTeX表格格式,这种方式相对繁琐,不如kableExtra便捷。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 04:28:10