xcolor
我们在使用从右到左的文本(pdflatex 和 xelatex)时遇到了很多问题
从右到左的文本颜色奇怪
答案建议使用fontspec
包中的命令
{\addfontfeature{Color=red} colored text here }
我认为,如果可以将命令的定义更改\color
为与 fontpec 中的定义相同, Color
我们就可以部分解决这些问题
\documentclass{beamer}
\usepackage{fontspec}
\setmainfont[Script=Arabic]{Amiri}
\usefonttheme{serif}
% redefine \color{#1} to be the same as \addfontfeature{Color=#1}
\usepackage[rldocument]{bidi}
\begin{document}
\raggedleft
\begin{frame}{title}
\begin{enumerate}\raggedleft
\item
text from right to left \alert{text from right to left text from right to left
text from right to left} out
\end{enumerate}
\end{frame}
\renewcommand{\alert}[1]{{\addfontfeature{Color=red}#1}}
\begin{frame}{title}
\begin{enumerate}\raggedleft
\item
text from right to left \alert{text from right to left text from right to left
text from right to left} out
\end{enumerate}
\end{frame}
\end{document}
答案1
不,这确实不是一个好主意\addfontfeature
。仅有的字体,不是规则,不是像 tikz 这样的绘图。因此在演示文稿中,您会丢失所有框架颜色:
\documentclass{article}
\usepackage{fontspec,tikz}
\setmainfont{TeX Gyre Heros}
\begin{document}
{\color{red}
some text in red
\rule{1cm}{1cm}
\tikz\draw[<->,red](0,0)--++(1,1);
}
\def\color#1{\addfontfeature{Color=#1}}
\color{red}
some text in red
\rule{1cm}{1cm}
\tikz\draw[<->,red](0,0)--++(1,1);
\end{document}