覆盖rmarkdown主题以更改html页面宽度

Yon*_*lem 9 css r r-markdown

我正在尝试将rmarkdown的输出扩展为html.我一直在尝试这个解决方案没有成功(虽然我正在使用天蓝色的主题,根据评论应该是响应).也尝试添加一个css元素描述这里 -没有影响.

我怎样才能做到这一点?

小智 18

上面的答案不起作用,所以我花了很多时间来解决这个问题。似乎您不能再将原始 CSS 转储到 rmarkdown 文档中并正确包含它。

这个解决方案对我有用。请注意,我必须修改主体和主容器的最大宽度,这在 yaml 标头之后作为一个块放置。

    ```{css, echo=FALSE}
    body .main-container {
      max-width: 1280px !important;
      width: 1280px !important;
    }
    body {
      max-width: 1280px !important;
    }
    ```
Run Code Online (Sandbox Code Playgroud)

以下是如何正确集成 css 的参考:https : //bookdown.org/yihui/rmarkdown/language-engines.html#javascript-and-css

我找不到需要修改的各种属性的任何参考,我从 Chrome 开发人员控制台中找出了所有内容。

  • 天哪——超级有帮助。就在我的 YAML 下,在降价之前,让我修改 .main-container (在我的例子中,我希望开始时的边距要少得多)。基本说明似乎是使用 YAML 选项来包含 css 文件,但由于主题 css 添加在 :-/ 之后,因此该选项被覆盖。内联 <style> 块也在同一个地方 - 我一直在为普通 RMarkdown 所做的事情 - 不起作用。这是今天的工作。 (3认同)

Mar*_*zer 13

将这些样式定义直接添加到RMarkdown文档中:

<style>
  .main-container {
    max-width: 1200px !important;
  }
</style>
Run Code Online (Sandbox Code Playgroud)

或者,您可以styles.css通过在YAML标头中设置相应的选项将样式定义放在您链接到的外部文件中,如下所述:

 ---
 output:
   html_document:
     css: styles.css
 ---
Run Code Online (Sandbox Code Playgroud)

这两个选项对我有用.

  • 这对我有用,但如果我使用浮动 TOC 就不行:( (3认同)