arabtex:如何在不添加阿拉伯语 shadda 的情况下书写两个连续相同的波斯语字符

arabtex:如何在不添加阿拉伯语 shadda 的情况下书写两个连续相同的波斯语字符

我正在使用arabtex在 Latex 中写一些波斯语/波斯语单词。当我尝试在一个单词中写两个连续的ن像时,arabtex 会添加 shadda,因为它默认是其命令的一部分(对于阿拉伯语 SHADDA,参考:ننکنندxxhttps://en.wikipedia.org/wiki/ArabTeX)这是我正在使用的代码:

\documentclass[11pt,a4paper]{article}
\usepackage{arabtex}
\begin{document}
{\setfarsi\novocalize \<rA.dy knndh >}
\end{document}

其结果是:

在此处输入图片描述

虽然我想要的输出是راضی کننده。我想知道如何才能得到我想要的输出?

答案1

解决方法arabtex是使用“管道”字符 ( |),这样可以防止沙达生成,如下:—

\documentclass[11pt,a4paper]{article}
\usepackage{arabtex}
\begin{document}
{\setfarsi\novocalize \<rA.dy kn|ndh >}
\end{document}

查看文档arabtex参阅第 20 页以了解更多信息。

答案2

i在字符之间添加一个解决了我的问题:

\documentclass[11pt,a4paper]{article}
\usepackage{arabtex}
\begin{document}
{\setfarsi\novocalize \<rA.dy knindh >}
\end{document}

在此处输入图片描述

答案3

如果您可以使用 LuaLaTeX 或 XeLaTeX 而不是 PDFLaTeX,则可以使用您喜欢的任何输入法和文本编辑器输入 Unicode。

这是一个您可以调整的模板。

\documentclass{article}
\usepackage[bidi=basic, layout=sectioning.tabular, nil]{babel}
\usepackage{unicode-math}

\defaultfontfeatures{ Scale=MatchLowercase,
                      Ligatures=TeX,
                      Renderer=HarfBuzz }

\babelfont{rm}
          [Scale=1.0]{Libertinus Serif}
\babelfont{sf}
          {Libertinus Sans}
\babelfont{tt}
          {Libertinus Mono}

\babelprovide[import=fa, main]{persian} % You can call it farsi instead, if you prefer.

\babelfont[persian]{rm}
          [Language=Default]{Amiri}
% Define \babelfont[persian]{sf} here if needed.
\babelfont[persian]{tt}
          {ALM Fixed}

\begin{document}
کنند
\end{document}

相关内容