如何为变音符号添加颜色?

如何为变音符号添加颜色?

我想通过不同的颜色使变音符号在视觉上脱颖而出。例如,我可以将 â 中的脱字符用红色表示,而将“a”用黑色表示吗?当我将其用作\textcolor{...}变音符号时,它没有正确地放置在字母上方(或下方)。

答案1

主要问题是当您使用T1编码字体时,其中重音字符不再通过将变音符号叠加在“非重音”字符上来组成,而是将它们作为包含变音符号作为其设计一部分的新字形。

对于这种情况,我能想到的唯一解决方案就是一个 hack:首先用红色写出重音字符,然后回溯并用黑色绘制相同但没有重音的字符:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\def\trick#1#2{\textcolor{red}{#1}\llap{#2}}

\begin{document}
a \trick{â}{a} â
\end{document}

结果

答案2

或许是以下内容:

\documentclass{article}
\usepackage{color}

\newbox\accentboxa
\newbox\accentboxb

\newcommand{\redhat}[1]{\setbox\accentboxa=\hbox{\^#1}%
\setbox\accentboxb=\hbox{\^{}}\leavevmode
\kern\dimexpr(\wd\accentboxa-\wd\accentboxb)/2\relax
{\color{red}%
\raise\dimexpr\ht\accentboxa-\ht\accentboxb\relax\copy\accentboxb}%
\kern-\dimexpr(\wd\accentboxa+\wd\accentboxb)/2\relax #1}

\begin{document}

\^a\redhat{a}\^a

\^A\redhat{A}\^A

\end{document}

在此处输入图片描述

相关内容