R Markdown를 PDF로 변환하는 방법?
이전에 R Markdown을 HTML로 변환 하는 명령에 대해 문의했습니다 .
R Markdown 파일을 PDF 문서로 변환하는 좋은 방법은 무엇입니까?
좋은 해결책은 가능한 많은 내용 (예 : 이미지, 방정식, html 테이블 등)을 보존합니다. 솔루션은 명령 줄에서 실행할 수 있어야합니다. 좋은 솔루션은 플랫폼 간이며, 파일을보다 쉽게 공유 할 수 있도록 종속성을 최소화하는 것이 이상적입니다.
특히 많은 옵션이 있습니다.
- RMD를 MD로 HTML을 PDF로 변환할지 여부; 또는 RMD에서 MD로 PDF로; 또는 RMD에서 PDF로
markdown
R 에서 패키지를 사용하는 경우 지정할 옵션- 사용 여부
pandoc
, R에 내장 된 패키지 또는 다른 것
다음 은 제안 된 솔루션에 대한 합리적인 테스트를 제공하는 rmd 파일 의 예 입니다. 이 블로그 게시물 의 기초로 사용되었습니다 .
업데이트 된 답변 (2013 년 2 월 10 일)
rmarkdown package : Pandoc 과 인터페이스 하는 rmarkdown
패키지가 github 에 있습니다. render
기능 이 포함되어 있습니다. 이 설명서를 통해 다양한 형식 중에서 rmarkdown을 pdf로 변환하는 방법을 매우 명확하게 알 수 있습니다. 여기에는 rmarkdown 파일에 출력 형식을 포함 시키거나 rend 함수에 출력 형식을 제공하는 것이 포함됩니다. 예 :
render("input.Rmd", "pdf_document")
명령 줄 : 명령 줄render
에서 실행하면 (예 : makefile 사용) 가끔 pandoc을 찾을 수없는 문제가 있습니다. 아마도 검색 경로에없는 것 같습니다. 다음 답변 은 R 환경에 pandoc을 추가하는 방법을 설명 합니다 .
예를 들어, OSX를 실행하는 컴퓨터에서 RStudio를 통해 pandoc의 사본이있는 경우 다음을 사용할 수 있습니다.
Rscript -e "Sys.setenv(RSTUDIO_PANDOC='/Applications/RStudio.app/Contents/MacOS/pandoc');library(rmarkdown); library(utils); render('input.Rmd', 'pdf_document')"
기존 답변 (2012 년경)
그래서 많은 사람들이 Pandoc이 갈 길이라고 제안했습니다. 최신 버전의 Pandoc을 사용해야하는 중요성에 대해서는 아래 참고 사항을 참조하십시오.
Pandoc 사용
다음 명령을 사용하여 R Markdown을 HTML (예 : 이 makefile의 변형 )로 변환했습니다. 여기서 구성 요소가 RMDFILE
없는 R Markdown 파일의 이름입니다 .rmd
(확장자가 .rmd
아닌 것으로 가정 .Rmd
).
RMDFILE=example-r-markdown
Rscript -e "require(knitr); require(markdown); knit('$RMDFILE.rmd', '$RMDFILE.md'); markdownToHTML('$RMDFILE.md', '$RMDFILE.html', options=c('use_xhml'))"
그런 다음 pdf로 변환하는이 명령
Pandoc -s example-r-markdown.html -o example-r-markdown.pdf
이것에 대한 몇 가지 참고 사항 :
- 예제 파일에서 플롯을 호스트 이미지로 이미지로 내보내는 참조를 제거했습니다.
- imgur에서 호스팅 된 이미지에 대한 참조를 제거했습니다. 수치는 로컬이어야합니다.
- 이
markdownToHTML
기능 의 옵션은 이미지 참조가 HTML 파일에 저장된 데이터가 아니라 파일에 대한 것임을 의미했습니다 (즉,'base64_images'
옵션 목록에서 제거됨 ). - 결과 출력은 다음과 같습니다 . 브라우저에서 HTML 파일을 pdf로 인쇄하면 얻을 수있는 것과 대조적으로 LaTeX 스타일의 문서를 분명히 만들었습니다.
Pandoc의 최신 버전 얻기
@daroczig에서 언급했듯이 pdf를 출력하려면 Pandoc의 최신 버전이 있어야합니다. 우분투에 2012년 6월 15 일, 나는이 패키지 관리자에서 Pandoc 버전 1.8.1 붙어했지만,에서 보인다 변경 로그 PDF 지원을 위해 당신이 Pandoc의 최소 버전 1.9+에서 필요.
따라서 설치했습니다 caball-install
. 그런 다음 실행했습니다.
cabal update
cabal install pandoc
Pandoc가 설치되었으므로 ~/.cabal/bin/pandoc
실행했을 때 pandoc
여전히 이전 버전이 표시되었습니다. 경로 에 추가하려면 여기를 참조하십시오 .
훌륭한 소프트웨어 가이 작업을 위해 설계되고 구축 된 pandoc 이 정말로 필요하다고 생각합니다.) pdf 외에도 md 파일을 docx 또는 odt 등으로 변환 할 수 있습니다.
글쎄, Pandoc의 최신 버전을 설치하는 것은 리눅스 에서 찰랑 스러울 수 있지만 ( haskell-platform
소스에서 빌드 하려면 전체 버전 이 필요하기 때문에 ) Windows / Mac에서는 몇 메가 바이트 만 다운로드하면 정말 쉽습니다.
당신은 양조 / 니트 인하 파일이있는 경우 당신은 그냥 호출 할 수 있습니다 pandoc
예를 들어, bash는 나에 system
에서 구현되는 후자의 R. POC 데모 내에서 기능 Ṗandoc.convert
내 작은 패키지의 기능 ( 당신은 정말 내가 시도로 지루해야하는 모든 기회에주의를 기울이십시오 ).
지금 (2014 년 8 월) R Markdown을 PDF로 변환 하기 위해 RStudio 를 사용할 수 있습니다 . 기본적으로 RStudio는 pandoc 을 사용 하여 Rmd를 PDF로 변환합니다.
메타 데이터를 다음과 같이 변경할 수 있습니다.
- 목차 추가
- 그림 옵션 변경
- 구문 강조 스타일 변경
- LaTeX 옵션 추가
- 그리고 더 많은...
자세한 내용은 http://rmarkdown.rstudio.com/pdf_document_format.html
For an option that looks more like what you get when you print from a browser, wkhtmltopdf
provides one option.
On Ubuntu
sudo apt-get install wkhtmltopdf
And then the same command as for the pandoc example to get to the HTML:
RMDFILE=example-r-markdown
Rscript -e "require(knitr); require(markdown); knit('$RMDFILE.rmd', '$RMDFILE.md'); markdownToHTML('$RMDFILE.md', '$RMDFILE.html', options=c('use_xhml'))"
and then
wkhtmltopdf example-r-markdown.html example-r-markdown.pdf
The resulting file looked like this. It did not seem to handle the MathJax (this issue is discussed here), and the page breaks are ugly. However, in some cases, such a style might be preferred over a more LaTeX style presentation.
Only two steps:
Install the latest release "pandoc" from here:
Call the function
pandoc
in thelibrary(knitr)
library(knitr) pandoc('input.md', format = 'latex')
Thus, you can convert your "input.md" into "input.pdf".
I found using R studio the easiest way, but if wanting to control from the command line, then a simple R script can do the trick using rmarkdown render command (as mentioned above). Full script details here
#!/usr/bin/env R
# Render R markdown to PDF.
# Invoke with:
# > R -q -f make.R --args my_report.Rmd
# load packages
require(rmarkdown)
# require a parameter naming file to render
if (length(args) == 0) {
stop("Error: missing file operand", call. = TRUE)
} else {
# read report to render from command line
for (rmd in commandArgs(trailingOnly = TRUE)) {
# render Rmd to PDF
if ( grepl("\\.Rmd$", rmd) && file.exists(rmd)) {
render(rmd, pdf_document())
} else {
print(paste("Ignoring: ", rmd))
}
}
}
If you don't want to install anything you can output html. Then open the html file - it should open in a browser window, then right click to print. In the print window, select "save as pdf" in the bottom right hand corner if you're on a Mac. Voila!
Follow these simple steps :
1: In the Rmarkdown script run Knit(Ctrl+Shift+K) 2: Then after the html markdown is opened click Open in Browser(top left side) and the html is opened in your web browser 3: Then use Ctrl+P and save as PDF .
참고URL : https://stackoverflow.com/questions/11025123/how-to-convert-r-markdown-to-pdf
'IT story' 카테고리의 다른 글
Double의 "=="연산자 정의 (0) | 2020.07.08 |
---|---|
메모장 ++ 용 16 진수 뷰어 / 편집기 플러그인? (0) | 2020.07.08 |
사지 마비 프로그래머를위한 최고의 프로그래밍 보조 (0) | 2020.07.08 |
사용자 비밀번호 솔트의 최적 길이는 얼마입니까? (0) | 2020.07.08 |
Atom 텍스트 편집기에서 클래스 / 메소드 정의로 어떻게 이동할 수 있습니까? (0) | 2020.07.08 |