Skip to content

\textXX の定義と \everyparhook の入り方 #66

@doraTeX

Description

@doraTeX

Twitterで述べた件です。解決は難しそうですが,とりあえずご報告まで。

次のソースを (u)pLaTeX で処理すると,下記のようになります。

\documentclass[autodetect-engine]{jsarticle}
\usepackage[deluxe]{otf}
\def\test{「ほげABC」\par}
\begin{document}
\noindent ■■■■■■■■■\par
\test
\textmc{\test}
\textgt{\test}
\textmg{\test}
\textrm{\test}
\textsf{\test}
\texttt{\test}
\textmd{\test}
\textbf{\test}
\textup{\test}
\textit{\test}
\end{document}

image

jsclassesは \textmc, \textgt の定義からイタリック補正を外すよう再定義している影響で,\textmc, \textgt については \everyparhook の直前に挿入され,結果的に期待通りの出力となります。ですが,普通の \textXX は実装の先頭で \hmode@bgroup(= \leavevmode\bgroup)が実行されるため,段落先頭が \bgroup だと判断され,それゆえに \everyparhook の挿入位置が の直前にならず,JFMグルーが消されないようです。

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions