如何在QMD文档中调整部分文本大小以适配docx渲染?
在Quarto QMD文档中为docx输出设置局部文本字号
Quarto对docx的样式渲染逻辑和HTML不一样,直接用CSS样式的div在docx里不生效,给你几个可行的方法:
方法1:自定义Word样式配合QMD跨度语法
Quarto支持把QMD里的标记和Word的样式关联起来,步骤如下:
- 先做一个自定义的Word参考文档:
- 打开Word新建空白文档,创建一个新样式,命名为
small-text,把字号设为10pt - 保存这个文档为
custom-style.docx
- 打开Word新建空白文档,创建一个新样式,命名为
- 在QMD里配置使用这个参考文档,并用跨度语法指定样式:
--- title: "Test" format: docx: reference-doc: custom-style.docx --- The main text will be normal-sized. [This block of text should be sized 10pt.]{.small-text}
方法2:直接用Word内置样式
如果不想自定义样式,直接用Word自带的小字体样式就行,比如内置的Small Text样式(不同Word版本名称可能略有差异,比如有的叫Small):
--- title: "Test" format: docx --- The main text will be normal-sized. [This block of text should be sized 10pt.]{.small-text}
只要QMD里的样式名和Word内置样式名对应上,就能直接生效。
方法3:嵌入原生Word XML代码
要是不想搞参考文档,直接在QMD里写Word的XML代码也能实现,Word的字号单位是半磅,10pt对应数值20:
--- title: "Test" format: docx --- The main text will be normal-sized. ```{=openxml} <w:p> <w:r> <w:rPr> <w:sz w:val="20"/> </w:rPr> <w:t>This block of text should be sized 10pt.</w:t> </w:r> </w:p>
内容的提问来源于stack exchange,提问作者Andrea M
相关产品推荐
相关产品推荐

