代码
# 安装 R 包
install.packages(c("mapproj", "showtext", "styler"))
# 安装 LaTeX 宏包
::tlmgr_install(readLines("texlive.txt")) tinytex
探索和实践
本书是在 RStudio IDE 内用 Quarto 编辑的,为可重复性,写作环境由 Docker 搭建,基础环境来自 rocker 项目提供的空间数据 geospatial 镜像。首先安装 Docker 桌面客户端,拉取远程镜像文件:
brew install --cask homebrew/cask/docker
docker pull rocker/geospatial
然后从下载的镜像启动容器,配置 RStudio Server 登陆账户、映射本地端口 8282 和挂载本地文件目录。
docker run -itd -p 8282:8787 --rm --name=sdsr \
--privileged=true -v "/${PWD}:/home/rstudio" \
-e USER=rstudio -e PASSWORD=cloud2016 rocker/geospatial:latest
打开网址 http://localhost:8282,输入账户 rstudio
和密码 cloud2016
,登陆后即可进入开发环境。书籍写作还用到其它一些 R 包和 LaTeX 宏包,需额外安装。
# 安装 R 包
install.packages(c("mapproj", "showtext", "styler"))
# 安装 LaTeX 宏包
::tlmgr_install(readLines("texlive.txt")) tinytex
quarto 包将书籍发布到 https://bookdown.org/。
::quarto_publish_site(input = "_book", name = "sdsr") quarto
因此,本书完整编译环境如下:
::session_info(packages = c(
xfun"tinytex", "rmarkdown", "bookdown", "quarto", "showtext",
"maps", "mapproj", "sf", "sp", "raster"
))
R version 4.1.3 (2022-03-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.04.4 LTS
Locale:
LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
LC_PAPER=en_US.UTF-8 LC_NAME=C
LC_ADDRESS=C LC_TELEPHONE=C
LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
Package version:
base64enc_0.1.3 bookdown_0.25 bslib_0.3.1 class_7.3.20
classInt_0.4.3 DBI_1.1.2 digest_0.6.29 e1071_1.7.9
evaluate_0.15 fastmap_1.1.0 fs_1.5.2 glue_1.6.2
graphics_4.1.3 grDevices_4.1.3 grid_4.1.3 highr_0.9
htmltools_0.5.2 jquerylib_0.1.4 jsonlite_1.8.0 KernSmooth_2.23.20
knitr_1.38 later_1.3.0 lattice_0.20.45 magrittr_2.0.3
mapproj_1.2.8 maps_3.4.0 MASS_7.3.55 methods_4.1.3
processx_3.5.3 proxy_0.4.26 ps_1.6.0 quarto_1.1
R6_2.5.1 rappdirs_0.3.3 raster_3.5.15 Rcpp_1.0.8.3
rlang_1.0.2 rmarkdown_2.13 rstudioapi_0.13 s2_1.0.7
sass_0.4.1 sf_1.0.7 showtext_0.9.5 showtextdb_3.0
sp_1.4.6 stats_4.1.3 stringi_1.7.6 stringr_1.4.0
sysfonts_0.8.8 terra_1.5.21 tinytex_0.38 tools_4.1.3
units_0.8.0 utils_4.1.3 wk_0.6.0 xfun_0.30
yaml_2.3.5
LaTeX version used:
TeX Live 2022 with tlmgr 2022-02-28
Pandoc version: 2.17.1.1