\textarabic 突出显示特定字母或文本元素

\textarabic 突出显示特定字母或文本元素

我的问题是:如何突出显示阿拉伯语文本的特定字母或“重音”,没有打乱字母之间的联系?例如,看灰色突出显示的文本(这是在 gimp 中编辑的):

specific arabic letters or accents (called diacritics) highlighted

我的要求:

  • 文本必须包含英语、希腊语和阿拉伯语文本
  • 必须能够在tabular环境中执行操作
  • 应该用 xelatex 编译。如果替代方案足够简单,我可以放弃它
  • polyglossia和。如果替代方案足够简单,\textarabic我可以放弃这个并使用arabxetex

我已尝试过:

很高兴获得有关stackengine(通过人工放置 tikz 填充)的说明或实现此目的的其他方法。

使用阿拉伯语文本进行实验的最小示例:

\documentclass[a4paper]{article}

\usepackage[cm-default]{fontspec}
\setmainfont[Mapping=tex-text]{DejaVu Sans}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.5]{Droid Arabic Naskh} % arabic font

\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage{arabic}

\begin{document}

\section*{Verbs - Ρήματα}

\begin{tabular}{ c c c c }
\textarabic{ المُفاعَلة } & \textarabic{ يُفَعِّلُ } & \textarabic{ فاعَلَ } & 3 \\
\end{tabular}

\end{document}

答案1

您可以使用音译形式来实现您想要的效果,arabxetex以避免在同一行输入 RTL 和 LTR 单词时产生混淆(可读性问题)

\documentclass[a4paper]{article}

\usepackage[cm-default]{fontspec}
\setmainfont[Mapping=tex-text]{DejaVu Sans}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.5]{Amiri} % arabic font
\usepackage{xcolor}
\usepackage[voc]{arabxetex}

\renewcommand{\fboxsep}{0pt}

\def\h#1{\colorbox{gray}{#1}}

\begin{document}

\section*{Verbs - Ρήματα}

\begin{tabular}{ c c c c }
\textarab{almu-\h{-f-}-a`l-\h{-T}} & 
\textarab{yufa`lu}                 & 
\textarab{f-\h{-a}`l}              &
3 \\
\end{tabular}

\end{document}

相关内容