我正在用 Latex (overleaf) 写一篇论文,其中有一些普什图语文字。我找到了这个包,阿拉伯特克斯,但它只适用于阿拉伯语和波斯语字母,不适用于普什图语特殊字母。例如,我想打印ښ
Unicode 为 的字母u+069A
。
有什么办法吗?谢谢!
答案1
使用babel
支持普什图语的 。 (截至 2020 年,polyglossia
不支持。)此 MWE 需要 2020 年或更高版本的 LuaLaTeX(或lualatex-dev
可能有效)。
\documentclass{article}
\tracinglostchars=2
\usepackage[english,bidi=basic]{babel}
\usepackage{unicode-math}
\babelprovide[import, onchar=ids fonts]{pashto}
\defaultfontfeatures{ Scale=MatchUppercase, Ligatures=TeX, Renderer=HarfBuzz }
\babelfont{rm}
[Ligatures={Common,Discretionary}, Scale=1.0]{Libertinus Serif}
\babelfont[pashto]{rm}
{Amiri}
\babelfont{sf}
[Ligatures={Common,Discretionary}]{Libertinus Sans}
\babelfont[pashto]{sf}
{Noto Sans Arabic} % https://www.google.com/get/noto/#sans-arab
\babelfont{tt}
{Libertinus Mono}
\babelfont[pashto]{tt}
{ALM Fixed}
\setmathfont{Libertinus Math}
\begin{document}
For example, I want to print the ښ letter,
which has the Unicode value U+069A. Is there any way to do this?
\end{document}
适用于 XeLaTeX 的版本:
\documentclass{article}
\tracinglostchars=2
\usepackage[english,bidi=default]{babel}
\usepackage{unicode-math}
\babelprovide[import]{pashto}
\defaultfontfeatures{ Scale=MatchUppercase, Ligatures=TeX }
\babelfont{rm}
[Ligatures={Common,Discretionary}, Scale=1.0]{Libertinus Serif}
\babelfont[pashto]{rm}
{Amiri}
\babelfont{sf}
[Ligatures={Common,Discretionary}]{Libertinus Sans}
\babelfont[pashto]{sf}
{Noto Sans Arabic} % https://www.google.com/get/noto/#sans-arab
\babelfont{tt}
{Libertinus Mono}
\babelfont[pashto]{tt}
{ALM Fixed}
\setmathfont{Libertinus Math}
\babeltags{pashto=pashto}
\begin{document}
For example, I want to print the \textpashto{ښ} letter,
which has the Unicode value U+069A. Is there any way to do this?
\end{document}
答案2
我找到了一种解决这个问题的简便方法,它在 overleaf 上完美运行。此答案发布于推特。
以下是代码:
\documentclass{article}
\usepackage{arabtex}
\usepackage{utf8}
\setcode{utf8}
\begin{document}
Typesetting \<ښ>
\end{document}