在R Markdown中设置字幕格式以进行Word输出

ogsagwnx  于 2022-12-25  发布在  其他
关注(0)|答案(1)|浏览(135)

Word中默认的R Markdown标题显示为:

    • 图1:图标题 *
  • 表1:表标题

我想格式化我的标题,使图1/表1是粗体,标题是斜体的下一行。这是阿帕风格的标题:

图一

  • 图标题 *

我一直试图找出一个简单的方法来做到这一点,但似乎不能找到一个解决方案.(如果图标题可以在图上方,而不是下方,这也将是伟大的!).这里是一个最小的reprex:

---
title: "Untitled"
author: "Test"
date: "11/8/2020"
output:
  bookdown::word_document2: default
---

{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(tidyverse)
library(flextable)



{r table, tab.cap="Descriptives", echo=FALSE, message=FALSE, warning=FALSE}
psych::describe(cars) %>%
  as.data.frame() %>%
  flextable() %>%
  set_table_properties(layout = "autofit", width = 1)

{r fig, fig.cap="Pressure Figure", echo=FALSE, message=FALSE, warning=FALSE}
plot(pressure)
q0qdq0h2

q0qdq0h21#

对于表格,您可以使用officeedown、officer和flextable包,在reference_doxc中设置样式,并利用表格的“\n\n”。
在yaml的pre参数中,为每个表设置一个前缀,并在编号和标题之间设置一个分隔符。

---
title: "Untitled"
author: "Test"
date: "11/8/2020"
output:
  officedown::rdocx_document:
    tables:
      caption:
        pre: 'Table  '
        sep: ''
---

tab.cap.fp_text = officer::fp_text_lite()

您可以定义标题前缀的格式。在阿帕样式中,标题前缀将是粗体而不是斜体,最好在全局编织选项中配置,例如:

knitr::opts_chunk$set(tab.cap.fp_text = officer::fp_text_lite(italic = FALSE, bold = TRUE))

你再加上

"\n\n"

添加到表标题以生成新行

{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, tab.cap.fp_text = officer::fp_text_lite(italic = FALSE, bold = TRUE))
library(tidyverse)
library(flextable)

{r table, tab.cap="\n\nDescriptives", echo=FALSE, message=FALSE, warning=FALSE}
psych::describe(cars) %>%
as.data.frame() %>%
flextable() %>%
set_table_properties(layout = "autofit", width = 1)

最后一件事是创建一个reference_doxc,在其中向表格标题样式添加斜体,标题前缀不受影响,因为您可以使用knitr选项控制它。

相关问题