Open h-kitagawa opened 5 years ago
\textsuperscript
の内部で実行される命令 \@textsuperscript
の定義が以下のようになっている (latex.ltx) ことを考えると,以前の(pTeX 仕様変更に伴う)脚注番号前後の空き修正 (http://acetaminophen.hatenablog.com/entry/new-platex-20160507-01#main-3-1) と同じ話ですね.
\def\@textsuperscript#1{%
{\m@th\ensuremath{^{\mbox{\fontsize\sf@size\z@#1}}}}}
ただ,元々の LaTeX では,以下のように \textsuperscript
を利用して記号類が定義されているので,ただ \textsuperscript
, \textsubscript
を再定義するだけだと不安です.
\DeclareTextCommandDefault{\texttrademark}{\textsuperscript{TM}}
\DeclareTextCommandDefault{\textordfeminine}{\textsuperscript{a}}
\DeclareTextCommandDefault{\textordmasculine}{\textsuperscript{o}}
見落としていました。
\@makefnmark
の中といった「暗に使われるケース」を考えたほうが良いかもしれません。
\@makeenmark
で \@textsuperscript
を使っていて,影響がモロに及びます。この例については \xkanjiskip が入らないべきです。
- \textsuperscript, \textsubscript を直に使うとき,\xkanjiskip が入ることを「期待するか,しないか」の時点で意見が分かれそうです。
私もよくわからないです.どういうときに実際に使われるのかもあまり思いつきませんし.
- ところで
\texttrademark
は TS1 (textcomp) にすると\xkanjiskip
が周囲に入りますよね。
この挙動って,pLaTeX 2016-06-10 で 128--255 の \xspcode
が 3(両側とも \xkanjiskip
挿入許可)になったことによりますよね (#6).その時に同様の「\textcopyright
ってどうなるのが正解でしょうか?」という話がちらっと出ましたが,結論は出ないままでしたっけ?
pLaTeX 2016-06-10 で 128--255 の \xspcode が 3(両側とも \xkanjiskip 挿入許可)になったことによりますよね (#6).
そういえばそうでした。\textcopyright も結論は出ていませんね…。
そうするとやはり
- そこでむしろ,直にではなく
\@makefnmark
の中といった「暗に使われるケース」を考えたほうが良いかもしれません。
に頼る可能性が出てくるので,他にそういう例はないか探してみましょうか。
かなり間が空きましたが,今思っていることです。
\@makefnmark
の修正を外したい。\textsubscript について,試しに「ありえそうな例」を作ってみた。
\documentclass{jarticle}
\begin{document}
問1.下線部を漢字に直しなさい。
ここは\textsubscript{1}\underline{ジュウヨウ}です。
\end{document}
この例だと前者(アキあり)が自然に見える…わけですが,そもそも「2015 年以降」しか存在しない命令なので,こういう用法は無視することにして「直す」方を支持します。具体的なコードは未検討です。
この件ですが,今回 (pLaTeX2e 2020-10-01) は見送りとします。
なお,本家 LaTeX2e 2020-10-01 で \@textsuperscript
と \@textsubscript
の元の定義が変更されるようです(具体的には \fontsize の第二引数(ベースライン)がゼロではなく \sf@size
になる)。
元は LuaTeX-ja のチケット (https://ja.osdn.net/projects/luatex-ja/ticket/38787) です:
pLaTeX でも同様の現象が起こるようなので(直すべきかはともかく)共有しておきます. 私の手元のサンプルは以下のとおりです: