2016-10-24 14 views
10

Tôi đang cố gắng tạo một số mẫu đoạn mã cho tài liệu knitr::spin trong R Studio và tôi cần chúng bao gồm các dấu gạch chéo chữ để tài liệu kết quả chứa R snippet:Làm cách nào để tạo ra một số đoạn mã trong knitr :: spin

Ví dụ về kết quả mong muốn:

#' --- 
#' author: 'ENTER' 
#' title: 'ENTER' 
#' date: '`r Sys.time()`' 
#' output: 
#' html_document 
#' --- 

Tuy nhiên, tôi không thể tìm ra cách tạo ra các dấu gạch chéo ngược. Điều này:

`r paste("#' date: '`Sys.time()`')` 

sẽ không hoạt động khi dấu tick làm gián đoạn lệnh dán khi hiển thị từ đoạn mã R Studio tới mã R. Tôi đã cố gắng để băm ra dấu đánh dấu, thêm tới lui slashes vv, nhưng đã không tìm thấy một giải pháp mà làm cho dòng này một cách chính xác để:

#' date: '`r Sys.time()`' 

Windows 7 Enterprise, 64 cắn Hệ điều hành
R Version: 3.2.5
R Studio Version: 0.99.903
knitr Version: 1,14


Ví dụ: tôi cố gắng này, nhưng nó vẫn dịch mã R thay vì chỉ in văn bản:

snippet spin.header 
`r paste("#' ---")` 
`r paste("#' author: 'ENTER'")` 
`r paste("#' title: 'ENTER'")` 
`r paste("#' date: '<code>``` `r Sys.time()` ```</code>'")` 
`r paste("#' output:")` 
`r paste("#' html_document")` 
`r paste("#' ---")` 
+0

Chú ý: Đây không phải là một vấn đề YAML ! Đầu ra YAML chính xác được hiển thị trong hộp mã thứ ba. Vấn đề là rendering R Studio Snippet để hiển thị mã YAML chính xác! -> đó là sự cố với đoạn mã R Studio! –

+0

Mã hộp số 3 hoạt động chính xác, nhưng vấn đề là đối với đoạn mã R Studio để tạo dòng 4 trong hộp số 3! –

+0

Nó liên quan nhiều hơn đến vấn đề này, nhưng với một mức độ phức tạp hơn http://stackoverflow.com/questions/20409172/how-to-display-verbatim-inline-r-code-with-backticks-using-rmarkdown –

Trả lời

1

Câu trả lời đúng đã được đăng bởi rawr trong các ý kiến ​​(ông chỉ bỏ lỡ r và một dấu tick):

snippet spin.header 
`r paste("#' ---")` 
`r paste("#' author: 'ENTER'")` 
`r paste("#' title: 'ENTER'")` 
`r paste("#\' date: '\x60r Sys.time()\x60'")` 
`r paste("#' output:")` 
`r paste("#' html_document")` 
`r paste("#' ---")` 
0

Một lựa chọn là để phá vỡ các thẻ sử dụng trong chế biến đoạn cho R. inline

snippet sh 
    #' --- 
    #' author: '${1:AUTHOR}' 
    #' title: '${2:TITLE}' 
    #' date: '`${3:}r Sys.time()`' 
    #' output: 
    #' html_document 
    #' --- 
    ${0} 

lựa chọn khác là để tránh sự phân tích cú pháp nội dòng R hoàn toàn.

snippet sh 
    `r paste0(readLines("~/.R/snippets/spinheader.txt"),collapse = '\n')` 

spinheader.txt

#' --- 
#' author: '${1:AUTHOR}' 
#' title: '${2:TITLE}' 
#' date: '`r Sys.time()`' 
#' output: 
#' html_document 
#' --- 
${0} 
Các vấn đề liên quan