У меня проблемы с использованием устройства svg с математическими выражениями и юникодом (в данном случае - левые и правые кавычки). Это происходит только на моем компьютере Windows 10; мой компьютер OSX кажется незатронутым. Рассмотрим следующий код R:
output = tempfile(fileext = ".svg")
svg(file = output)
plot(1, axes=FALSE, ty='n')
## Line A:
mtext(side = 2, text = expression(paste("A")))
## Line B:
mtext(side = 3, text = expression(paste("“B")))
## Line C:
mtext(side = 4, text = expression(paste("C")))
axis(1, at = par()$usr[1:2], lab = c("More", "Less"), tick = FALSE)
dev.off()
## Uncomment and run to open the SVG file to look at it
# browseURL(output)
(обратите внимание на левую кавычку в строке B). После запуска строки C я получаю
Error in mtext(side = 4, text = expression(paste("C"))) :
metric information not available for this device
- Если я изменю устройство на
png
, я получаю ожидаемый результат. - Если я закомментирую строки B и C, я получаю ожидаемый вывод (например, вывод из линий A и оси)
- Если я закомментирую только строку C, я не получу ожидаемый вывод. Ни линия B не работает, ни ось. Похоже, что-то не так с строкой B, что приводит к сбою и всех последующих элементов чанка.
- Если я удаляю
expression()
из строки B, все работает как положено (включая левую кавычку Юникода) - Если я изменю шрифт с помощью
showtext
(подробности см. В проблеме: https://github.com/yihui/knitr/issues/1831) У меня нет проблем.
Появляется, а затем, быть взаимодействием между svg
, expression
, шрифтом по умолчанию и Unicode. Но только на Windows 10. Мой компьютер OSX (подробности см. Ниже) не имеет проблемы.
sessionInfo()
R version 3.6.2 (2019-12-12)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 18363)
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] reprex_0.3.0
loaded via a namespace (and not attached):
[1] Rcpp_1.0.4.6 ps_1.3.2 digest_0.6.25 R6_2.4.1 evaluate_0.14 rlang_0.4.5 fs_1.4.1
[8] callr_3.4.3 whisker_0.4 rmarkdown_2.1 Cairo_1.5-12 tools_3.6.2 xfun_0.13 compiler_3.6.2
[15] processx_3.4.2 clipr_0.7.0 htmltools_0.4.0 knitr_1.28.3
Информация о сеансе OSX (без проблем на этом компьютере)
> xfun::session_info('knitr')
R version 3.6.1 (2019-07-05)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Catalina 10.15.4, RStudio 1.2.5031
Locale: en_GB.UTF-8 / en_GB.UTF-8 / en_GB.UTF-8 / C / en_GB.UTF-8 / en_GB.UTF-8
Package version:
evaluate_0.14 glue_1.4.0 graphics_3.6.1 grDevices_3.6.1
highr_0.8 knitr_1.28.3 magrittr_1.5 markdown_1.1
methods_3.6.1 mime_0.9 stats_3.6.1 stringi_1.4.6
stringr_1.4.0 tools_3.6.1 utils_3.6.1 xfun_0.12
yaml_2.2.1
Есть идеи, что вызывает это?