繁体   English   中英

使用RMarkdown和knitr时可以更改MSWord Normal样式而不影响R代码块输出

[英]Can I change MSWord Normal style when using RMarkdown and knitr without affecting R code chunk output

我正在尝试使用RMarkdown v2(见下文)编写文档,然后使用RStudio中的“Knit Word”(v 0.8.1091)(knitr v1.8)将其编织到MSWord。 我修改了通过编织创建的docx文档中的正常样式,使得具有正常样式的文本将是双倍间距的,并且段落的第一行将缩进。 我将此docx文件包含在YAML标头中的reference_docx中。 这种方法很好,除了R代码也是双倍间距的,第一行是缩进的(见下文)。 我曾经假设代码块是一种不同的风格,我可以改变,但我尚未确定这种风格是什么。

那么,如何在不更改R代码块样式的情况下更改生成的MSWord文件中的主文本?

我的RMarkdown文档看起来像这样......

---
title: "Chapter XX: XXXXX"
author: "Derek H. Ogle"
output:
  word_document:
    highlight: tango
    reference_docx: CSS.docx
---

R code can be shown in a box

```{r}
tmp <- rnorm(100)
summary(tmp)
```

R results can be included in a dynamic sentence, like this one that shows that the mean of the temporary data.frame is `r round(mean(tmp),2)` and the standard deviation is `r round(sd(tmp),2)`.

生成的Word文档看起来像这样...... 在此输入图像描述

预先感谢您的帮助。

在Word中打开CSS.docx,搜索名为SourceCode的样式。 然后编辑此样式以具有单行间距。

在此输入图像描述

您的模板文件应该是do t x扩展名而不是c x。 (确保将其另存为模板)

据我所知,您的示例文本由“第一段”定义,该样式基于“正文”,输出代码具有基于“正常”的称为“源代码”的自己的样式。

更改“正文”以便更改所有段落(而不仅仅是第一段)不应更改“源代码”。 但是“源代码”基于“正常”。 事实证明,“身体文本”依次是基于“正常”。 因此,如果您更改“正常”,则更改两者。 我怀疑它发生了什么。

来自示例文本的Sytle

对于代码输出,我们有以下依赖项

来自代码输出的Sytle

最后风格“正文”本身是基于普通的

正文的样式依赖

我建议从空白输出文档重新启动,以重新定义一个全新的模板,以确保没有任何搞砸。 我自己必须这样做(起初我无法复制问题,然后不知怎的,我改变了“正常”的风格,一个^ _ ^)...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM