我在 Rstudio 环境中使用 bookdown 制作 pdf 书。它运行在 Ubuntu 21.04 上,使用最新版本的 RStudio、R 4.0.4 以及新安装的 texlive 和 tinytex。我使用的是“使用 R Markdown 创作书籍和技术文档”以谢益辉为例。
我想使用系统上安装的一些 Truetype/Opentype 字体。因此我使用 XeLaTex 和 fontspec 包。但我只得到 Computer Modern 字体。这是我的“_output.yml”文件:
bookdown::gitbook:
css: style.css
config:
toc:
before: |
<li><a href="./">A Minimal Book Example</a></li>
after: |
<li><a href="https://github.com/rstudio/bookdown" target="blank">Published with bookdown</a></li>
download: ["pdf", "epub"]
bookdown::pdf_book:
latex_engine: xelatex
includes:
in_header: preamble.tex
citation_package: natbib
keep_tex: yes
dev: "cairo_pdf"
mainfont: Crimson Pro
sansfont: Source Sans Pro
monofont: Ubuntu Mono
bookdown::epub_book: default
这是 preamble.tex 文件:
\usepackage{booktabs}
\usepackage{fontspec} % Font selection for XeLaTeX; see fontspec.pdf for documentation
\defaultfontfeatures{Mapping=tex-text} % to support TeX conventions like ``---''
\usepackage{xunicode} % Unicode support for LaTeX character names (accents, European chars, etc)
\usepackage{xltxtra} % Extra customizations for XeLaTeX
\setmainfont{Crimson Pro} % set the main body font (\textrm)
\setsansfont{Source Sans Pro}
\setmonofont{Ubuntu Mono}
这在常规 LaTeX 写作环境(如 TeXWorks 或 Gummi)中运行良好。但在 bookdown 中不行。我做错了什么?
答案1
我搞明白了。生成了两个 PDF 文件。一个在书籍目录中,另一个在名为“_book”的子目录中。前者有计算机现代字体,后者有正确的文件。这很奇怪,但没关系……