我的问题是:如何突出显示阿拉伯语文本的特定字母或“重音”,没有打乱字母之间的联系?例如,看灰色突出显示的文本(这是在 gimp 中编辑的):
我的要求:
- 文本必须包含英语、希腊语和阿拉伯语文本
- 必须能够在
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}