使用exams包tex2image生成图片时pt参数无法调整字体大小问题问询
问题原因
exams包的tex2image()函数中,resize参数的优先级高于pt参数:你设置了resize = 350后,函数生成原始LaTeX排版结果后,会强制将图片宽度缩放为350像素,这一步会直接抵消pt参数对字体大小的调整效果,只有行间距会保留pt参数设置的差异,所以你会看到字体大小没变、只有行间距变化的现象。
解决方案
- 方案1:移除
resize参数
如果不需要强制固定图片宽度,直接删掉resize参数即可让pt参数正常控制字体大小。你可以固定统一的pt值,就能保证所有生成图片的字体大小完全一致,示例代码如下:
library('exams') tex <- 'test\\test\\test' # 统一用pt=12生成所有图片即可保证字体一致 tex2image(tex, format = "png", dir= ".", name = 'test-12', pt = 12)
- 方案2:强制固定图片宽度时,硬编码LaTeX全局字体设置
如果必须要求输出图片宽度固定为350像素,可以直接在你的LaTeX文本开头添加全局字体命令,绕过pt参数的限制,保证所有图片字体大小统一,示例代码如下:
library('exams') # 字体大小设为12pt,行间距设为14pt,按需调整数值即可 tex <- '\\fontsize{12}{14}\\selectfont test\\test\\test' tex2image(tex, format = "png", dir= ".", name = 'test-fixed', resize = 350, pt = 12)
内容的提问来源于stack exchange,提问作者hanna
相关产品推荐
相关产品推荐

