固定 tex2image 图形中的字体大小

Fixing font size in tex2image graphics

我使用 exams 包中的 tex2image() 函数创建了几个不同字体大小的图形。但是应该指定字体大小的参数pt似乎只对行间距有影响。我想修复字体,使其在所有图像中显示为相同大小。

为了说明,请尝试使用 pt = 12pt = 5 创建以下图像。输出如下所示。

library('exams')

tex <- 'test\\test\\test'

tex2image(tex, format = "png", dir= ".", name = 'test-12', resize = 350, pt = 12)
pt = 12 pt = 5

此行为的原因是默认将 PNG 输出从 tex2image() 调整为特定像素数:resize = 650。因此,与 pt = 12 设置相比,在您的 pt = 5 设置中首先生成较小的 PDF 和 PNG,但之后两者都缩放为 650 像素。这使得生成的文本同样大,但 pt = 5 版本像素化程度更高。

避免这种情况的第一种方法是设置 resize = NULL 以便不进行重新缩放。然后,您需要确保在 HTML.

中“按原样”包含生成的 PNG 图像,而不进行任何重新缩放

或者,您可以为文本框设置一定的 width = ...(以英寸为单位,> 1)以确保所有图像具有相同的宽度,从而保持相对的字体大小。这种方法说明如下:

tex2image("Short text",                                  width = 2, pt = 12, dir = ".", name = "tex2image-short")
tex2image("A considerably longer text",                  width = 2, pt = 12, dir = ".", name = "tex2image-long-12")
tex2image("A considerably longer text with small fonts", width = 2, pt =  5, dir = ".", name = "tex2image-long-5")