在 R markdown 中生成下标

Posted

技术标签:

【中文标题】在 R markdown 中生成下标【英文标题】:Producing subscripts in R markdown 【发布时间】:2013-03-23 08:50:52 【问题描述】:

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

text^superscript

但是有可能产生正确的下标吗?或者是作弊和使用LaTeX数学模式的唯一方法:

$\sftext_subscript$

预期的最终输出是 html

【问题讨论】:

我不这么认为——markdown 包(R markdown 使用)启用了“上标”降价扩展,但我不记得有“下标”。由于预期的输出是 HTML,您可以直接嵌入 HTML (text<sub>superscript</sub>),但这对于降价文档来说并不理想。 Markdown 中肯定存在下标扩展,但我不确定 R markdown 包如何加载它们(即如何添加现有扩展)。 @mathematical.coffee 这次是针对 HTML 文档,所以 <sub> 标签可以正常工作,但有时我使用 pandoc 将 markdown 文档转换为多种不同的文件类型。 text~subscript~text^superscript^ 在 H~2~O 中是液体。 2^10^ 是 1024。 @swihart 这基本上是下面罗杰的回答 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

R Markdown 下标正常工作。

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

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

【讨论】:

是的,你可以看到它是在 2013 年被问到的(在 RStudio 时代是史前的)。有更新就好了。 我认为这应该被标记为接受的答案。模糊相关:如果您尝试在 R Studio 中使用 papaja 生成子标和上标,则必须在字符串末尾添加一个额外的符号。 IE。 H~2~R^2^. 2020 更新:这个答案对我有用。要获取下标,请使用 H~2~【参考方案3】:

我发现在 RStudio 中编织时,下标的 X~j~ 语法在 Rmarkdown 中运行良好。但是,如果您将编织嵌入到闪亮的应用程序中,它就不起作用。在我的应用中,

  knit2html("Steps.Rmd")
  browseURL("Steps.html")

工作正常,除了下标。 但是普通的 HTML 下标语法将在您的 Rmd 文档中适用于 RStudio 和闪亮的应用程序:Xj 呈现为 Xj

【讨论】:

【参考方案4】:

既然你在你的 cmets 中提到了 Pandoc,也许依赖 Pandoc 的 subscriptsuperscript 扩展并不是作弊。从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://***.com/a/13433689/1270695
  if(!is.list(this)) 
    return(thisdepth)
   else 
    return(max(unlist(lapply(this, list.depth, thisdepth = thisdepth+1))))    
  

```

使用 Knitr 生成的 HTML 文件呈现如下:

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

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

你会得到这个:

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

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

pandoc -o Subscripts.pdf Subscripts.md


编辑

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

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

【讨论】:

以上是关于在 R markdown 中生成下标的主要内容,如果未能解决你的问题,请参考以下文章

vscode编辑器markdow文档导出为pdf

markdown 在树枝中生成链接

Markdow的使用

R markdown 人物图例被截断

javascript 使用标记文件从markdown文件夹中生成博客文章

如何在 R 中生成 GUID?