欢迎

这是中文书籍模版,源文件的编译和组织使用 knitr (Xie 2015)bookdown (Xie 2016),参考文献的样式文件来自 Zotero

0.1 设置字体

系统上安装 Noto 系列的四款字体,依次是英文衬线字体,英文无衬线字体,简体中文宋体,简体中文黑体,其中,两款英文字体包含正常、粗体、斜体、粗斜体四种字型。

brew install --cask font-noto-serif font-noto-sans
brew install --cask font-noto-serif-cjk-sc font-noto-sans-cjk-sc

安装后,需要先调用 sysfonts 包注册字体到 R 环境,以便绘图时使用。

sysfonts::font_add(
  family = "Noto Serif",
  regular = "NotoSerif-Regular.ttf",
  bold = "NotoSerif-Bold.ttf",
  italic = "NotoSerif-Italic.ttf",
  bolditalic = "NotoSerif-BoldItalic.ttf"
)
sysfonts::font_add(
  family = "Noto Serif CJK SC",
  regular = "NotoSerifCJKsc-Regular.otf",
  bold = "NotoSerifCJKsc-Bold.otf"
)

showtext 包调用系统安装的中英文字体,如图 0.1 所示,横纵坐标轴标题使用黑体,主标题黑体加粗,边空文本是宋体,图内注释也是宋体,坐标轴刻度值用无衬线字体。

太平洋地震带

图 0.1: 斐济是一个太平洋上的岛国

0.2 安装 R 包

本书使用 Bootstrap 样式主题,因此,除了 bookdown 外,需要安装额外的三个 R 包:

install.packages(c("downlit", "bslib", "xml2"))

另外,为了处理中文字体,需要安装 showtext 包:

install.packages("showtext")

编译本书 R Markdown 源文件的过程中,使用的 R 包和软件信息如下:

xfun::session_info(packages = c(
  "knitr", "rmarkdown", "bookdown",
  "showtext", "sysfonts"
))
#> R version 4.1.2 (2021-11-01)
#> Platform: x86_64-apple-darwin17.0 (64-bit)
#> Running under: macOS Big Sur 10.16
#> 
#> Locale: en_US.UTF-8 / en_US.UTF-8 / en_US.UTF-8 / C / en_US.UTF-8 / en_US.UTF-8
#> 
#> Package version:
#>   base64enc_0.1.3 bookdown_0.24   digest_0.6.29  
#>   evaluate_0.14   fastmap_1.1.0   glue_1.6.0     
#>   graphics_4.1.2  grDevices_4.1.2 highr_0.9      
#>   htmltools_0.5.2 jquerylib_0.1.4 jsonlite_1.7.2 
#>   knitr_1.37      magrittr_2.0.1  methods_4.1.2  
#>   rlang_0.4.12    rmarkdown_2.11  showtext_0.9-4 
#>   showtextdb_3.0  stats_4.1.2     stringi_1.7.6  
#>   stringr_1.4.0   sysfonts_0.8.5  tinytex_0.36   
#>   tools_4.1.2     utils_4.1.2     xfun_0.29      
#>   yaml_2.2.1     
#> 
#> Pandoc version: 2.16.2

参考文献

Xie Y (2015) Dynamic documents with R and knitr, 2nd edn. Chapman; Hall/CRC, Boca Raton, Florida
Xie Y (2016) Bookdown: Authoring books and technical documents with R markdown. Chapman; Hall/CRC, Boca Raton, Florida