使用Pandoc和Markdown制作Beamer演示文稿-波斯字符无法正确显示

8

我有一个简单的Markdown,如下:

---
dir: rtl
title: "درس روش پژوهش و ارائه"
author: "امیر شبانی"
date: "یک‌شنبه - ۱ دی ۱۳۹۸"
---

我将其保存在一个名为 Presentation.md 的文件中,并使用以下命令进行编译:

pandoc Presentation.md -t beamer -o Presentation.pdf --pdf-engine=xelatex -V mainfont="Sahel"

命令运行时没有出现错误,但字体显示不正确:

enter image description here

如果我将字体从 Sahel 更改为 BNazanin,它可以正常工作:

enter image description here

但我对 Sahel 字体很感兴趣。有没有什么办法可以修复它?

我不认为字体是损坏的,因为在其他程序中,比如

VSCode 中显示得很好:

enter image description here

电报:

enter image description here

火狐浏览器:

enter image description here


1
这可能更多是LaTeX问题。也许https://tex.stackexchange.com上的专业人士可以帮助您。 - tarleb
1个回答

7
@tarleb所建议的,我在TeX.StackExchange上提出了我的问题,并得到了答案。 回答问题的人没有Stack Overflow帐户,因此我将在此处复制他们的答案,以防有人先看到这个问题。
只需要在原始命令中指定-V lang=ar即可,这样Pandoc就不会加载字体的默认英文脚本。 字体是波斯语,但显然由于阿拉伯语和波斯语有相似的字母,将语言设置为阿拉伯语即可。 所以我可以通过两种方式实现想要的效果:
在编译时在命令中指定语言:
使用此命令:
pandoc pres.md -t beamer -o pres.pdf --pdf-engine=xelatex -V mainfont="Sahel" -V lang=ar

我们可以看到它起作用了:

enter image description here

在markdown文件的元数据中指定语言(我个人更喜欢这种方法)

因此,我的markdown文件将如下所示:

---
lang: ar
dir: rtl
title: "درس روش پژوهش و ارائه"
author: "امیر شبانی"
date: "یک‌شنبه - ۸ دی ۱۳۹۸"
---

我们可以看到这个方法同样有效:

enter image description here


你选择了哪个文本编辑器来编写波斯语的Markdown? - Parsa Noori

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接