R语言 如何防止弹性表添加表编号:在标题前面使用bookdown和单词输出Lua

qvsjd97n  于 2023-03-15  发布在  其他
关注(0)|答案(1)|浏览(94)

我正在努力删除Flextable前面的“Table 1:“字符串。
互联网上提供的所有选项并不能像预期的那样真正工作。所以例如使用|# tab.cap.pre:空或者至少是不同的东西。
我的最后一个想法是使用Lua过滤器,但不知何故,我不明白恐慌AST足够好,删除此字符串。
降价示例如下:

---
title: ""
output:
   bookdown::word_document2:
    pandoc_args:
      - --lua-filter=custom_header.lua
---

# test
```{r,  echo=FALSE}
library(flextable)
abb <-
  data.frame(
    Abbrevation=c("AU"),
    Meaning=c("Absorbance Unit")
  )
flextable(abb) |>
  set_caption('my test')

我的Lua过滤器文件现在看起来像这样:

function Table(el)
el.caption = string.gsub(el.caption, 'Table ', '')
return el
end


所以不知何故我不确定`el.caption`是否正确。我如何弄清楚我的`el`有哪些方法呢?我完全被调试一些Lua函数所困。

**编辑**

我必须再问一次这个问题。在没有人对LUA过滤器提出建议之后,我试图实现大卫Gohels的解决方案,即使在我看来它的可读性较低。
现在出现的问题是,如果我删除`set_caption`命令,就无法获得链接的实际表号。

title: ""
output:
bookdown::word_document2

test

library(flextable)
library(dplyr)

look at Table @ref(tab:test1)

::: {custom-style="Table Caption"}

my test r date()

:::

:::{#linkTEST}

abb <-
  data.frame(
    Abbrevation=c("AU"),
    Meaning=c("Absorbance Unit")
  )
flextable(abb) %>% 
  set_caption('test')

:::


因此,如果我删除`%>% set_caption('text')`,则无法检索表的编号,链接名为`Table ??`。
有什么建议吗?
fdbelqdn

fdbelqdn1#

这是bookdown自动添加的,最好不要使用标题,这样bookdown就不会处理它们,而手动添加(使用pandoc属性)-在段落定义中,你也可以添加r expression,因为它将由knitr管理。

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

# test
```{r,  echo=FALSE}
library(flextable)

::: {custom-style="Table Caption"}

my test r date()

:::

abb <-
  data.frame(
    Abbrevation=c("AU"),
    Meaning=c("Absorbance Unit")
  )
flextable(abb)

![](https://i.stack.imgur.com/rvrsV.png)

相关问题