Pandoc
Pandoc là một công cụ chuyển đổi tài liệu. Nó có thể chuyển đổi từ một số định dạng đánh dấu khác nhau sang nhiều định dạng khác, chẳng hạn như .doc
, .pdf
v.v.
Pandoc là một công cụ dòng lệnh không có GUI. Nó là một phần mềm độc lập, tách biệt với R. Tuy nhiên, nó đi kèm với R Studio vì rmarkdown
dựa vào nó để chuyển đổi tài liệu.
Pandoc không chỉ chuyển đổi tài liệu, mà còn bổ sung thêm chức năng trên ngôn ngữ đánh dấu cơ sở để cho phép nó hỗ trợ các đầu ra phức tạp hơn.
R Markdown
R Markdown dựa trên markdown:
Markdown (ngôn ngữ đánh dấu)
Markdown là một ngôn ngữ đánh dấu nhẹ với cú pháp định dạng văn bản thuần túy được thiết kế để có thể chuyển đổi sang HTML và nhiều định dạng khác. Tệp đánh dấu là tệp văn bản thuần thường có phần mở rộng .md
.
Giống như các ngôn ngữ đánh dấu khác như HTML và Latex, nó hoàn toàn độc lập với R.
Không có tiêu chuẩn Markdown được xác định rõ ràng. Điều này đã dẫn đến sự phân mảnh khi các nhà cung cấp khác nhau viết các biến thể ngôn ngữ của riêng họ để sửa các lỗi hoặc thêm các tính năng còn thiếu.
Markdown (gói R)
markdown
là một gói R chuyển đổi .Rmd
các tệp thành HTML. Nó là người tiền nhiệm của rmarkdown
, cung cấp nhiều chức năng hơn. Nó không còn được khuyến khích sử dụng.
R Markdown (ngôn ngữ đánh dấu)
R Markdown là một phần mở rộng của cú pháp đánh dấu. R Tệp đánh dấu là tệp văn bản thuần túy thường có phần mở rộng tệp .Rmd
. Chúng được viết bằng cách sử dụng một phần mở rộng của cú pháp đánh dấu cho phép nhúng mã R vào chúng theo cách mà sau này có thể được thực thi.
Vì chúng dự kiến sẽ được rmarkdown
gói xử lý , nên có thể sử dụng cú pháp đánh dấu Pandoc như một phần của tệp đánh dấu R. Đây là một phần mở rộng cho cú pháp đánh dấu ban đầu cung cấp chức năng bổ sung như HTML thô / Latex và các bảng.
R Markdown (gói)
Gói R rmarkdown
là một thư viện xử lý và chuyển đổi .Rmd
các tệp thành một số định dạng khác nhau.
Các chức năng cốt lõi là rmarkdown::render
mà đứng trên vai của pandoc . Hàm này 'kết xuất tệp đầu vào thành định dạng đầu ra được chỉ định bằng cách sử dụng pandoc. Nếu đầu vào yêu cầu đan thì knitr::knit
được gọi trước pandoc.
Mục đích của gói RMarkdown chỉ đơn giản là cung cấp giá trị mặc định hợp lý và giao diện thân thiện với R để tùy chỉnh các tùy chọn Pandoc. .
Siêu dữ liệu YAML được nhìn thấy ở đầu các tệp RMarkdown cụ thể là để chuyển các tùy chọn đến rmarkdown::render
, hướng dẫn quy trình xây dựng.
Lưu ý rằng RMarkdown chỉ xử lý cú pháp đánh dấu. Nếu bạn muốn chuyển đổi một .Rhtml
hoặc một .Rnw
tệp, bạn nên sử dụng các chức năng tiện lợi được tích hợp sẵn Knitr
, chẳng hạn như knitr::knit2html
vàknitr:knit2pdf
Knitr
Knitr lấy một tài liệu văn bản thuần túy với mã nhúng, thực thi mã và 'đan' kết quả trở lại tài liệu.
Ví dụ, nó chuyển đổi
Chức năng cốt lõi là knitr::knit
và theo mặc định, chức năng này sẽ xem xét tài liệu đầu vào và thử đoán xem nó là loại gì - Rnw, Rmd, v.v.
Chức năng cốt lõi này thực hiện ba vai trò: - Bộ phân tích cú pháp nguồn, xem xét tài liệu đầu vào và phát hiện phần nào là mã mà người dùng muốn được đánh giá. - Trình đánh giá mã, đánh giá mã này - Trình kết xuất đầu ra, ghi kết quả đánh giá trở lại tài liệu ở định dạng có thể hiểu được theo kiểu đầu ra thô. Ví dụ, nếu tệp đầu vào là một .Rmd
, kết xuất đầu ra sẽ đánh dấu kết quả đánh giá mã theo .md
định dạng.
Chuyển đổi giữa các định dạng tài liệu
Knitr không chuyển đổi giữa các định dạng tài liệu - chẳng hạn như chuyển đổi a .md
thành a .html
. Tuy nhiên, nó cung cấp một số chức năng tiện lợi để giúp bạn sử dụng các thư viện khác để thực hiện việc này. Nếu bạn đang sử dụng rmarkdown
gói, bạn nên bỏ qua chức năng này vì nó đã được cấp trên rmarkdown::render
.
Một ví dụ là knitr:knit2pdf
sẽ: 'Đan tài liệu Rnw hoặc Rrst đầu vào và biên dịch sang PDF bằng texi2pdf hoặc rst2pdf'.
Một nguồn gây nhầm lẫn tiềm ẩn là knitr::knit2html
, "là một hàm tiện lợi để đan nguồn đánh dấu đầu vào và gọi markdown::markdownToHTML
chuyển đổi kết quả sang HTML." Đây bây giờ là chức năng kế thừa vì markdown
gói đã được thay thế bởi rmarkdown
gói. Xem ghi chú này .
Đặt trước
Gói bookdown được xây dựng trên R Markdown và kế thừa sự đơn giản của cú pháp Markdown, cũng như khả năng có nhiều loại định dạng đầu ra (PDF / HTML / Word /…).
Nó cung cấp các tính năng như đầu ra HTML nhiều trang, đánh số và tham chiếu chéo các số liệu / bảng / phần / phương trình, chèn các phần / phụ lục và nhập kiểu GitBook ( https://www.gitbook.com ) để tạo HTML thanh lịch và hấp dẫn các trang sách.