渲染位于 blogdown 静态文件夹中的 Rmd 文件时,RStudio 中的 knitr 按钮的行为

如何解决渲染位于 blogdown 静态文件夹中的 Rmd 文件时,RStudio 中的 knitr 按钮的行为

我有一个 Rmd 文件,我想将其转换为 pdf 文件。目前它位于“静态”文件夹的子文件夹中,该文件夹是我的博客站点结构的一部分,由 blogdown 包创建。问题是,当我在 RStudio 中点击“Knit”按钮时,它会在我期待 rmarkdown::render_site(...) 时调用 rmarkdown::render(...)。我确实有一个带有一行命令 R/build.R 的文件 blogdown::build_dir("static") 所以这对我来说很奇怪。当我尝试转换其他文件夹中的其他 Rmd 文件(不与我的博客文件夹/文件相关联)时,一切正常。

为了得到我想要的东西,我目前正在控制台中输入 rmarkdown::render("myfile.Rmd"),或者我正在使用无限月亮阅读器,但都没有“编织”按钮那么方便:(

以下是将 blogdown 包更新到 1.1 版后 xfun::session_info('blogdown') 的输出:

> xfun::session_info('blogdown')
R version 4.0.3 (2020-10-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 18363),RStudio 1.4.1103

Locale:
  LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252    LC_MONETARY=English_United States.1252
  LC_NUMERIC=C                           LC_TIME=English_United States.1252    

Package version:
  base64enc_0.1.3 BH_1.75.0.0     blogdown_1.1    bookdown_0.21   digest_0.6.27   evaluate_0.14   glue_1.4.2     
  graphics_4.0.3  grDevices_4.0.3 highr_0.8       htmltools_0.5.0 httpuv_1.5.4    jsonlite_1.7.2  knitr_1.30     
  later_1.1.0.1   magrittr_2.0.1  markdown_1.1    methods_4.0.3   mime_0.9        promises_1.1.1  R6_2.5.0       
  Rcpp_1.0.5      rlang_0.4.9     rmarkdown_2.6   servr_0.21      stats_4.0.3     stringi_1.5.3   stringr_1.4.0  
  tinytex_0.29    tools_4.0.3     utils_4.0.3     xfun_0.20       yaml_2.2.1     

编辑: 我不确定这是否会有所帮助,但我想转换为 pdf 的 HW3.Rmd 文件如下所示:

---
title: "Homework 3"
subtitle: "due Feb 2,2021"
output:
  pdf_document: default
---

```{r}
1 + 1
```

当我将此文件保存在 C:/Users/jungl/Dropbox/GitHub/blog2020/static/Drexel_2021/HW3.Rmd 中的文件夹中时(这里 C:/Users/jungl/Dropbox/GitHub/blog2020 是包含 blogdown 创建的所有文件夹/文件的根文件夹),“编织”按钮意外地调用,{ {1}}。但是,当我在文件夹中复制与 rmarkdown::render_site(...) 相同的 HW3.Rmd 时,“Knit”按钮按预期工作并调用 C:/Users/jungl/Dropbox/test/HW3.Rmd。所以看起来RStudio的“编织”按钮以某种方式自动确定它是否应该根据工作中的Rmd文件是否位于根文件夹的(子)文件夹中调用rmarkdown::render(...)rmarkdown::render_site(...)保存 blogdown 生成的文件夹/文件。

编辑: Github 存储库位于 rmarkdown::render(...),我刚刚检查了相同的问题是否仍然存在。我要转换为 PDF 的 https://github.com/junglee0713/blog2020 文件位于 HW3.Rmd

另一个编辑:安装 blogdown 的开发版本似乎解决了问题(下面的输出,注意它仍然调用 https://github.com/junglee0713/blog2020/tree/master/static/Drexel_2021),但还有另一个问题。它将同一目录中的其他 Rmd 文件(例如 rmarkdown::render_site(...)HW1.Rmd)呈现为相应的 PDF 文件。

HW2.Rmd

因此,每次我将 ==> rmarkdown::render_site('C:/Users/jungl/Dropbox/GitHub/blog2020/static/Drexel_2021/HW3.Rmd',encoding = 'UTF-8'); |.................. | 25% ordinary text without R code |................................... | 50% label: setup (with options) List of 1 $ include: logi FALSE processing file: HW3.Rmd |.................................................... | 75% ordinary text without R code |......................................................................| 100% label: unnamed-chunk-1 (with options) List of 1 $ eval: symbol F "C:/Program Files/RStudio/bin/pandoc/pandoc" +RTS -K512m -RTS HW3.utf8.md --to latex --from markdown+autolink_bare_uris+tex_math_single_backslash --output HW3.tex --lua-filter "C:\Users\jungl\Documents\R\win-library\4.0\rmarkdown\rmarkdown\lua\pagebreak.lua" --lua-filter "C:\Users\jungl\Documents\R\win-library\4.0\rmarkdown\rmarkdown\lua\latex-div.lua" --self-contained --highlight-style tango --pdf-engine pdflatex --variable graphics --variable "geometry:margin=1in" output file: HW3.knit.md Output created: HW3.pdf `stat_bin()` using `bins = 30`. Pick better value with `binwidth`. 渲染为 PDF 时,我也会收到 HW3.RmdHW1.pdf 的未经请求的更新(如您所见,我在 {{ 中没有任何 ggplot 图1}} 并且输出警告关于使用 binwidth 选择更好的值。HW2.pdf 中确实包含 HW3.Rmd)。对我来说更有趣的是,在 HW2.Rmdgeom_histogram()HW1.Rmd 所在的文件夹中,还有其他我转换为 HTML 的 Rmd 文件(比如 HW2.Rmd、{ {1}} 和 HW3.Rmd -- 它们是 xaringan 幻灯片)并且它们不会受到编织的影响。

解决方法

当您单击“编织”按钮时,blogdown 确实先调用 rmarkdown::render_site(),但此函数 actually calls rmarkdown::render() eventually

如果当您单击 Knit 按钮时它没有将您的 Rmd 文件编译为 PDF,请确保您使用的是最新版本的 blogdown,因为这听起来像是我已修复的错误几个月前 (when in doubt,try to update packages)。

如果你安装了blogdown的当前开发版本(安装后重启R):

install.packages('blogdown',repos = c(
  rstudio = 'https://rstudio.r-universe.dev',CRAN = 'https://cloud.r-project.org'
))

当您单击编织按钮时,您将在 R Markdown 选项卡中看到详细的编织日志:

The R Markdown tab

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-
参考1 参考2 解决方案 # 点击安装源 协议选择 http:// 路径填写 mirrors.aliyun.com/centos/8.3.2011/BaseOS/x86_64/os URL类型 软件库URL 其他路径 # 版本 7 mirrors.aliyun.com/centos/7/os/x86
报错1 [root@slave1 data_mocker]# kafka-console-consumer.sh --bootstrap-server slave1:9092 --topic topic_db [2023-12-19 18:31:12,770] WARN [Consumer clie
错误1 # 重写数据 hive (edu)> insert overwrite table dwd_trade_cart_add_inc > select data.id, > data.user_id, > data.course_id, > date_format(
错误1 hive (edu)> insert into huanhuan values(1,'haoge'); Query ID = root_20240110071417_fe1517ad-3607-41f4-bdcf-d00b98ac443e Total jobs = 1
报错1:执行到如下就不执行了,没有显示Successfully registered new MBean. [root@slave1 bin]# /usr/local/software/flume-1.9.0/bin/flume-ng agent -n a1 -c /usr/local/softwa
虚拟及没有启动任何服务器查看jps会显示jps,如果没有显示任何东西 [root@slave2 ~]# jps 9647 Jps 解决方案 # 进入/tmp查看 [root@slave1 dfs]# cd /tmp [root@slave1 tmp]# ll 总用量 48 drwxr-xr-x. 2
报错1 hive> show databases; OK Failed with exception java.io.IOException:java.lang.RuntimeException: Error in configuring object Time taken: 0.474 se
报错1 [root@localhost ~]# vim -bash: vim: 未找到命令 安装vim yum -y install vim* # 查看是否安装成功 [root@hadoop01 hadoop]# rpm -qa |grep vim vim-X11-7.4.629-8.el7_9.x
修改hadoop配置 vi /usr/local/software/hadoop-2.9.2/etc/hadoop/yarn-site.xml # 添加如下 <configuration> <property> <name>yarn.nodemanager.res