bit2r / bitPublish

Quarto extension for a template to publish a PDF book with LaTeX styling.
GNU General Public License v2.0
7 stars 2 forks source link

R 테이블 생성 시 cross-reference 미동작 #18

Closed choonghyunryu closed 1 year ago

choonghyunryu commented 1 year ago

현황

작업 내용

as_latex_with_caption <- function(gt, label, caption) {
  gt <- gt::as_latex(gt)

  caption <- paste0(
    "\\caption{\\label{", label, "}", caption, "}")

  latex <- strsplit(gt[1], split = "\n")[[1]]
  latex <- c(latex[-length(latex)], caption, latex[length(latex)])
  latex <- paste(latex, collapse = "\n")
  gt[1] <- latex

  gt
}

사용법

다음은 표 \ref{tab-r}\를 생성합니다.

```{r}
#| eval: true
#| echo: false
tab <- tibble::tribble(
  ~기본값, ~`왼쪽 정렬`, ~`가운데 정렬`, ~`오른쪽 정렬`,
  "내용 1", "내용 2", "내용 3", "내용 4",
  "내용 5", "내용 6", "내용 7", "내용 8",
  "내용 9", "내용 10", "내용 11", "내용 12"
)

tab |> 
  gt::gt() |> 
  gt::cols_align(align = "left", columns = `왼쪽 정렬`) |> 
  gt::cols_align(align = "center", columns = `가운데 정렬`) |> 
  gt::cols_align(align = "right", columns = `오른쪽 정렬`) |>
  as_latex_with_caption(label = "tab-r", caption = "R 기반 표")