如何去除干扰中文粗体字体(\textbf)的删除线(\sout)?

如何去除干扰中文粗体字体(\textbf)的删除线(\sout)?

梅威瑟:

\documentclass{article}

\usepackage{xeCJK}

\usepackage[normalem]{ulem}

\begin{document}

\textbf{a a a} a a a,\textbf{aaa}aaa.

\sout{\textbf{a a a} a a a,\textbf{aaa}aaa.}

\textbf{我我我}我我我,\textbf{我我我}我我我。

\sout{\textbf{我我我}我我我,\textbf{我我我}我我我。} 

\end{document}

使用 XeLaTeX 编译的输出:

当使用 \sout 时,它不会以粗体显示“我我我”,而只会以粗体显示“我”。

最后一行不是我预期的输出,它是:

我我我我我我,我我我我我我。

看起来该\sout命令干扰了中文粗体(但不会干扰英文)。我不确定如何解决这个问题。我尝试\protect在 之前添加\textbf,但没有任何变化。即使我将其更改为

\sout{{\bf 我我我}我我我,\textbf{我}\textbf{我}\textbf{我}我我我。} 

什么都没变。很奇怪。

问题:如何去除中文删除线(\sout)与粗体字体(\textbf)之间的冲突?

我找到了一种解决方法:

\sout{\textbf{我}}\sout{\textbf{我}}\sout{\textbf{我}}我我我,\sout{\textbf{我}}\sout{\textbf{我}}\sout{\textbf{我}}我我我。

这有点荒唐,但是却有效。

相关内容