在RMarkdown Word输出

时间:2017-07-11 10:38:59

标签: r ms-word knitr r-markdown

我最近问过

Changing the font size of figure captions in RMarkdown HTML output

我得到a very nice answer使用这个CSS方法。我想尝试相同的,但这次使用Word输出。如果你不想阅读我以前的问题,我在这里总结一下这个问题:我想让我的R Markdown文档中所有数字字幕的字体大小变小。最后的输出是Word,这次,我在R Studio工作。要加载图片,我使用include_graphics中的knitr函数,因为我被告知这是最好的方法(请参阅here)。我的.Rmd文件是:

---
title: "ppp"
author: "ppp"
date: "`r Sys.Date()`"
output: 
  word_document: 
    fig_caption: yes
  html_document: 
    fig_caption: yes
---

<style>
p.caption {
  font-size: 0.8em;
}
</style>


```{r setup, include=FALSE}
library(knitr)
opts_chunk$set(echo = FALSE)
```


```{r foo, fig.cap="$f_{p}$ as a function of $g$ for various values of $r=\\frac{\\rho_{w}}{\\rho_{a}}$"}
# All defaults
include_graphics("download.jpg")
```

This is regular text.

相应的输出是:

enter image description here

显然,这个CSS方法不起作用(我猜这是与HTML相关的东西,因此它不会在Word中呈现)。在Word中我可以手动更改每个标题的字体大小,但我宁愿设置一些全局R Markdown参数。这可能吗?

1 个答案:

答案 0 :(得分:3)

几乎和HTML一样简单。以下内容适用于使用LibreOffice的工作流程。但在Word中它应该几乎相同:

  1. 制作docx输出文件。

  2. 在LibreOffice(或Word或Pages,...)中打开它

  3. 在LibreOffice中,右键单击标题并选择编辑样式(在Word中,您可以使用 Ctrl + Shift + Alt + S 打开样式窗格)

  4. enter image description here

    1. 在弹出的菜单中,您可以修改图像标题
    2. 的样式

      enter image description here

      1. 完成样式编辑后,单击应用,然后将文件另存为名为 template.docx 的docx
      2. 最后,在Rmd文档的YAML标题中添加样式引用,如

        title: "ppp"
        author: "ppp"
        date: "July 4, 2017"
        output: 
          word_document:
            reference_docx: template.docx
            fig_caption: yes
        

        根据您更改参考文档中的样式,字幕现在应该更小。