Closed RuixiZhang42 closed 4 years ago
重构过程中发现的一个 bug:
% !tex program = xelatex \documentclass{ctexart} \begin{document} 测试文本(测试文本) 测试\hbox{\hbox{文本}(测试文本)} \end{document}
其中,\hbox{文本} 在左括弧之前,作为 \lastbox 的宽度恰好跟 \parindent 完全一样,于是错误地认为接下来的左括弧处于自然段首。相关代码: https://github.com/CTeX-org/ctex-kit/blob/dbf79a0dcb771d567176c974d03f0f8f4a711728/xeCJK/xeCJK.dtx#L4145-L4156 仅仅判断 { \box_wd:N \l_@@_tmp_box } = \tex_parindent:D 还不够,要不要再在 True 分支里面加一层
\hbox{文本}
\lastbox
\parindent
{ \box_wd:N \l_@@_tmp_box } = \tex_parindent:D
\dim_compare:nNnTF { \box_ht:N \l_@@_tmp_box } = \c_zero_dim
基于 indent box 的高度(和深度)为零。
重构过程中发现的一个 bug:
其中,
\hbox{文本}
在左括弧之前,作为\lastbox
的宽度恰好跟\parindent
完全一样,于是错误地认为接下来的左括弧处于自然段首。相关代码: https://github.com/CTeX-org/ctex-kit/blob/dbf79a0dcb771d567176c974d03f0f8f4a711728/xeCJK/xeCJK.dtx#L4145-L4156 仅仅判断{ \box_wd:N \l_@@_tmp_box } = \tex_parindent:D
还不够,要不要再在 True 分支里面加一层基于 indent box 的高度(和深度)为零。