Pandoc xelatex 字体系列与相对路径

Pandoc xelatex 字体系列与相对路径

我使用 Pandoc 和 XeLaTeX 引擎从 MD 文件生成 PDF 文件。

# in documentation directory
pandoc file.md --pdf-engine=xelatex -o file.pdf

YML我在 markdown 文件中部分与字体系列相关的内容遇到了问题。在这里您可以看到文件的层次结构:

+-- documentation
|   +-- file.md
|   +-- OpenSans-Regular.ttf
+-- fonts
|   +-- FiraCode-Regular.ttf
|   +-- OpenSans-Bold.ttf
|   +-- OpenSans-BoldItalic.ttf
|   +-- OpenSans-Italic.ttf
|   +-- OpenSans-Regular.ttf
|   +-- Quicksand-Regular.ttf

documentation/file.md

---
# ...
mainfont: OpenSans-Regular.ttf
mainfontoptions: 
- Scale=1.1
- BoldFont=../fonts/OpenSans-Bold.ttf
- ItalicFont=../fonts/OpenSans-Italic.ttf
- BoldItalicFont=../fonts/OpenSans-BoldItalic.ttf
sansfont: "../fonts/Quicksand-Regular.ttf"
monofont: "../fonts/FiraCode-Regular.ttf"
---

# My document

Content of my document

使用以下配置一切正常。但是如果我想像mainfont这样设置相对路径:

---
# ...
mainfont: "../fonts/OpenSans-Regular.ttf"
# ...

现在,不行sansfont例如,当使用相对路径时sansfont: "../fonts/Quicksand-Regular.ttf",我遇到了这个错误:

Error producing PDF.
! Missing number, treated as zero.
<to be read again>
                   m
l.19     \setsansfont

mainfont所以当我想要生成 PDF 文件时,我需要将其放在markdown 文件的根目录下。

您知道如何mainfont像其他字体一样使用相对路径吗?

答案1

您可以在以下位置指定路径mainfontoptions

---
mainfont: OpenSans-Regular.ttf
mainfontoptions:
- Path=../fonts/
- Scale=1.1
- BoldFont=OpenSans-Bold.ttf
- ItalicFont=OpenSans-Italic.ttf
- BoldItalicFont=OpenSans-BoldItalic.ttf
---

# My document

Content of my document

在此处输入图片描述

Pandoc 将选项直接传递给fontspec,因此您可能需要查看手册:http://mirrors.ctan.org/macros/unicodetex/latex/fontspec/fontspec.pdf

相关内容