如果我使用 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}
也可以看看在汉字上显示拼音,不影响字间距