【问题标题】:html of rmarkdown file (.Rmd) is not displayed correctly in browserrmarkdown 文件 (.Rmd) 的 html 在浏览器中未正确显示
【发布时间】:2019-01-29 13:01:36
【问题描述】:

当我将 .Rmd 编​​织到 html 时,它无法正确显示,即。 e.格式似乎有问题(见下面的截图):两个超链接不起作用,字体不是无衬线,没有目录等。我在另一台机器上使用了相同的代码 6 个月之前,它按预期呈现。然而,今天却没有。有人知道为什么 html 看起来很丑吗?它似乎不依赖于我打开 html 的浏览器(在 IE 和 Chrome 中测试过)。

这是我使用的代码:

---
title: "my title"
author: "subtitle"
date: "my name, `r format(Sys.time(), '%d. %B, %Y')`"
output:
  html_document:
    code_folding: hide
    highlight: haddock
    number_sections: yes
    toc: yes
    toc_float: yes
---

# section
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod 
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At 
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd 
gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum 
dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor 
invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero 
eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no 
sea takimata sanctus est Lorem ipsum dolor sit amet.

```{r, warning = FALSE}
head(mtcars)
```

还有我的会话信息:

> sessionInfo()
R version 3.4.2 (2017-09-28)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

Matrix products: default

locale:
[1] LC_COLLATE=German_Switzerland.1252  LC_CTYPE=German_Switzerland.1252    
LC_MONETARY=German_Switzerland.1252
[4] LC_NUMERIC=C                        LC_TIME=German_Switzerland.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] compiler_3.4.2  backports_1.1.1 magrittr_1.5    rprojroot_1.2   
htmltools_0.3.6 tools_3.4.2     yaml_2.1.15    
 [8] Rcpp_0.12.14    stringi_1.1.6   rmarkdown_1.8   knitr_1.17      
stringr_1.2.0   digest_0.6.12   evaluate_0.10.1

更新:在 Chrome 中打开 html,按 F12,在控制台下显示

【问题讨论】:

  • 对我来说效果很好,看起来您的屏幕截图中缺少一些指向 javascript 或 css 参考的链接。生成的文件中是否无法使用javascript或所有css?
  • 如何检查禁用的 javascript 和 css?我可以打开一个我在 6 个月前(在另一台机器上)编译的旧 .html,旧的 .html 看起来很好并且可以按预期工作。
  • 对我来说也很好,使用 RStudio 的预览是否有效?
  • 您可以尝试在旧机器上打开文件。或者您可以查看文件中的 html 代码,其中应该有一些 javascript 和 css,尤其是对于菜单。也许使用最新版本的 R 太 markdown 自 2017 年 9 月以来可能发生了很大变化
  • RStudio 中的预览也不起作用。 html中似乎缺少javascript。我该如何解决这个问题?

标签: html r r-markdown knitr


【解决方案1】:

我的一个朋友得到了这个问题的解决方案:我们公司的.libPaths()被定义为

.libPaths()
#> [1] "\\\\userhome/my_user_name/R/win-library/3.4"   # note the four \\\\
#> [2] "C:/Program Files/R/3.4.2/library"

将第一个位置更改为后

.libPaths()
#> [1] "C:/Users/my_user_name/R/win-library/3.4.2"     # path starts with C:/
#> [2] "C:/Program Files/R/3.4.2/library"

.Rmd 按预期呈现:)。

我们在.Rprofile 中放置了以下函数。它逐步创建目录并将其添加到.libPaths()

# install packages locally within user profile
(function() {
  components <- list('C:/', 'users', Sys.info()['login'], 'R',
                     'win-library', paste0(R.Version()$major,
                                           '.',
                                           R.Version()$minor))

  # loop over components and create dir step-by-step
  # (recursive = TRUE leads to errors)
  for (k in 4:length(components)) {
    p <- do.call(file.path, components[1:k])
    dir.create(p, showWarnings = FALSE, recursive = FALSE)
  }

  path <- do.call(file.path, components)
  .libPaths(c(path, .Library))
})()

reprex package (v0.2.1) 于 2018 年 9 月 24 日创建

【讨论】:

    猜你喜欢
    • 2014-04-27
    • 1970-01-01
    • 2022-06-12
    • 2014-09-15
    • 1970-01-01
    • 2012-08-16
    • 2014-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多