【问题标题】:rmarkdown could not show the plot and italic fontrmarkdown 无法显示绘图和斜体字体
【发布时间】:2014-07-31 03:19:29
【问题描述】:

这是我的代码:

---
title: "Untitled"
output: ioslides_presentation
---

## Slide with Plot

*title*

## Slide with Plot

```{r, echo=FALSE}
plot(cars)
```

我只是从模板中复制它并尝试使其变得非常简单。

如果我尝试将它编织成pdf,一切都很好,但如果我尝试将它编织成html,问题是:

  1. “标题”未更改为斜体。大胆有效,我试过**title**,有效。
  2. 剧情没有出现,只留下一个蓝色问号。我右键单击它并选择打开图像,我得到一个信息:“/rmd_output/4/Preview-15cc5728260c_files/figure-html/unnamed-chunk-1.png not found”

我猜应该有一些错误的设置,但我不知道它们在哪里。有什么帮助吗?

ps:我在 win 7 中使用 R 3.1.1 和 Rstudio 0.98.977,使用 knitr 1.6、markdown 0.7.2 和 rmarkdown0.2.50。我不使用任何自定义 CSS。

ps2:我用一台全新的win 7电脑试了试,从一开始就安装了r和rstudio并重现了同样的问题。我也在我的笔记本电脑上用ubuntu系统试了一下,出现了同样的问题。

ps3:我将输出更改为revealjs并修复所有问题。我相信这是来自 ioslides 的错误。

【问题讨论】:

  • 你可以使用你选择新的r演示文稿(.Rpres)时得到的模板吗?还是不适合?
  • 当我使用 r markdown (.rmd) 时会出现问题。按照您的建议,我尝试使用相同模板(不同代码)的新 r 演示文稿(.rpres),它解决了这两个问题。我不知道为什么。但在我看来,.rpres 输出不如 .rmd 漂亮。
  • 确实看起来是个bug,不过我只是在windows下试了最新版的RStudio,好像不能重现你的图片问题:rstudio.com/products/rstudio/download斜体字体样式问题,它只是 RStudio 窗口。如果单击按钮Open in Browser,字体形状将变为斜体。
  • 一辉,谢谢你们的cmets。我在浏览器中试了一下,斜体字体修复了,但还是看不到情节。我在新页面中打开图像,发现它的位置 /test_file/figure_html/unnamed-chunk-2.png 不存在。 ioslides 似乎没有创建情节。然后我设置了 mathjax: local 和 self_contained: FALSE。现在可以显示该图。也许这个问题与mathjax有关?
  • 我认为问题与图表有关,所以我在 ioslides 中附加了一张图片,而不是 plot() 一张。我发现 ioslides 不能自包含图像文件。只有当我用html复制图像文件时,它才会起作用,否则,它会显示同样的问题,“找不到它的位置。

标签: r knitr rstudio r-markdown


【解决方案1】:

ioslides 的默认 CSS 文件目前包含一个大型指令,用于将一堆标签设置为 font: inherit;

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

这会阻止<em> 等标签将font-style 设置为italic。删除 font: inherit; 行或提供您自己的 CSS 应该可以正确呈现斜体。请注意,这可能会更改间距等,除非您专门继承这些。

【讨论】:

    猜你喜欢
    • 2021-02-19
    • 1970-01-01
    • 1970-01-01
    • 2015-01-11
    • 2015-12-01
    • 2014-03-07
    • 2014-10-15
    • 2011-07-18
    • 2020-12-22
    相关资源
    最近更新 更多