Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ctex: 调用 luatexja 时的禁则处理 #534

Closed
tanukihee opened this issue Aug 16, 2020 · 1 comment
Closed

ctex: 调用 luatexja 时的禁则处理 #534

tanukihee opened this issue Aug 16, 2020 · 1 comment
Assignees
Labels

Comments

@tanukihee
Copy link
Contributor

#513 下发现的问题,新开一个 issue

ctex 在调用 luatexja 时,似乎并未进行标点的禁则(避头尾)与标点同西文间距的处理?

\documentclass{article}
\usepackage{ctex}
\usepackage[text=9em]{geometry}
\usepackage{lua-visual-debug}

\begin{document}
一二三,四五六,七八(9,0)。
\end{document}

image

而直接调用 luatexja,效果正常。luatexja.lua 下有调用 ltj-kinsoku.tex 相关的语句,不止为何 ctex 在调用时未起作用。

\documentclass{article}
\usepackage{luatexja}
\usepackage[text=9\zw]{geometry}
\usepackage{lua-visual-debug}
\usepackage{luatexja-adjust}
\begin{document}
\parindent=2\zw
一二三,四五六,七八(9,0)。
\end{document}

image

手动调用 ltj-kinsoku.tex

\documentclass{article}
\usepackage{ctex}
\usepackage[text=9em]{geometry}
\usepackage{lua-visual-debug}
\usepackage{luatexja-adjust}

\makeatletter
\input ltj-kinsoku.tex\relax
% 或者 \include{ltj-kinsoku}
\makeatother

\begin{document}
一二三,四五六,七八(9,0)。
\end{document}

避头尾处理与间距处理在 ltj-kinsoku.tex 中得到规定,且其中规定可以较好地适用于中文排版。

@tanukihee
Copy link
Contributor Author

tanukihee commented Aug 16, 2020

破案了,ctex 进行禁则处理时,调用的是 ltj-kinsoku.lua

ctex-kit/ctex/ctex.dtx

Lines 4600 to 4605 in 60cf6f7

% 以下设置抄录自 \file{ltj-latex.sty}。
% \begin{macrocode}
\directlua{
local s = kpse.find_file('ltj-kinsoku.lua', 'tex')
luatexja.stack.charprop_stack_table[0] = s and dofile(s) or {}
}

但 luatexja 在 8/7 的此次更新中,删去了 ltj-kinsoku.lua,改为提供 ltj-kinsoku.tex 文件,故而禁则处理失效了

luatexja 调用 ltj-kinsoku.tex 的代码也转移到了 luatexja.lua 中

@qinglee qinglee self-assigned this Aug 16, 2020
@qinglee qinglee added the bug label Aug 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants