梅威瑟:
\documentclass[12pt]{article}
\usepackage{xcolor}
\usepackage[voc]{arabxetex}
\setmainfont{AlQalamQuranMajeedWeb}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.1]{AlQalamQuranMajeedWeb}
\definecolor{Kalkola}{HTML}{EE171F} %
\newcommand{\kal}{\color{Kalkola}}%
\begin{document}
{\Huge\begin{arab}
sub".ha"A
\end{arab}
}
\end{document}
这提供了:
答案1
这是我在 XeTeX 中能做到的最好的事情。奇怪的是,第一个连接符对齐得很好,但第二个连接符在着色时却对齐得不好。这可能是arabxetex
软件包中的一个错误。在新版本中可能会有所改进。
完整代码:
\documentclass[12pt]{article}
\usepackage{xcolor}
\usepackage[voc]{arabxetex}
\setmainfont{AlQalamQuranMajeedWeb.ttf}
\newfontfamily\arabicfont[Script=Arabic, Scale=1.1]{AlQalamQuranMajeedWeb.ttf}
\definecolor{Kalkola}{HTML}{EE171F} %
\newcommand{\kal}{\textcolor{Kalkola}}%
\begin{document}
{\Huge\begin{arab}
su-\kal{-b"-}-.ha"A
su-b"-.ha"A
\end{arab}}
\end{document}
但你也可以尝试其他方法arabluatex
。这个方法很有效:
LuaTeX 的完整代码:
\documentclass[12pt]{article}
\usepackage{arabluatex}
\newfontfamily\arabicfont{AlQalamQuranMajeedWeb.ttf}[Script=Arabic]
\usepackage{xcolor}
\definecolor{Kalkola}{HTML}{EE171F} %
\newcommand{\kal}{\textcolor{Kalkola}}%
\begin{document}
{\Huge \begin{arab}[fullvoc]
su\kal{b}.hA
\end{arab}}
\end{document}
答案2
以图形方式剪辑单词的三个副本是可行的,但需要手动调整剪辑开始/结束的位置:
(基于 egreg 的回答两种颜色的字符)
平均能量损失
\documentclass[12pt]{article}
\usepackage{xcolor}
\usepackage{trimclip}
\usepackage[voc]{arabxetex}
\setmainfont{Al Qalam Quran Majeed Web}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.1]{AlQalamQuranMajeedWeb}
\definecolor{Kalkola}{HTML}{EE171F} %
\definecolor{Kalkolab}{HTML}{12AF1F} %
%\newcommand{\kal}{\color{Kalkola}}%
\begin{document}
{\Huge\begin{arab}
\mbox{%
\textcolor{Kalkolab}{\clipbox{0 0 {0.7\width} 0}{sub".ha"A}}%
\textcolor{Kalkola}{\clipbox{{0.3\width} 0 {0.5\width} 0}{sub".ha"A}}%
\textcolor{Kalkolab}{\clipbox{{0.5\width} 0 0 0}{sub".ha"A}}%
}
sub".ha"A
\end{arab}
}
\end{document}
添加
从同一链接问题调整 Tikz 解决方案(也使用剪辑)也是可能的,并且在概念上更容易,但在编码方面更复杂,并且生成的 Tikzpicture 需要与文本一起从右到左装箱(可以这样\mbox
做),并且需要相对于基线垂直降低少量(这里,用\raisebox
一个负量)。
平均能量损失
\documentclass[12pt]{article}
\usepackage{xcolor}
%\usepackage{trimclip}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage[voc]{arabxetex}
\setmainfont{Al Qalam Quran Majeed Web}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.1]{AlQalamQuranMajeedWeb}
\definecolor{Kalkola}{HTML}{EE171F} %
\definecolor{Kalkolab}{HTML}{12AF1F} %
%\newcommand{\kal}{\color{Kalkola}}%
\newcommand{\Atwo}[3][A]{%
\begin{tikzpicture}
%place the underlying word
\node[inner sep=0pt,outer sep=0pt,text=#2] (a) {#1};
%define the clip rectangle
\clip (a.south east) [xshift=-1ex] rectangle (a.north);
% place the clipped word above
\node[inner sep=0pt,outer sep=0pt,text=#3] {#1};
\end{tikzpicture}
}
\begin{document}
{\Huge\begin{arab}
\fbox{sub".ha"A} {\raisebox{-.482ex}{\fbox{\Atwo[sub".ha"A]{Kalkolab}{Kalkola}}}} sub".ha"A sub".ha"A
sub".ha"A sub".ha"A {\raisebox{-.482ex}{{\Atwo[sub".ha"A]{Kalkolab}{Kalkola}}}}
sub".ha"A
\end{arab}
}
\end{document}