Пакет Huxtable для R: Как правильно ссылаться на huxtables в bookdown? - PullRequest
0 голосов
/ 18 октября 2018

Составление отчета с учетом. Я сталкиваюсь с трудностями при обращении к таблицам, созданным с помощью пакета huxtable.Для моей работы необходимо создать LaTex / PDF, а также HTML-версию отчета.

При отображении документа knitr :: is_XXX_output () выбирает оптимальный способ отображения таблиц, см. MWE:

```{r chunk-label, results='asis', fig.cap='chunk-caption'}
set.seed(1234)
dat <- data.frame(cond = factor(rep(c("A","B"), each=2)), 
                   rating = c(rnorm(2),rnorm(2, mean=.8)))

hux <- as_hux(dat)                    %>%
  set_caption('hux caption')          %>% 
  set_label("tab:hux-label")                                              

if (knitr::is_html_output()) {
  print_html(hux)   # output table html friendly (requires in chunk options "results='asis'")
}
if (knitr::is_latex_output()) {
  hux
}
```

Я не уверен, рекомендуется ли использовать команды заголовка и надписи, предоставляемые huxtable

  set_caption('pipe caption') and set_label("tab:hux-label")    

или knitr

  chunk-label and fig.cap='chunk caption'

Для рисунковПоследний работает очень хорошо, но, к сожалению, не для таблиц.

Хук для "tab.cap", как обсуждалось ниже, не очень хорошо работал с bookdown и если нужны PDF и HTML. Использование заголовка таблицы в файле уценки R с использованием knitr для использования в pandoc для преобразования в pdf

Помощь и рекомендации очень важны!

1 Ответ

0 голосов
/ 16 ноября 2018

Если вы обновитесь до huxtable 4.3.0 (теперь на CRAN), он автоматически позаботится о заголовках таблицы скидок для вас.Вот краткий пример:

---
title: "Bookdown test"
output:
  bookdown::pdf_book: default
link-citations: yes
---

```{r setup, include=FALSE}

library(dplyr)
library(huxtable)
knitr::opts_chunk$set(echo = FALSE)

```

My table is \@ref(tab:foo1). The other table is \@ref(tab:foo2). The third is \@ref(tab:foo3).

```{r}


hux(a = 1:5, b = 1:5) %>% 
  set_caption("My labelled table") %>% 
  set_label("tab:foo1")

hux(a = 1:5, b = 1:5) %>% 
  set_caption("My unlabelled table")

hux(a = 1:5, b = 1:5) %>% 
  set_caption("My labelled table, prefix should be autoadded!") %>% 
  set_label("foo2")

hux(a = "A table with no caption, but a label") %>% 
  set_label("tab:foo3")

hux(a = "A table with no caption or label")

```

Не все идеально.Если вы установите echo = TRUE, вам нужно будет вручную вставить \usepackage[table]{xcolor} перед \usepackage{fancyvry} в заголовок TeX.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...