使用 LaunchControl 运行 .Rnw 脚本时 texi2dvi() 错误

2023-11-29

我正在尝试使用以下命令在计时器上编译knitr脚本启动控制(一个 launchd GUI,用于在 OSX 上调度类似 cron 的作业)。

我有一个 Dispatcher.R 脚本可以执行以下操作:

#!/Library/Frameworks/R.framework/Resources/Rscript
library("knitr")
setwd("~/somedirectory")
knit2pdf("my_script.Rnw", output= "my_script.tex")

当我在 RStudio 中以交互方式运行它时,my_script.Rnw 工作得很好。我得到了所需的 PDF 输出。但是,当 launchd 运行 Dispatcher.R 脚本时,我收到此错误:

texi2dvi 中的错误(文件 = 文件,pdf = TRUE,干净 = 干净,安静 = 安静,: 在“my_script.tex”上运行“texi2dvi”失败。 执行停止

.tex 文件已生成,但无法编译。我会说这是我的 LaTeX 安装路径的问题,但因为它可以使用knit2pdf()我不知道。可能是什么问题?


仍在致力于此。更新:

  • 没有生成 .log 文件knit2pdf()通过 LaunchControl,但我得到了 .tex 文件和 /figure 文件夹。

  • 我更新了 MacTex,还尝试了一个空文档的最小示例,但我得到了与 texi2dvi 相同的错误。

  • 当我跑步时knit2pdf("my_script.Rnw", output = "my_script.tex")使用 LaunchControl 和then返回 RStudio 并运行texi2dvi("my_script.tex", pdf = TRUE),然后我就得到了想要的结果。
  • 该问题在 Sierra 和 Yosemite 上重现
  • 在 Sierra 上还有一个额外的错误In my_script_latex_pkg("framed", system.file("misc", "framed.sty", package = "knitr")) : unable to find LaTeX package 'framed'; will use a copy from knitr
  • I tried Sys.setenv(PATH = paste(Sys.getenv("PATH"),"/usr/texbin",sep=":"))但这没有帮助。
  • Running $ Rscript dispatcher.R从命令行工作得很好。 PDF 已编译。
  • 运行 bash 脚本Rscript dispatcher.R在 LaunchControl 中not工作;关于texi2dvi同样的错误。

要使用 LaunchControl 运行 .Rnw 文件进行任务调度,请在同一目录中创建以下文件。然后,在调度程序中运行 *.sh 脚本。瞧!我在原来的帖子中遇到的问题是 LaunchControl 不(至少默认情况下)读取 ~/.bash_profile,因此将 PATH 变量添加到 .sh 脚本中可以解决此问题。

1) 你的 *.Rnw 脚本

这是任何knitr您可以从 RStudio 毫无问题地编译该脚本。

2) *.R 脚本

#!/Library/Frameworks/R.framework/Resources/Rscript
library("knitr")
setwd("~/some_directory")
knit2pdf("yourscript.Rnw", output = "yourscript.tex")

3) *.sh 脚本

确保您的 LaTeX 安装具有 PATH 变量。

#! /bin/bash 

PATH="/usr/texbin:${PATH}"
export PATH

Rscript yourscript_dispatcher.R

此解决方案适用于 R 版本 3.3.2 (2016-10-31) 上的 OSX Yosemite 10.10.5。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 LaunchControl 运行 .Rnw 脚本时 texi2dvi() 错误 的相关文章

  • 使用 ggplot 2 使用线条或线段将堆栈条形图与多个组连接起来

    我正在对一些患有某种疾病的患者进行一项研究 并在 3 个不同的时间点使用顺序量表评估功能状态 我想在这些时间点的堆叠条形图中连接多个组 我查看了这些主题 但尚未使用这些建议使其发挥作用 如何将线条放置在堆积条形图的边缘 https stac
  • 如何检查向量是否是单个 NA 值,没有长度警告且没有抑制

    我有一个功能NA作为默认值 但如果没有NA应该是一个不限于大小 1 的字符向量 我有一个检查来验证这些 但是is na当向量是字符向量时产生标准警告length大于1 so function lt function x NA if is n
  • 基于两列对数据框中的行进行求和[重复]

    这个问题在这里已经有答案了 我想添加一列的值 将它们按两列分组 我找到了如何在一列上执行此操作 但无法弄清楚如何在两列上执行此操作 例如 如果我有以下数据框 x c a a b b c c a a b b c c a a b b c c y
  • 将 SAS sas7bdat 数据读入 R

    R 有哪些选项可以读取本机 SAS 格式的文件 sas7bdat 进入R The NCES 共同核心 https nces ed gov ccd pubschuniv asp例如 包含以此格式保存的大量数据文件存储库 为了具体起见 让我们集
  • 使用 r 以周为单位对数据进行分组

    I have a CVS file which has data for different countries at different weeks of this year I want to create a summary data
  • R:从 Github 安装包时出现编码问题

    我正在尝试安装dcStockR https github com yutannihilation dcStockR来自 Github 的包 这是一个htmlwidgets http www htmlwidgets org 周围的包装纸dc
  • 将 stat_smooth 添加到 ggplot2 中的仅 1 个方面

    我有一些数据 在某个因素的某个水平上 存在显着的相关性 在另一个层面上 则没有 并排绘制这些图很简单 使用 stat smooth 向它们添加一行 也很简单 但是 我不希望线条或其填充显示在两个面之一中 有没有一种简单的方法可以做到这一点
  • 如何通过在R闪亮循环中读取.csv文件来动态生成dataTableOutput?

    我有一个函数可以生成 n 个数据帧并将其作为 csv 文件保存在某个位置 并且该函数返回已保存 CSV 的文件名 我希望获取这些 csv 文件 使用以下命令读取它read csv 然后使用 renderUI 和 renderDataTabl
  • 数据框中按行相关

    我正在尝试计算大型数据帧的所有行之间的相关性 到目前为止已经提出了一个有效的简单 for 循环 例如 name lt c a b c d col1 lt c 43 78 43 84 37 92 31 72 col2 lt c 43 80 4
  • 如何在 Shiny 应用程序中访问/打印/跟踪当前选项卡选择?

    我正在一个闪亮的应用程序中工作 我希望能够访问用户在会话中当前所在选项卡上的信息 我有一个观察事件 用于侦听要单击的特定按钮 简而言之 我想存储 打印用户单击此按钮时所在的当前选项卡 单击此按钮后 选项卡将更改为带有 updateTabIt
  • 为什么表达式“1”==1 的计算结果为 TRUE? [复制]

    这个问题在这里已经有答案了 1 是字符值 其他1是数字 甚至 当我尝试在下面执行时 它给了我 TRUE as character 0 as numeric 0 谁能帮助我理解 为什么 来自help 如果两个参数是不同类型的原子向量 则其中一
  • GitHub 操作 setup-r-dependency 失败,说明没有名为“digest”的包

    我一直在尝试设置一些 GitHub 操作来自动检查我的 R 包并运行测试覆盖率 我目前正在使用 setup r dependency v2 操作来安装依赖项 但无法安装包 digest 返回以下错误 Error Error
  • ggplot2中的两列分组

    是否可以按两列分组 于是叉积就画出来了 经过geom point and geom smooth 例如 frame lt data frame series lt rep c a b 6 sample lt rep c glass wate
  • R:适合显示具有倾斜计数的数据的图

    我有这样的数据 Name Count Object1 110 Object2 111 Object3 95 Object4 40 Object2000 1 因此 只有前 3 个物体的计数较高 其余 1996 个物体的数量少于 40 个 其中
  • 如何从数据框中按降序获取前n家公司

    我正在尝试从数据框中获取排名前 n 的公司 下面是我的代码 data Forbes2000 package HSAUR sort Forbes2000 profits decreasing TRUE 现在我想从这个排序向量中获取前 50 个
  • 使用 xtable 对乳胶输出的表进行排序

    我正在尝试生成一个排序表并导出到乳胶中 然而 xtable 似乎无法处理排序表 建议 a lt sample letters 500 replace T b lt table a c lt sort table a decreasing T
  • 如何使用 Rcpp 将 C 结构从 C 库公开到 R

    我正在尝试将 C 结构从 C 库公开到 R 中 例如 struct A int flag 库提供 API 来构造和销毁是很常见的A A initA void freeA A a 感谢RCPP MODULE 很容易暴露它而不考虑析构函数 in
  • 了解日期并使用 R 中的 ggplot2 绘制直方图

    主要问题 当尝试使用 ggplot2 制作直方图时 我无法理解为什么日期 标签和中断的处理无法像我在 R 中预期的那样工作 我在找 我的约会频率的直方图 刻度线位于匹配条下方的中心 日期标签在 Y b format 适当的限制 最小化网格空
  • ggplot2以限制为中心的多边形世界地图给出了有趣的边缘

    使用下面的代码我生成了一张以华盛顿特区为中心的地图 解决方案基于科斯克的解决方案在这里 https stackoverflow com questions 10620862 use different center than the pri
  • 如何在复杂的皂膜GAM中设置更平滑的边界条件?

    我正在对南太平洋岛屿泻湖中宽吻海豚的分布进行建模 我想使用肥皂膜平滑器来模拟海豚在二维表面 经度 x 纬度 上存在的概率 考虑到陆地边界 显然海豚不能在陆地上行走 我想知道如何将我的研究区域 陆地和近海水域 的边界固定为等于零的条件 因为我

随机推荐