RweaveLatex
位于 utils
包(package)。 说明
一名司机Sweave
翻译的R“running them” 在 LaTeX 文件中的代码块,即parse()
和eval()
每个。
用法
RweaveLatex()
RweaveLatexSetup(file, syntax, output = NULL, quiet = FALSE,
debug = FALSE, stylepath, ...)
参数
file |
Sweave 源文件的名称。参见 |
syntax |
类 |
output |
输出文件的名称。默认是删除扩展名‘.nw', '.Rnw' 或者 '.Snw'并添加扩展名'.tex’。中的任何目录路径 |
quiet |
如果 |
debug |
如果 |
stylepath |
查看具体信息'。 |
... |
“支持的选项”中列出的选项的命名值。 |
细节
生成的LaTeX 文件需要包含行‘\usepackage{Sweave}’,如果 Sweave 源文件中不存在(可能在注释中),则由RweaveLatex
driver 作为‘之前的最后一行\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{}’指令和height
和width
选项将决定运行时生成的图形文件大小和最终文档中图形的大小。
'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}’到文档的序言中或检查图形驱动程序的行为。当两个pdf
和png
是TRUE
这两个文件都将由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{}’文档中的行。对于未知选项,其类型是在第一次使用时设置的。
定制图形设备
如果为 fig
和 eval
都为 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")
,则它被视为钩子函数的命名列表。对于代码块( echo
、 print
等)的每个逻辑选项,可以指定一个钩子,当且仅当相应选项为 TRUE
时才执行该钩子。钩子必须是 getOption("SweaveHooks")
返回的列表的命名元素,并且是不带参数的函数。例如,如果选项 "SweaveHooks"
定义为 list(fig = foo)
,并且 foo
是一个函数,那么它将在每个图形块中的代码之前执行。这对于设置一系列图形块中图形参数的默认值特别有用。
请注意,用户可以自由定义新的 Sweave 逻辑选项并将任意钩子与其关联。例如,可以为名为 clean
的新选项定义一个钩子函数,用于删除工作区中的所有对象。然后用 clean = TRUE
指定的所有代码块将开始在空工作区上运行。
作者
Friedrich Leisch and R-core
也可以看看
“Sweave User Manual”,utils
包中的小插图。
相关用法
- R Rwin R 用于 Windows 配置
- R Rscript R 前端脚本
- R RSiteSearch 搜索文档中的关键词或短语
- R Rprof 启用 R 执行分析
- R RShowDoc 显示 R 手册和其他文档
- R REMOVE 删除附加包
- R Rtangle Stangle 的 R 驱动程序
- R Rprofmem 启用 R 内存使用分析
- R select.list 从列表中选择项目
- R COMPILE 编译用于 R 的文件
- R readRegistry 读取 Windows 注册表配置单元
- R browseVignettes 在 HTML 浏览器中列出晕影
- R hasName 检查姓名
- R nsl 按主机名查找 IP 地址
- R edit 调用文本编辑器
- R create.post 准备电子邮件和帖子的辅助函数
- R hsearch-utils 帮助搜索实用程序
- R download.packages 从类似 CRAN 的存储库下载软件包
- R DLL.version MS Windows 上的 DLL 版本信息
- R ls.str 列表对象及其结构
- R bug.report 发送错误报告
- R PkgUtils 用于构建和检查附加包的实用程序
- R cite 引用参考书目条目
- R SweaveSyntConv 转换 Sweave 语法
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 R/LaTeX Driver for Sweave。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。