当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R RweaveLatex Sweave 的 R/LaTeX 驱动程序


R语言 RweaveLatex 位于 utils 包(package)。

说明

一名司机Sweave翻译的R“running them” 在 LaTeX 文件中的代码块,即parse()eval()每个。

用法

RweaveLatex()

RweaveLatexSetup(file, syntax, output = NULL, quiet = FALSE,
                 debug = FALSE, stylepath, ...)

参数

file

Sweave 源文件的名称。参见 Sweave 对应参数的说明。

syntax

SweaveSyntax 的对象。

output

输出文件的名称。默认是删除扩展名‘.nw', '.Rnw' 或者 '.Snw'并添加扩展名'.tex’。中的任何目录路径file也被删除,以便在当前工作目录中创建输出。

quiet

如果TRUE,所有进度消息都会被抑制。

debug

如果 TRUE ,所有代码块的输入和输出都会复制到控制台。

stylepath

查看具体信息'。

...

“支持的选项”中列出的选项的命名值。

细节

生成的LaTeX 文件需要包含行‘⁠\usepackage{Sweave}⁠’,如果 Sweave 源文件中不存在(可能在注释中),则由RweaveLatexdriver 作为‘之前的最后一行⁠\begin{文档}⁠' 陈述。如果stylepath = TRUE, hard-coded 文件路径‘Sweave.sty' 在里面R安装设置为Sweave。 hard-coded 路径使得 LaTeX 文件的可移植性较差,但避免了安装当前版本的问题Sweave.sty’到 TeX 输入路径中的某个位置。但是,如果 TeX 包含空格(在 Windows 下通常如此)或 TeX 特殊字符,则 TeX 可能无法处理 hard-coded 路径。

默认为stylepath现在从环境变量中获取SWEAVE_STYLEPATH_DEFAULT,或者是FALSE它未设置或为空。如果设置的话,它应该是准确的TRUE或者FALSE:任何其他值均视为FALSE.

对于经常使用 Sweave 的用户来说,最简单的方法是确保‘Sweave.sty' 在 TeX 输入路径中添加 'R_HOME/分享/texmf” 作为“texmf 树”(“MiKTeX 设置”实用程序中的“根目录”)。

默认情况下, 'Sweave.sty'加载'⁠图形x⁠’ LaTeX 包并将所有包含图形的宽度设置为:
'⁠\setkeys{杜松子酒}{width=0.8\textwidth}⁠’。

此设置(定义在‘⁠图形x⁠’包)影响传递给‘的宽度尺寸选项⁠\includegraphics{}⁠每个绘图文件的指令,反过来会影响绘图文件的缩放比例,因为它们将出现在最终文档中。

因此,例如,您可以设置width=3在您的图形块中,生成的图形文件的宽度将设置为 3 英寸。但是,最终文档中图形的宽度将设置为“⁠0.8\文本宽度⁠’并且高度尺寸将相应地缩放。最终文档中的字体和符号将采用类似的比例。

您可以通过包含‘来调整默认值⁠\setkeys{杜松子酒}{宽度=...}⁠' 指令在你的'.Rnw' 之后的文件⁠\begin{文档}⁠’指令并改变width根据您的喜好选择值,使用标准 LaTeX 测量值。

如果您希望完全覆盖此默认行为,您可以添加“⁠\usepackage[nogin]{Sweave}⁠’序言中的指令。在这种情况下,不会将任何大小/缩放选项传递给‘⁠\includegraphics{}⁠’指令和heightwidth选项将决定运行时生成的图形文件大小和最终文档中图形的大小。

'Sweave.sty” 也支持“⁠[nofontenc]⁠' 选项,它会跳过默认包含的 '⁠\usepackage[T1]{fontenc}⁠’ 用于 pdfTeX 处理。

它还支持‘⁠[inconsolata]⁠' 选项,渲染等宽文本inconsolata,默认使用的字体R帮助页面。

使用花哨的引号(参见sQuote) 设置时可能会出现问题R以非 UTF-8 语言环境输出(请注意,自 2018 年起 pdfTeX 默认采用 UTF-8)。任意设定options(useFancyQuotes = FALSE)或安排 LaTeX 了解所使用的编码并确保使用包含定向引号的打字机字体。

某些 LaTeX 图形驱动程序不包含‘⁠.png⁠' 或者 '⁠.jpg⁠' 在已知扩展列表中。要启用它们,请添加类似“⁠\DeclareGraphicsExtensions{.png,.pdf,.jpg}⁠’到文档的序言中或检查图形驱动程序的行为。当两个pdfpngTRUE这两个文件都将由Sweave,以及它们在‘中的顺序⁠声明图形扩展⁠' 列表决定了将使用哪个pdflatex.

支持的选项

RweaveLatex 支持以下代码块选项(括号中的值显示默认值)。当从Sweave... 传递时,字符串值应加引号,但在代码块的标头中使用时不应加引号。

引擎:

字符串("R")。仅处理engine等于"R""S"的块。

回声:

逻辑(TRUE)。包括R输出文件中的代码?

保留来源:

逻辑(TRUE)。当回显时,如果TRUE原始源被复制到文件中。否则,将回显已解析的源。

评估:

逻辑(TRUE)。如果 FALSE ,则不会评估代码块,因此不会生成文本或图形输出。

结果:

字符串("verbatim")。如果"verbatim",输出R命令包含在 verbatim-like 中⁠S输出⁠' 环境。如果"tex",输出被视为已经正确的 LaTeX 标记并按原样包含。如果"hide"那么所有输出都被完全抑制(但在编织期间执行的代码)。值可以缩写。

打印:

逻辑(FALSE)。如果 TRUE ,这会强制所有表达式的auto-printing。

学期:

逻辑(TRUE)。如果TRUE,值的可见性模拟了交互式R会话:不打印赋值的值,打印单个对象的值。如果FALSE,输出仅来自显式print或类似的陈述。

分裂:

逻辑(FALSE)。如果是 TRUE ,则文本输出将写入每个代码块的单独文件中。

条带.白色:

字符串("true")。如果 "true" ,则删除输出开头和结尾的空白行。如果 "all" ,则所有空白行将从输出中删除。如果"false"则保留空行。

“空行”是空行或仅包含空白(空格和制表符)的行。

请注意,代码块中的空行通常会在输出时生成提示字符串而不是空行。

字首:

逻辑(TRUE)。如果 TRUE 生成的图形和输出文件名都具有 prefix.string 选项给出的公共前缀:否则只有未标记的块使用该前缀。

前缀.字符串:

一个字符串,默认是源文件的名称(不带扩展名)。请注意,它用作文件名的一部分,因此需要可移植。

包括:

逻辑(TRUE),表示输入语句是否用于文本输出(ifsplit = TRUE) 和 '⁠\包括图形⁠’数字报表应该自动生成。使用include = FALSE输出是否应出现在与代码块不同的位置(通过手动放置输入行)。

如图:

逻辑(FALSE),指示代码块是否产生图形输出。请注意,每个代码块只能以这种方式处理一个图形。图形块的标签用作文件名的一部分,因此最好是字母数字。

每股收益:

逻辑(FALSE),指示是否应生成 EPS 数据。如果 fig = FALSE 则忽略。

pdf:

逻辑 ( TRUE ),指示是否应生成 PDF 数字。如果 fig = FALSE 则忽略。

pdf.版本、pdf.编码、pdf.压缩:

传递给pdf来设置版本、编码和压缩(或不设置)。默认值取自pdf.options()

PNG:

逻辑 ( FALSE ),指示是否应生成 PNG 图形。如果 fig = FALSE 则忽略。仅在 中可用。

图片:

逻辑(FALSE),指示是否应生成 JPEG 图形。如果 fig = FALSE 则忽略。仅在 中可用。

GR设备:

字符 (NULL):请参阅“自定义图形设备”部分。如果 fig = FALSE 则忽略。仅在 中可用。

宽度:

numeric (6),以英寸为单位的数字宽度。查看具体信息'。

高度:

numeric (6),数字高度(以英寸为单位)。查看具体信息'。

解决:

数字 (300),分辨率以每英寸像素为单位:用于 PNG 和 JPEG 图形。请注意,默认值相当高,适合高质量绘图。像 100 这样的东西是包插图的更好选择。

索引:

逻辑(FALSE)。编写索引文件以将输入行号链接到输出行号。

仅无花果:

逻辑(FALSE)。默认情况下,每个图形块运行一次,然后针对每种选定的图形类型重新运行。这将为第一个图形块打开默认图形设备,并使用该设备对所有后续块进行第一次评估。如果此选项为 true,则仅针对每种选定的图形类型运行图形块,并为其打开然后关闭新的图形设备。

此外,用户可以在单个代码部分的标题中或在“⁠\SweaveOpts{}⁠’文档中的行。对于未知选项,其类型是在第一次使用时设置的。

定制图形设备

如果为 figeval 都为 true 的代码块提供了选项 grdevice,则进行以下调用

  get(options$grdevice, envir = .GlobalEnv)(name=, width=,
                                            height=, options)

这应该打开一个图形设备。然后评估该块的代码并调用dev.off。通常,给定名称的函数已在 Sweave 文档中较早定义,例如

<<results=hide>>=
my.Swd <- function(name, width, height, ...)
  grDevices::png(filename = paste(name, "png", sep = "."),
                 width = width, height = height, res = 100,
                 units = "in", type = "quartz", bg = "transparent")
@

或者用于R>= 3.4.0,如果该函数存在于包中(而不是.GlobalEnv) 可以通过设置来使用grdevice = "pkg::my.Swd"(或用‘⁠:::⁠' 代替 '⁠::⁠’如果该函数未导出)。

目前每个块只能使用一个自定义设备,但不同的块可以使用不同的设备。

dev.off 的替换可以作为带有后缀 .off 的函数提供,例如分别为 my.Swd.off()pkg::my.Swd.off()

钩子函数

在评估每个代码块之前,可以执行零个或多个钩子函数。如果设置了getOption("SweaveHooks"),则它被视为钩子函数的命名列表。对于代码块( echoprint 等)的每个逻辑选项,可以指定一个钩子,当且仅当相应选项为 TRUE 时才执行该钩子。钩子必须是 getOption("SweaveHooks") 返回的列表的命名元素,并且是不带参数的函数。例如,如果选项 "SweaveHooks" 定义为 list(fig = foo) ,并且 foo 是一个函数,那么它将在每个图形块中的代码之前执行。这对于设置一系列图形块中图形参数的默认值特别有用。

请注意,用户可以自由定义新的 Sweave 逻辑选项并将任意钩子与其关联。例如,可以为名为 clean 的新选项定义一个钩子函数,用于删除工作区中的所有对象。然后用 clean = TRUE 指定的所有代码块将开始在空工作区上运行。

作者

Friedrich Leisch and R-core

也可以看看

Sweave User Manual”,utils 包中的小插图。

Sweave , Rtangle

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 R/LaTeX Driver for Sweave。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。