【问题标题】:Numbered Code Chunks in RMarkdownRMarkdown 中的编号代码块
【发布时间】:2018-02-21 19:45:17
【问题描述】:

我是否可以提供一个选项来编码RMarkdown 中的块,以便将cell number 附加到HTML 输出。就像Jupyter 有手机号码一样。

我看到了一些行号示例,这不是我想要的。

当我通过电话与某人讨论RMarkdown HTML 文件时,使用手机号码很有帮助。我可以请他/她看23号牢房。我有很多 R 代码,所以提供部分标题虽然可能,但很乏味。

【问题讨论】:

  • 据我所知,Jupyter 按执行顺序对单元进行编号,并且仅对代码单元执行此操作。因此,如果两个人尝试运行同一个笔记本,他们的单元# 不一定会同意。在 RMarkdown 中,您可以为单元格命名,但听起来您已经知道这一点。这不能解决您的问题吗?
  • 嗨,我可以命名单元格,但是我有太多的单元格,这变得乏味(是的,在这里很懒惰)。我希望 Rmarkdown 可以自动为单元格编号。我们都在查看呈现的 html,而不是执行它。因此,重新运行和生成不同的单元格编号不会是这里的问题

标签: r r-markdown


【解决方案1】:

这是一个仅使用 CSS 的解决方案。它依赖于CSS counters:每个新的R 块都会增加计数器(命名为counter-rchunks)。

您可以编织以下最小的Rmd 文件并获得以下结果:

---
title: "Counter for chunks"
author: "Romain Lesur"
output: html_document
---

```{css, echo=FALSE}
body {
  counter-reset: counter-rchunks;
}

div.main-container {
  padding-left: 5em;
}

pre.r {
  counter-increment: counter-rchunks;
  position: relative;
  overflow: visible;
}

pre.r::before {
  content: 'In [' counter(counter-rchunks) ']: ';
  display: inline-block;
  position: absolute;
  left: -5em;
  color: rgb(48, 63, 159);
}
```

```{r cars}
summary(cars)
```

```{r head-cars}
head(cars)
```

您可能需要根据您的 HTML 模板调整此解决方案。
您还可以将这些CSS 规则插入到.css 文件中,并将其包含在您的html_document 中。

【讨论】:

  • 我将在其中添加一些 JavaScript,以便“in...”成为 href 锚
猜你喜欢
  • 1970-01-01
  • 2020-10-10
  • 2017-12-08
  • 2017-07-07
  • 1970-01-01
  • 2018-12-10
  • 1970-01-01
  • 2019-12-10
  • 1970-01-01
相关资源
最近更新 更多