![不同颜色的变音点](https://linux22.com/image/287022/%E4%B8%8D%E5%90%8C%E9%A2%9C%E8%89%B2%E7%9A%84%E5%8F%98%E9%9F%B3%E7%82%B9.png)
有没有一种简单的方法可以将 o-变音符号的点变成与o?我已经尝试使用包textcolor
中的函数color
,但我怀疑这是错误的方法。我知道我可以手动旋转和定位一些彩色圆点o,但我希望有人已经在我还不知道的包中实现了这种功能。
答案1
我带着累积点来了。但是,如果仔细观察,就会发现点的大小略有不同。如果愿意将周期缩短到\scalebox
略小的周期,就可以解决这个问题。
更新:MWE 已更新,以突出显示宏在不同字体大小下工作的能力,并更好地反映明显的读者的气质。
\documentclass{article}
\usepackage{stackengine}
\usepackage{xcolor}
\newcommand\cumlaut[2][black]{\stackon[.33ex]{#2}{\textcolor{#1}{\kern-.04ex.\kern-.2ex.}}}
\begin{document}
\"o\"e\"a vs. \cumlaut[yellow]{u} \large\cumlaut[yellow]{u}
\Large\cumlaut[red]{o}\cumlaut[green]{e}\large\cumlaut[blue]{a}%
\normalsize\cumlaut[cyan!50]{a}\scriptsize\cumlaut[cyan!20]{a}
\end{document}
答案2
您可以使用以下方法重叠重音字母和非重音字母\rlap
:
\documentclass{article}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{xcolor}
\usepackage{mathtools}
\let\umlaut\"
\newcommand\colorum[2]{\leavevmode{\rlap{\textcolor{#1}{\umlaut#2}}#2}}
\def\"{\colorum{red}}
\begin{document}
ab\"ab\colorum{blue}ob
AB\"AB\colorum{blue}OB
\end{document}
我重新定义\"
为默认为红色,但当然可以轻松修改。在缩小的 PDF 查看器中,颜色似乎“泄漏到字母后面”,放大并打印后看起来不错。
答案3
一个想法是先打印一个彩色的“ö”,然后在其上方打印一个黑色的“o”。这种方法的优点是,你不必手动调整点的位置。它们会出现在正确的位置,即使是斜体或草书字体。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{color}
\newcommand\twocolour[2]{\hspace*{0pt}\rlap{\textcolor{red}{#1}}#2}
\DeclareUnicodeCharacter{00D8}{\twocolour{\O}{O}}
\DeclareUnicodeCharacter{00F8}{\twocolour{\o}{o}}
\let\origdiaeresis\"
\renewcommand\"[1]{\twocolour{\origdiaeresis #1}{#1}}
\newcommand\test{\par
`Möbelträgerfüße' is a German word with some umlauts.
København is Copenhagen.
How about ``f\twocolour{i}{\i}sh'' (without the ligature in
``fish'').
}
\begin{document}
\LARGE
\test
\textit{\test}
\textsl{\test}
\end{document}
如果“需要”的话,可以添加更多重音符号和特殊字符。