Issue 64の3は,とりあえず次のようにすると期待通りに動く.
\edef\jlreq@do{
\unexpanded{\def\@footnotemark#1}{\unexpanded{}%
\unexpanded{\setbox\@tempboxa}=\noexpand\hbox{\expandonce{\@footnotemark{#1}}}%
\unexpanded{%
\@tempdima=\wd\@tempboxa
\ifjlreqadjustreferencemark
\jlreq@savepos@for@rest@linewidth
\ifdim\jlreq@current@linewidth<\wd\@tempboxa
\@tempdima=\jlreq@current@linewidth
\fi
\fi
\setbox\jlreq@tempboxb=\hbox{阿}%
\setbox\jlreq@tempboxa=\hbox to\z@{\hskip-\@tempdima\raise\dimexpr\ht\jlreq@tempboxb + \dp\@tempboxa\relax\box\@tempboxa\hss}%
\dp\jlreq@tempboxa=0pt
\ht\jlreq@tempboxa=0pt
\box\jlreq@tempboxa
}%
}
}
\jlreq@do
\def\@makefnmark{{\scriptsize\@thefnmark}}
hyperrefは\@footnotemark
を書き換えて,<リンク開始>\@makefnmark<リンク終了>
みたいになるみたいで,この\@makefnmark
の前後を基準にリンクをはる.しかしinterlinear時は\@makefnmark
は負の\hskip
が入っているので,\@makefnmark
の開始時の位置と合印の見た目上の位置がずれる,ということのようだ.なので,上のように\@makefnmark
を単純なものにして,リンクの入った結果の出てくる\@footnotemark
の全体を前に戻すようにすればよい.
んーでも合印の見た目上の出力は\@makefnmark
に入れるべきで,\@footnotemark
に入れるのはどうなんだ.しかもこのやり方だと,他パッケージより後に\@footnotemark
を書き換えないとならない.他パッケージを優先させるためにこの手の書き換えはクラスファイル読み込み時にしかやらないようにしているんだよなぁ.
0 件のコメント:
コメントを投稿
コメントの追加にはサードパーティーCookieの許可が必要です