Как я могу сохранить таблицу с символами Unicode в PDF в R - PullRequest
2 голосов
/ 23 апреля 2020

Я хочу создать таблицу в файле Adobe Acrobat с символами Unicode, такими как ≥ и ±. Я использовал xelatex и сохранил с параметром encoding = "UTF-8", как предложено в других вопросах по stackoverflow.

#' ---
#' title: "Cannot render Unicode"
#' author: "Robert"
#' date: '`r format(Sys.Date(), "%d %B, %Y")`'
#' geometry: margin=1cm
#' output:
#'   html_document:
#'      toc: true
#'      highlight: zenburn
#'   pdf_document:
#'     toc: true
#'     number_sections: true
#'     highlight: zenburn
#' documentclass: article
#' classoption: a4paper
#' ---
#'
#+ include = F
library(pander)
library(flextable)
library(tidyverse)

panderOptions('digits', 2)
panderOptions('round', 2)
panderOptions('keep.trailing.zeros', TRUE)
options(Encoding="UTF-8")
knitr::opts_chunk$set(echo = FALSE, message=FALSE, warning=FALSE)

sd=sprintf('%.01f',runif(n = 12, min = .25, max = .75))
mn=sprintf('%.01f',1:12+runif(n = 12, min = .25, max = .75))
vals = paste0(mn,' \U00B1 ',sd)

df = tibble(col1=rep(c('a < 1','a \U2265 1'),6),mnsd=vals)

#' A table with merged rows
#' 
#+ results='asis', echo=FALSE
ft = flextable::flextable(df) %>%
  set_header_labels(col1 = "comparisons", mnsd = 'mean  \U00B1 sd') %>%
  empty_blanks() %>%
  theme_box() %>%
  autofit()
ft

Я сохранил приведенный выше код в файле с именем unicodeBug.R и выполнил команду ниже, чтобы создать документ в формате PDF.

rmarkdown::render("./unicodeBug.R",output_file="unicodeBug.pdf",output_format='pdf_document',encoding="UTF-8")

≥ и ± не отображаются правильно в этих файлах. У кого-нибудь есть какие-либо предложения?

Код запускается на Windows 10. Дополнительная информация session:

sessionInfo () R версия 3.6.3 (2020-02-29) Платформа : x86_64-w64-mingw32 / x64 (64-разрядная версия) Работает под: Windows 10 x64 (сборка 18363)

Продукты матрицы: по умолчанию

языковой стандарт: [1] LC_COLLATE = Dutch_Net Netherlands. 1252 LC_CTYPE = Dutch_Net Netherlands.1252 [3] LC_MONETARY = Dutch_Net Netherlands.1252 LC_NUMERIC = C
[5] LC_TIME = Dutch_Net Netherlands.1252

прикрепленные базовые пакеты: [1] stats graphics grDevices utils
наборы методов базы данных

другие прикрепленные пакеты: [1] janitor_1.2.1 forcats_0.5.0
stringr_1.4.0 dplyr_0.8.5 purrr_0.3.3 [6] readr_1.3.1
tidyr_1.0.2 tibble_3.0.0 ggplot2_3 .3.0 tidyverse_1.3.0 [11] flextable_0.5.9 employee_0.3.8 pander_0.6.3

, загруженный через пространство имен (и не прикрепленный): [1] Rcpp_1.0.4.6
lubridate_1.7.4 lattice_0.20 -38 ps_1.3.2 [5] assertthat_0.2.1 digest_0.6.25 utf8_1.1.4 R6_2.4.1
[9] cellran ger_1.1.0 backports_1.1.5 представит_0.3.0
оценить_0,14 [13] httr_1.4.1 highr_0,8
pillar_1.4.3 gdtools_0.2.1 [17] rlang_0.4.5 uuid_0.1-4 readxl_1.3.1 rstudioapi_0.11 [21] data.table_1.12.8 callr_3.4.3 rmarkdown_2.1 webshot_0.5.2 [25] tinytex_0.22
munsell_0.5.0 broom_0.5.5 compiler_3.6.3 [29] modelr_0.1.6 xfun_0.12 pkgconfig_2.0.3
systemfonts_0.1.1 [33] base64enc_0.1-3 htmltools_0.4.0
tidyselect_1.0.0 fansi_0.4.1 [37] crayon_1.3.4
dbplyr_1.4.2 сr_2.1.2 grid_3.6.3 [41] nlme_3.1-11 jsonlite_ .6.1 gtable_0.3.0 lifecycle_0.2.0 [45] DBI_1.1.0 magrittr_1.5 scale_1.1.0 zip_2.0.4
[49] cli_2.0.2 stringi_1.4.6 fs_1.3.2 xml2_1.2.5 [53] ellipsis_0.3.0 generics_0.0.2 vctrs_0.2.4 tools_3.6.3 [57] glue_1.3.2 hms_0.5.3 processx_3.4.2 yaml_2.2.1 [61] colorspace_1.4-1 rvest_0.3.5 knitr_1.28 haven_2.2.0

...