2017-06-21 79 views
3

我可以使用knitr編寫一個YAML頭文件來爲R Markdown文件生成多種輸出格式嗎?我無法複製the original question with this title答案中描述的功能。在knitr中指定多個同時輸出格式(新)

此降價文件:

--- 
title: "Multiple output formats" 
output: 
    pdf_document: default 
    html_document: 
     keep_md: yes 
--- 

# This document should be rendered as an html file and as a pdf file 

生成一個PDF文件,但沒有HTML文件。

並且此文件:

--- 
title: "Multiple output formats" 
output: 
    html_document: 
    keep_md: yes 
    pdf_document: default 
--- 

# This document should be rendered as an html file and as a pdf file 

產生一個HTML文件(和MD文件),但沒有PDF文件。

後面這個例子是original question的解決方案。我已經嘗試使用Shift-Ctrl-K和RStudio中的編織按鈕進行編織,並且調用rmarkdown::render,但只創建單一輸出格式,而不管用於生成輸出文件的方法如何。

可能有關,但我不能確定解決方案:

基於R版本3.3.1(2016年6月21日),knitr 1.14,Rmarkdown 1.3

+0

標題中的「(新)」是指哪裏?在'Windows NT'中是否是'knitr'的特殊版本,就像'NT'一樣 – Anthon

+0

@Alnthon括號中的「new」是指這個問題與先前提出的問題(和回答)具有相同的標題。 – Jeff

回答

4

其實我簡要地提到Render all vignette formats #1051和你錯過了:

rmarkdown::render('your.Rmd', output_format = 'all') 

它是在幫助文檔頁面?rmarkdown::render

+0

我可以證實這一點,雖然所需的格式仍然需要在YAML標題中。如果我只包含'output:html_document'或完全跳過'output'規範,它只會生成一個HTML文檔。我期待knitr使用YAML頭文件中的所有信息,而不需要額外的說明。不要試圖改變'rmarkdown :: render'默認參數(不知道這是否可能?),這聽起來像這個解決方案需要明確使用'rmarkdown :: render',這意味着Shift-Ctrl-K快捷方式仍然只會產生一種輸出格式,對嗎? – Jeff

+1

對。你不能按Ctrl + Shift + K. –