2016-09-18 93 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