ruby(furigana)包中的奇怪间距

ruby(furigana)包中的奇怪间距

如果我使用 ruby​​ 包为汉字提供假名,它似乎会将紧邻汉字的字符紧密粘合在一起并防止换行,从而产生奇怪且可能多余的间距。

这是软件包中的错误吗?我能以某种方式修复它吗?还有其他选择吗?(我发现了 pxrubrica,但它似乎仅适用于 platex。)

\documentclass[12pt]{standalone}

\usepackage{setspace}

\usepackage{xeCJK}
\setCJKmainfont{Hiragino Mincho Pro}
%\setCJKmainfont{VL Gothic}

\usepackage{ruby}
\renewcommand\rubysep{-0.7em}

\begin{document}
\fbox{
\parbox{25em}{
\doublespacing
\ruby{青}{あお}いスーツ、\ruby{白}{しろ}いシャツ、\ruby{赤}{あか}いネクタイが\ruby{男}{だん}\ruby{性}{せい}\ruby{従}{じゆう}\ruby{業}{ぎよう}\ruby{員}{いん}\ruby{全
}{ぜん}\ruby{員}{いん}の\ruby{必}{ひつ}\ruby{需}{じゆ}\ruby{品}{ひん}だ。
}}
\end{document}

先前代码的渲染

答案1

ruby包没有正确实现。我认为这段代码可以解决问题:

\usepackage{ruby}
\let\oldruby\ruby
\def\ruby#1#2{\oldruby{#1}{#2}\futurelet\next\addCJKglue}
\def\addCJKglue{\ifx\next\ruby \CJKglue \fi}

也可以看看在汉字上显示拼音,不影响字间距

相关内容