使用Rmarkdown(pagedown)并更改目录

时间:2019-10-12 01:11:55

标签: r r-markdown pagedown

您好,我正在尝试解决此问题,但我无路可走:

这是我的代码:

---
title: "A Multi-page HTML Document"
author: "Yihui Xie and Romain Lesur"
date: "`r Sys.Date()`"
output:
  pagedown::html_paged:
    toc: true
    toc_depth: 3
    # change to true for a self-contained document, but it'll be a litte slower for Pandoc to render
    self_contained: false
---

# Exercise 1{-}

<div style="width: 100%; height: 20px; border-bottom: 1px solid black; text-align: center">
  <span style="font-size: 40px; background-color: white; padding: 0 10px;">
    Exercicio 1 <!--Padding is optional-->
  </span>
</div>

我想保留目录结构。换句话说,我想单击“练习1”,然后将我带到练习一的页面。 但是我希望标题成为下面的此自定义标题(我想单击“练习1”,而仅在下面看到此练习1样式):

<div style="width: 100%; height: 20px; border-bottom: 1px solid black; text-align: center">
  <span style="font-size: 40px; background-color: white; padding: 0 10px;">
    Exercicio 1 <!--Padding is optional-->
  </span>
</div>

我知道吗?

例如,如果我这样做:

# {-}
<div style="width: 100%; height: 20px; border-bottom: 1px solid black; text-align: center">
  <span style="font-size: 40px; background-color: white; padding: 0 10px;">
    Exercicio 1 <!--Padding is optional-->
  </span>
</div>

我的TOC中的“练习1”一词消失了。

非常感谢您的帮助

劳拉

1 个答案:

答案 0 :(得分:3)

目录由Pandoc自动构建:其条目严格对应于节标题。这就是为什么在上一个示例(带有# {-}的示例)中,单词“练习1”在目录中消失的原因。

有很多方法可以实现您的目标。在您的示例中,最直接的示例可能是使用CSS。

请记住,此降价行

# Exercise 1{-}

通向此HTML代码段

<div id="exercise-1" class="section level1 unnumbered">
  <h1>Exercise 1</h1>
  ...
</div>

您可以使用以下CSS声明隐藏h1内容:

h1 {
  display: none;
}

对于如此小的CSS,您可以在knitr文件中使用Rmd CSS引擎:

---
title: "A Multi-page HTML Document"
author: "Yihui Xie and Romain Lesur"
date: "`r Sys.Date()`"
output:
  pagedown::html_paged:
    toc: true
    toc_depth: 3
    # change to true for a self-contained document, but it'll be a litte slower for Pandoc to render
    self_contained: false
---

```{css, echo=FALSE}
h1 {
  display: none;
}
```

# Exercise 1{-}

<div style="width: 100%; height: 20px; border-bottom: 1px solid black; text-align: center">
  <span style="font-size: 40px; background-color: white; padding: 0 10px;">
    Exercicio 1 <!--Padding is optional-->
  </span>
</div>