在 markdown 文档上使用 pandoc xelatex 引擎时缺少字符 ⚠ (U+26A0)

在 markdown 文档上使用 pandoc xelatex 引擎时缺少字符 ⚠ (U+26A0)

我有一个包含 ⚠ (U+26A0) 符号的 markdown 文档。

我在用着pandoc 2.11.3.1在 Ubuntu 18.04 上如下所示:

pandoc -f markdown -t pdf -H preamble.tex -c style.css --pdf-engine=xelatex -o file.pdf file.md

以下是该男子对这些选项的解释:https://pandoc.org/MANUAL.html

该文件preamble.tex包含以下内容:

\usepackage[french]{babel}

我遇到了这个错误:

[WARNING] Missing character: There is no ⚠ (U+26A0) in font [lmroman10-regular]:mapping=tex-text;!

我知道我可以\danger使用傅立叶包,它确实有效,但我需要\danger从 markdown 文档中生成一个 HTML5 页面(在这种情况下,显然无法识别)PDF 文件,无需在每次切换输出格式时触碰 markdown 内容本身。

我该如何使用直接 ⚠ 符号,以便它实际上使用 pandoc 呈现在我的 pdf 中--pdf-engine=xelatex? 是否有包含此符号的字体?

注意:如果我省略该--pdf-engine=xelatex选项,则会出现以下错误:

Error producing PDF.
! Package inputenc Error: Unicode char ⚠ (U+26A0)
(inputenc)                not set up for use with LaTeX.

See the inputenc package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.1 ⚠

Try running pandoc with --pdf-engine=xelatex.

以下是 的内容file.md

# Chapter 1    

Hello World ⚠ !

答案1

您使用 XeLaTeX 有什么特别的原因吗?如果您的文档可以使用 LuaLaTeX 进行编译,那么这就可以工作 ( --pdf-engine=lualatex)。

  1. 安装 Noto 彩色表情符号在您的系统上。
  2. 修改preamble.tex如下:
\usepackage[french]{babel}
\usepackage{fontspec}
\directlua{luaotfload.add_fallback
   ("emojifallback",
    {
      "NotoColorEmoji:mode=harf;"
    }
   )}

\setmainfont{TeX Gyre Termes}[
  RawFeature={fallback=emojifallback}
]
  1. 编译

得出: 在此处输入图片描述

正如@ChristophFrings 指出的那样,该字形在 Dejavu Sans 中存在。因此,您可以将序言更改为(并使用 XeLaTeX/LuaLaTeX 进行编译)

\usepackage[french]{babel}
\usepackage{fontspec}
\setmainfont{DejaVu Sans}

这使: 在此处输入图片描述

相关内容