我正在尝试使用包突出显示用俄语编写的文本soulutf8
。在使用 XeLaTeX 呈现的 PDF 文件中,我没有看到突出显示的俄文字母,而是看到了空白。使用英文符号,它可以正常工作。
我的 MWE:
\documentclass[a4paper, 11pt]{article}
\usepackage[main=russian, english]{babel}
\usepackage[T2A]{fontenc}
\usepackage[cm-default]{fontspec}
\setromanfont{PT Sans}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{soulutf8}
\sethlcolor{red}
\begin{document}
Текст на русском для проверки кириллицы.
\hl{Выделенный русский тест}
\hl{Highlighted English text}
\end{document}
我得到的结果:
答案1
与建议的类似这个答案,并且还在这个\usepackage{soulutf8}
,可以通过在或后添加以下几行来实现西里尔字体的突出显示\usepackage{soul}
:
\makeatletter
\font\SOUL@tt={LiberationMono}
\setbox\z@\hbox{\SOUL@tt-}
\SOUL@ttwidth\wd\z@
\makeatother
或者像这样:
\makeatletter
\let\SOUL@tt\relax
\newfontface{\SOUL@tt}{LiberationMono}
\setbox\z@\hbox{\SOUL@tt-}
\SOUL@ttwidth\wd\z@
\makeatother
这LiberationMono
只是支持西里尔字符的 TrueType 字体的一个例子。