pandoc标记为pdf:修复缺少的字符警告?

pandoc标记为pdf:修复缺少的字符警告?,pdf,latex,markdown,pandoc,Pdf,Latex,Markdown,Pandoc,我已经看到了-但不幸的是,这里的建议似乎不适用于此测试用例: $git克隆https://github.com/raspberrypi/documentation.git $cd文档/配置 $pandoc*.md--pdf engine=xelatex-o result.pdf [警告]缺少字符:没有┌ (U+250C)字体为[lmmono10常规]:! [警告]缺少字符:没有─ (U+2500)字体为[lmmono10常规]:! [警告]缺少字符:没有─ (U+2500)字体为[lmmono1

我已经看到了-但不幸的是,这里的建议似乎不适用于此测试用例:

$git克隆https://github.com/raspberrypi/documentation.git
$cd文档/配置
$pandoc*.md--pdf engine=xelatex-o result.pdf
[警告]缺少字符:没有┌ (U+250C)字体为[lmmono10常规]:!
[警告]缺少字符:没有─ (U+2500)字体为[lmmono10常规]:!
[警告]缺少字符:没有─ (U+2500)字体为[lmmono10常规]:!
[警告]缺少字符:没有─ (U+2500)字体为[lmmono10常规]:!
[警告]缺少字符:没有─ (U+2500)字体为[lmmono10常规]:!
...
[警告]缺少字符:没有─ (U+2500)字体为[lmmono10常规]:!
[警告]缺少字符:没有─ (U+2500)字体为[lmmono10常规]:!
[警告]缺少字符:没有┘ (U+2518)字体为[lmmono10常规]:!
因此,拉丁语现代单声道中缺少一些特定的“方框图”字形,因此它们可能用于代码片段的上下文中

在这种情况下,有没有办法提供“回退字体”?或者我怎样才能解决这个问题,这样我就可以通过pandoc从这些降价文件生成一个(Latex)PDF


编辑:找到:

。。。所以我试着:

标题包括.yaml

---
标题包括:|
\usepackage{combofont}
\setupcombofont{multiscript regular}
{
{文件:lmsans10 regular.otf:\combodefaultfeat}at#1pt,
{文件:DejaVuSans.ttf}at#1pt,
{file:NotoSansCJK Regular.ttc(0)}at#1pt
}
{
{} ,
退路,
退路
}
\DeclareFontFamily{TU}{multiscript}{
\DeclareFontShape{TU}{multiscript}{m}{n}{combo*multiscript regular}{
\fontfamily{multiscript}\selectfont
...
。。。然后我尝试(注意,只使用repo中的单个文件,
raspi config.md
,这里):

$pandoc header-includes.yaml./raspi-config.md--pdf engine=lualatex-o result.pdf
生成PDF时出错。
! 段落在\setupcombofont完成之前结束。
\标准杆
l、 61

。。。因此,也无法使此方法起作用…

您可以通过检查pandoc如何解析输入来查看发生了什么,例如,将其转换回Markdown:
pandoc-t native-s-t Markdown-V header includes=''header includes.yaml

---
标题包括:|
```{=tex}
\usepackage{combofont}
\setupcombofont{multiscript regular}
```
{{file:lmsans10 regular.otf:`\combodefaultfeat`{=tex}}at\#1pt,
{file:DejaVuSans.ttf}位于\#1pt,{file:NotoSansCJK Regular.ttc(0)}位于
\#1pt}{{},后退,后退}
`\DeclareFontFamily{TU}{multiscript}{}`{=tex}
`\DeclareFontShape{TU}{multiscript}{m}{n}{=tex}
{\combo\*多脚本正则}{}
`\fontfamily{multiscript}`{=tex}`\selectfont`{=tex}
---
您会注意到,有些部分不能识别为TeX,而是识别为纯文本。使用以下方法将力解释为乳胶块:

---
标题包括:|
-``{=乳胶}
\usepackage{combofont}
\setupcombofont{multiscript regular}
{
{文件:lmsans10 regular.otf:\combodefaultfeat}at#1pt,
{文件:DejaVuSans.ttf}at#1pt,
{file:NotoSansCJK Regular.ttc(0)}at#1pt
}
{
{} ,
退路,
退路
}
\DeclareFontFamily{TU}{multiscript}{
\DeclareFontShape{TU}{multiscript}{m}{n}{combo*multiscript regular}{
\fontfamily{multiscript}\selectfont
```
...

或者,您可以将TeX片段写入一个文件,并通过
-H
选项将其传递,该选项会将文件内容不变地插入到中间文件中。

我认为您需要修复标题中的换行符。在每个命令之前尝试使用
-
,避免命令中的换行。要找到包含这些字形的字体,您可以使用奇妙的Thank@samcarter\u is\u at\u topanswers.xyz-信天翁看起来很棒!我可以从与Tex用户组相关的人那里看到它,我希望它已经出现在
texlive
,但我找不到它。。。所以我自己考虑编译它,但它在Kotlin中,需要
gradlew
来构建,而且我不是一个真正的Java爱好者,所以也不能这样做。否则,我将使用AFAIK Albatros昨天上传到ctan中列出的Python方法,因此它将在未来几年内出现在texlive中days@sdbbs你不需要自己编译。选择repo页面上的下载箭头并选择build:linux:jdk8工件。里面有一个可执行的JAR。如果您使用的是Windows,您可能希望从Windows路径分支下载它,因为第一个版本没有为奇怪的操作系统路径做好准备;)