I was looking for the way to create a strikeout text in XeTeX. After some googling I found two packages that supposedly could do that: ulem
and soul
. However, it turned out that both of them have some issues with my text.
ulem
doesn't offer automatic hyphenation, which probably wouldn't be a problem if I only had couple of words to strike through, but that's not the case-I'm dealing with quite a large chunk of text and to manually hyphenate it would be difficult.
sout
without additional configuration doesn't work properly with Cyrillic text in XeTeX: it only strikes out words that border punctuation marks and swallows the rest of text. It seems to work fine with LaTeX but I'd like to use Unicode fonts which would be much easier with XeTeX.
To illustrate the above, here's a small example:
\documentclass[draft=true]{scrartcl}
\usepackage[cm-default]{fontspec}
\usepackage{xltxtra}
\setmainfont{Palatino Linotype}
\usepackage{polyglossia}
\setdefaultlanguage{russian}
\usepackage{microtype}
\usepackage{ulem}
\usepackage{soulutf8}
\begin{document}
ulem:
\sout{Сшит колпак не по-колпаковски, вылит колокол не по-колоколовски.
Надо колпак переколпаковать-перевыколпаковать, надо колокол
переколоколовать-перевыколоколовать.}\\
soulutf8:
\st{Сшит колпак не по-колпаковски, вылит колокол не по-колоколовски.
Надо колпак переколпаковать-перевыколпаковать, надо колокол
переколоколовать-перевыколоколовать.}
\end{document}
It is rendered as follows:
As you see, there are line line overfulls with ulem
variant and the soul
variant is a complete mess. So I was wondering if there is any other way to achieve my goal.