【发布时间】:2021-01-25 19:47:35
【问题描述】:
我想在转换为 docx 文档的 Rmarkdown 的表格标题中使用 < 符号。我正在使用 flextable 包,因为这为 docx 格式的表格提供了很多(需要的)灵活性。
但我真的对通过pandoc 进行的多个转换步骤感到困惑。找到&amp;amp;lt; 似乎并不容易,因为它是一个特殊的编码 HTML 字符。我读过在 HTML 中你可以通过&amp;amp;lt; 转义它。这给了我一个问题,&amp; 也必须被转义。然后转换将&amp;amp;lt; 转换为&amp;amp;lt;(因为它将&amp; 转换为&amp;)并且\\&lt; 将产生&amp;amp;lt;(因为它再次转换&amp; 的&amp;)。乳胶似乎也不起作用,我尝试过&amp;amp;lt;、$<$ 和$\\textless$,但无济于事。
所有的组合基本上都遵循相同的逻辑,即&amp;amp;lt;被正确转换为&amp;amp;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: \\< or < or < or $<$ or $\\textless$")
```
【问题讨论】:
-
如果是pdf,你应该使用
set_caption("Table: (\\#tab:test) ... < or >", html_escape = FALSE)。还要确保您使用的是最新版本,因为在当前版本 (0.6.2) 之前的问题 2/3 版本中有一些修复 -
很好,非常感谢!!
html_escape也可以在 docx 中使用!也感谢您的更新建议,我会检查我正在运行的版本。 -
@DavidGohel 也许你可以帮我解决另一个问题:为什么
Table: (\\#tab:test)部分打印Table Table 1:?如果我改变任何东西,它根本不理解标签...... -
并且不要定义自己(\\#tab:test),只添加块选项
tab.id="test"
标签: r r-markdown docx flextable