2016-09-18 76 views
2

我已经使用rmarkdown和reveal.js框架创作了R演示文稿,该演示文稿在很大程度上完美工作,但是,如果我将输出文件html文件)到另一个位置,所有背景图像都消失了。 (如果我在同一个文件夹中创建html文件的副本,它仍然可以)。仍然显示使用<img> -tag包含的照片。R演示文稿reveal.js:复制文件后未显示背景图片

的MWE看起来是这样的:

presentation.rmd:

--- 
title: "A Test" 
author: "tester" 
date: "Today" 
output: 
    revealjs::revealjs_presentation: 
    transition: slide 
    theme: night 
    highlight: espresso 
    center: true 
    self_contained: true 
    reveal_options: 
     slideNumber: true 
     previewLinks: true 
--- 

# <font color="black">Outline</font> {data-background="kitten.jpg"} 

kitten.jpg -file显然可以是任何图片。如果我打开presentation.html(使用Firefox),一切正常,如果我将presentation.html复制到桌面并再次打开,所有背景图像都消失了。

什么是导致错误和如何解决它的任何想法?

我的系统是:

sessionInfo() 

R version 3.2.3 (2015-12-10) 
Platform: x86_64-pc-linux-gnu (64-bit) 
Running under: Ubuntu 16.04.1 LTS 

locale: 
[1] LC_CTYPE=en_US.UTF-8  LC_NUMERIC=C    LC_TIME=de_DE.UTF-8  LC_COLLATE=en_US.UTF-8  
[5] LC_MONETARY=de_DE.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=de_DE.UTF-8  LC_NAME=C     
[9] LC_ADDRESS=C    LC_TELEPHONE=C    LC_MEASUREMENT=de_DE.UTF-8 LC_IDENTIFICATION=C  

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

other attached packages: 
[1] rmarkdown_1.0 revealjs_0.7 

loaded via a namespace (and not attached): 
[1] magrittr_1.5 htmltools_0.3.5 tools_3.2.3  Rcpp_0.12.7  stringi_1.1.1 stringr_1.1.0 
[7] digest_0.6.10 evaluate_0.9 

回答

1

的问题是,当你复制presentation.html它是在同一目录下寻找kitten.jpgpresentation.html。当我创建Rmd文档时,我将所有数字放在figures目录中,例如figures/kitten.jpg当我复制html文件时,我也复制figures目录。

我确定有更好的解决方案,但这对我很有用。

+0

我不知道什么虽然是选项'self_contained:'默认为true。即使我明确声明'self_contained:true',东西不会改变 – David

+0

'self_contained'似乎可以与CSS文件和JavaScript文件一起使用。 – csgillespie

+0

它也适用于包含在'img'-tags中的图像。 – David

2

一个变通似乎是使用{.slide: id="Sec1"}代替,然后添加背景,自定义CSS文件

#Sec1 { 
    background-image: url(kitten.jpg); 
} 
+0

然而,一个有前途的想法是你确定你的css代码?我没有看到任何背景图片。如果我将该行更改为'background-image:url(“kitten.jpg”);'我看到一个图像(尽管只在文本后面)。 – David

+0

忘记'url()';) –

+0

看起来更好,但是,背景图片只是在文本后面,并没有涵盖其余部分。 – David