R markdown定义用于格式化的宏

时间:2018-05-04 07:28:49

标签: r latex markdown r-markdown

我一直想知道是否有一种方法可以在markdown(或更专门的R降价)中定义一个命令,这样你就不必每次都插入html格式对于频繁的比特。

例如,我一直在使用'警报提示信息' css类要插入'注意'整个文件中的块如此:

<div class="alert alert-info">
  <strong>Note :</strong><br/>
  stuff here
</div>

因为速度越快越好:)我可以自动化吗? (我已尝试使用乳胶中的$\newcommand{}$来执行此操作,但整个html代码只是在页面上以数学模式打印...)

修改:

我有时会在笔记中添加代码块,所以如果它也能很好的话,它会很好。

不必逃避&#39; \&#39;对于LaTeX来说会很好(虽然如果一个新命令要快得多,那么付出相当小的代价)。

1 个答案:

答案 0 :(得分:2)

使用htmltool包,我们可以构建一个简单的函数来重复注释,前​​提是您可以编写脚本:

library(htmltools)

alert_note <- function(text) {

  div(class="alert alert-info",
      strong('Note :'), br(),
      text)
}


alert_note('stuff here')
<div class="alert alert-info">
  <strong>Note :</strong>
  <br/>
  stuff here
</div>

要在.Rmd文档中使用它,您可以在某个地方定义功能 - 可能在设置块中 - 并在 not echoed 块中使用它

---
title: "Untitled"
date: "5/4/2018"
output: html_document
---

```{r setup, include=FALSE}    
library(htmltools)

strong_alert <- function(text) { 
  div(class="alert alert-info",
      strong('Note :'), br(),
      text)
}
```
## R Markdown    
This is an R Markdown document.

```{r echo=FALSE}
strong_alert('stuff here')
```

enter image description here