如何将日语的 Markdown 文档转换为 Beamer?

How do I convert a Markdown document with Japanese to Beamer?

例如,我有这个 Markdown 文档:

## Markdown test

Japanese 日本語

我运行:

pandoc mwe.rmd -t beamer -o mwe.pdf --latex-engine=xelatex -V mainfont=MS\ Mincho

日本语字样在生成的文件中完全消失了。如果我不使用 Beamer 模板,那么它可以正常工作。

我不必使用 pandoc。任何让我在 Mac(使用 MacTex)上从 Markdown 到 PDF(幻灯片)的东西都对我有用。

如果没有简单的解决方案,我可以接受任何导致非 Beamer PDF 幻灯片的方法。

我假设您 do 已经安装了名为 MS Mincho[=123 的字体=] 在您的系统上,当您启动 Font Book.app? (看起来,否则你的 "normal" PDF 输出将无法工作,但你说它可以...)

有多种选项可供检查和验证,您应该使用哪个确切的字体名称。

1。 Font Book.app(GUI申请)

  1. 开始Font Book.app.
  2. 在右上角的搜索框中输入 mincho
  3. 名称中带有 'Mincho' 的所有已安装字体都会显示。
  4. 单击列表中的其中一个字体(不是 主要条目!)。
  5. 将显示字体示例。
  6. 单击带有小 i-徽标的按钮。
  7. 将显示字体的元数据。

从字体的元数据可以推断出字体的 PostScript nameFull name。两者都应该与 XeLaTeX 一起工作。 (我通常在带空格的字体名称周围加上引号:-V mainfont="YuMincho Medium"

这是 Font Book.app UI 的相关部分以红色突出显示的屏幕截图。抱歉,我没有安装MS Mincho,只能用另一种字体显示:

2。 fc-list(命令行实用程序)

  1. fc-list 是一个命令行实用程序,可通过 MacPorts fontconfig 程序包获得。
  2. 如果您安装了它,请使用它。
  3. 要获得 XeTeX 可用的字体名称列表,您可以简单地 运行:

    fc-list -f "%{family}\n"
    fc-list :outline -f "%{family}\n"
    

    第二个命令禁止列出仅位图字体。这样的字体不能用于 TeX。 -- 对于更冗长的信息和更好的信息格式,您还可以 运行:

    fc-list :outline -f "  family: %{family}\nfullname: %{fullname}\n    file: %{file}\n\n"
    
  4. 获取包含'Mincho',运行:

    的名字列表
    fc-list -f "%{family}\n" | grep -i mincho
    

更改您的设置

现在这个小问题 ("Which font names should I use?") 已经解决了,让我们来处理你的主要问题:

  • Pandoc Beamer 模板(和标准 Beamer 本身)不使用 \setmainfont 命令。 因此将 -V mainfont=... 放到 Pandoc 命令行上不会做任何事情。

您可以通过查询 Pandoc 用于生成 beamer 输出的默认内部模板来检查这一点:

$ pandoc -D beamer | less

在那里搜索 $mainfont$ 变量,您会找到 none!

您必须稍微修改一下设置才能成功:

  1. 首先,创建一个名为mincho.tex的简单文本文件,内容如下两行(我用的是 我的 Mincho 字体名称在这里,所以我可以真正测试我的建议是否有效):

    \usepackage{xeCJK}
    \setCJKmainfont{YuMincho Medium}
    

    XeLaTeX 需要 xeCJK 包来支持日文(和中文+韩文)字体。

  2. 其次,将-H mincho.tex添加到命令行,这样上面的代码片段就包含在Pandoc生成的LaTeX代码中了。

    这是将 Markdown 转换为 Beamer-PDF 的完整命令:

    pandoc                   \
       mwe.rmd               \
      -t beamer              \
      -o mwe.pdf             \
      --latex-engine=xelatex \
      -H mincho.tex
    

结果(截图):

Beamer-PDF 使用的字体是:

$ pdffonts mwe.pdf

  name                                type         encoding    emb  sub  uni  objID
  ----------------------------------- ------------ ----------- --- ----- ---- -----
  TZVOMD+LMSans8-Regular-Identity-H   CID Type 0C  Identity-H  yes  yes  yes   7  0
  WMSBXQ+LMSans12-Regular-Identity-H  CID Type 0C  Identity-H  yes  yes  yes  30  0
  FXCTKJ+LMSans10-Regular-Identity-H  CID Type 0C  Identity-H  yes  yes  yes  32  0
  NXJKDD+YuMin-Medium-Identity-H      CID Type 0C  Identity-H  yes  yes  no   34  0