按照此帖子中好心用户的建议:PDFLaTeX 和阿拉伯语、波斯语和其他文字
我切换了编译器,从 Pdftex 到 Luatex,以便能够打印非拉丁字母,这样就可以了。
不起作用的是我的 shell 脚本,它会自动将 markdown 通过 pandoc 转换为 .tex 文件,再通过 Latexmk 转换为 PDF。我本来可以完美地完成这个操作,但我不知道如何为 Luatex 做到这一点。
脚本如下:
mkdir -p /home/Docs/Notes/{{title}}
pandoc -r markdown-auto_identifiers -w latex {{file_path:absolute}} -o /home/Docs/Notes/{{title}}/{{title}}.tex --template="/home/Docs/LaTeX/My Templates/Notes/Notes.tex" --lua-filter=/home/Docs/LaTeX/Filters/highlight.lua --lua-filter=/home/Docs/LaTeX/Filters/highlight-period.lua --lua-filter=/home/Docs/LaTeX/Filters/Span.lua --lua-filter=/home/Docs/LaTeX/Filters/Span-period.lua
gnome-terminal -- bash -c "cd /home/Docs/Notes/{{title}} && latexmk -pvc -pdf < /dev/null && latexmk -c && cp {{title}}.pdf /home/Docs/Notes/ && exit; exec bash"
我从 Obsidian.md(一个 markdown 编辑器)中的一个插件运行它,它可以{{title}}
用当前注释(即文件、名称)替换变量。
通过上述脚本,我得到以下信息:
! Package babel Error: The bidi method 'basic' is available only in
(babel) luatex. I'll continue with 'bidi=default', so
(babel) expect wrong results.
我相信只有之后的部分gnome-terminal
是相关的,并且我尝试将 latexmk 命令切换为:latexmk -pdflatex=lualatex -pdf {{title}}.tex
这样,它可以进一步编译,但仍然会出现错误,并且没有生成 PDF。
=== TeX engine is 'pdfTeX'
Latexmk: Found input bbl file '2023-07-24.bbl'
Latexmk: Log file says output to '2023-07-24.pdf'
Biber warning: [177] Biber.pm:130> WARN - The file '2023-07-24.bcf' does not contain any citations!
Latexmk: Found biber source file(s) [2023-07-24.bcf]
Latexmk: All targets (2023-07-24.pdf) are up-to-date
Rc files read:
/etc/LatexMk
Latexmk: This is Latexmk, John Collins, 20 November 2021, version: 4.76.
cp: cannot create regular file '/home/Docs/Notes/': Not a directory
来自其他线程的我的 MWE LaTeX 文档:
\documentclass[a4paper, 12pt, oneside]{article}
\usepackage[bidi=basic]{babel}
\babelprovide[main, import]{english}
\babelprovide[onchar = ids fonts]{arabic}
\babelfont[arabic]{rm}[Renderer = HarfBuzz, Scale = MatchLowercase]{Amiri}
\begin{document}
Giaurs - From Persian فروشگاه (gâvor)
\end{document}
我如何调整此脚本以再次实现该过程的自动化。
谢谢!
答案1
latexmk
默认将使用 pdflatex(或通过-pdf
命令行上的选项明确使用)。您可以将其替换为-pdflua
或等效地-lualatex