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

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

text^superscript

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

$\sf{text_{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 这基本上是下面罗杰的回答

标签: r markdown knitr subscript r-markdown


【解决方案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://stackoverflow.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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-03-10
        • 1970-01-01
        • 2019-06-24
        • 2021-08-10
        • 2015-11-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多