在R markdown中生成下标

时间:2013-04-02 06:37:45

标签: r markdown knitr subscript r-markdown

我知道R markdown可以产生上标:

text^superscript

但是可以生成合适的下标吗?或者是欺骗和使用LaTeX数学模式的唯一方法:

$\sf{text_{subscript}}$

预期的最终输出是HTML。

4 个答案:

答案 0 :(得分:26)

由于您在评论中提到了Pandoc,因此依赖Pandoc对下标上标的扩展并不是作弊。从here开始,我们可以创建一个最小的示例Rmd文件:

Testing Subscript and Superscript
========================================================

This is an R Markdown document. 

Pandoc includes numerous extensions to markdown, and one 
of them is *subscript* and *superscript*.

Here's the example from the Pandoc help page 
(http://johnmacfarlane.net/pandoc/README.html#superscripts-and-subscripts): 
H~2~O is a liquid.  2^10^ is 1024.

For fun, here's an R code block with some code from @Spacedman:

```{r}
list.depth <- function(this, thisdepth = 0) {
# http://stackoverflow.com/a/13433689/1270695
  if(!is.list(this)) {
    return(thisdepth)
  } else {
    return(max(unlist(lapply(this, list.depth, thisdepth = thisdepth+1))))    
  }
}
```

使用Knitr会生成一个HTML文件,呈现如下:

enter image description here

这显然不起作用。但是您可以在生成的markdown文件(我将其命名为“Subscripts.md”)上运行pandoc:

pandoc -o Subscripts.html Subscripts.md -s -S

你会得到这个:

enter image description here

CSS不同,但也许您可以使用自定义CSS参数调用pandoc以使用Knitr使用的相同CSS。

PDF文件中的下标也可以按预期使用该降价文件:

pandoc -o Subscripts.pdf Subscripts.md

enter image description here


修改

如果您希望在使用RStudio编织时pandoc输出与输出的可视外观相匹配,请下载RStudio使用here的CSS文件,并在从pandoc创建HTML文件时引用该文件。 (以下假设您将名称保留为markdown.css,它与您的其他文件位于同一目录中。)

pandoc -o Subscripts.html Subscripts.md -s -S --css=markdown.css

答案 1 :(得分:14)

Markdown下标正常工作。

也许这是一篇旧帖子。我在Mac上使用RStudio版本0.99.902 + R版本3.4。

下标:H~2~O是液体 上标:2 ^ 10 ^是1024。

Same exemple

答案 2 :(得分:8)

我发现在RStudio中编织时,下标的X~j~语法在Rmarkdown中工作正常。但是,如果您在一个闪亮的应用程序中嵌入编织,它就不起作用。在我的应用中,

  knit2html("Steps.Rmd")
  browseURL("Steps.html")
除了下标之外,

工作正常。 但是,对于RStudio和来自闪亮应用程序的内容,vanilla HTML下标语法将适用于您的Rmd文档:X&lt; sub&gt; j&lt; / sub&gt;呈现为X j

答案 3 :(得分:1)

对于R版本4.0.2(2020-06-22),这对我有效:

Subscript H~2~O~
Superscript R^2^