我使用 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