在Quarto的LaTeX/PDF输出中调整gt()表格整体字体大小
Quarto中gt表格PDF输出字体大小不生效的解决办法
问题场景
在Quarto文档里用gt包生成表格时,通过tab_options(table.font.size)设置字体大小,HTML输出能正常生效,但PDF输出完全没反应。
用到的配置和代码:
文档YAML配置:
--- format: pdf ---
R代码示例:
library(gt) # 尝试设置小字体,PDF中无效 gt(mtcars) |> tab_options(table.font.size = 7)
# 尝试设置大字体,PDF中无效 gt(mtcars) |> tab_options(table.font.size = 12)
解决方法
gt包在PDF输出时依赖LaTeX渲染,纯数值的字体大小参数无法被LaTeX识别,需要改用以下两种格式:
使用LaTeX预定义字体大小关键字:LaTeX提供了一系列现成的字体大小关键词,直接传入即可,比如
tiny、scriptsize、footnotesize、small、normalsize等。示例:library(gt) gt(mtcars) |> tab_options(table.font.size = "footnotesize")指定带单位的数值:如果需要精确控制大小,传入带
pt单位的字符串,比如"7pt"、"12pt"。示例:library(gt) gt(mtcars) |> tab_options(table.font.size = "7pt")
原因说明
HTML渲染时会默认把纯数值当作px单位处理,但PDF是通过LaTeX生成的,LaTeX不接受无单位的字体大小值,必须明确指定单位或使用预定义的字体大小关键词,这就是纯数值设置在PDF中无效的核心原因。
内容的提问来源于stack exchange,提问作者Bob
相关产品推荐
相关产品推荐

