如何减少 exams2pdf 输出的绘图(图像)大小?

How to reduce plot (image) size for `exams2pdf` output?

当我将scatterplot.Rmd文件中的图像缩小并编入exams2html时,结果如预期。当我用 knitr 按钮编织文件时,也会发生同样的事情。

我通过修改

的尺寸来实现这一点
fig.path = "", fig.cap = ""}
plot(x, y)

更改 fig.heightfig.width 的值。

但是,当我做同样的事情并尝试使用 exams2pdf 输出编织时,图像会变形或保持相同的初始大小。

我需要对代码进行哪些更改才能使结果在 exams2pdf 输出中符合预期?

感谢您的关注。

TL;DR

通过您的设置,您可以控制创建的图形文件的大小。但是默认的 LaTeX 模板包括所有具有 80% 文本宽度的图形。因此,无论实际图形文件有多大(.pdf、.png、...),它总是以 80% 的宽度嵌入 LaTeX/PDF。

控制图形大小

您可以直接在练习的代码块中设置相应的选项来控制图形文件的属性。也就是说,您可以按照问题中的描述设置 fig.height=... and/or fig.width=...

此外,您也可以不在练习文件中设置这些选项,而是在exams2xyz()界面中设置它们,例如exams2pdf(..., height = ..., width = ...)。例如,如果您想在 PDF 输出或 HTML 输出中使用不同的默认图形大小,这将很方便。

控制嵌入图形的大小

同样,您可以通过不同的方式控制嵌入图形的大小。在 R/exams 的 HTML-based 输出中,图形文件通常“按原样”包含。因此,HTML文本中图形的大小由图形文件的大小决定。

或者,您可以尝试通过 out.width 等代码块选项来控制它

最后,您可以在输出文档的模板中设置属性。这是在默认 plain.tex 模板中隐式完成的。这使用

\usepackage{Sweave}

其中包含行

\setkeys{Gin}{width=0.8\textwidth}

默认。但是您可以使用

来抑制此设置
\usepackage[nogin]{Sweave}

因此,如果您相应地修改 LaTeX 模板并调用 exams2pdf(..., template = "mytemplate.tex"),那么图形文件将“按原样”包含在内。