微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Rmarkdown 到 docx 小于表标题中的符号

如何解决Rmarkdown 到 docx 小于表标题中的符号

我想在转换为 docx 文档的 Rmarkdown 的表格标题中使用 < 符号。我正在使用 flextable 包,因为这为 docx 格式的表格提供了很多(所需的)灵活性。

但我对通过 pandoc 进行的多个转换步骤感到非常困惑。获得 < 似乎并不容易,因为它是一个特殊的编码 HTML 字符。我在 HTML 中读到过,您可以通过 &lt; 将其转义。这给我带来了 & 也必须转义的问题。然后转换将 &lt; 转换为 &amp;lt;(因为它将 & 转换为 &amp;)并且 \\&lt; 将产生我 &amp;amp;lt;(因为它转换&&amp; 再次)。 Latex 似乎也不起作用,我试过 <$<$$\\textless$ 但都无济于事。

所有组合基本上都遵循相同的逻辑,即 < 正确转换为 &lt;,但 HTML 不会再次转换。

知道如何解决这个问题吗?我想念什么?

示例 RMD 文件

---
title: "Untitled"
author: "Unkown"
date: "1/25/2021"
output: bookdown::word_document2
---

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

## R Markdown

This is an R Markdown document,see Table \@ref(tab:test).


```{r test,echo = F}
flextable(head(cars,n = 10)) %>% 
  bold(part = "header") %>%
  autofit() %>% 
  set_caption("Table: (\\#tab:test) Example caption with less-than symbol: \\&lt; or &lt; or < or $<$ or $\\textless$")
```

解决方法

这应该能回答标题中关于 <> 的问题


---
title: "Untitled"
output: bookdown::word_document2
---

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

## R Markdown

This is an R Markdown document,see Table \@ref(tab:test).


```{r test,echo = F,tab.id="test"}
flextable(head(cars,n = 10)) %>% 
  bold(part = "header") %>%
  autofit() %>% 
  set_caption("Example caption with less-than symbol: > and <")
```

您可以使用 officedown 软件包。它将参考作为真正的 Word 参考,它还提供一些功能来自定义您的标题:

---
output:
  bookdown::markdown_document2:
    base_format: officedown::rdocx_document
---

```{r setup,include=FALSE}
knitr::opts_chunk$set(echo = FALSE,tab.cap.style="Table Caption")
library(flextable)
library(tidyverse)
```


```{r test1}
flextable(head(cars,n = 10)) %>% 
  bold(part = "header") %>%
  autofit() %>% 
  set_caption("Example caption with less-than symbol: > and <")
```


```{r "test2",tab.cap="Example caption with less-than symbol: > & <"}
flextable(head(cars,n = 10)) %>% 
  bold(part = "header") %>%
  autofit()
```



\newpage 

See \@ref(tab:test1).

See \@ref(tab:test2).

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。