というわけで\penalty
を保存&復帰させてみる.
\documentclass{jsarticle}
\newcount\savepenalty
\newcommand\myfootnote[1]{\savepenalty=\lastpenalty\message{penalty = \the\savepenalty}\unpenalty\footnote{#1}\penalty\savepenalty}
\begin{document}
\parbox{5zw}{あああ「\myfootnote{注}ああ}
\end{document}
想定通り.jlreq.clsでもやってみよう.
\documentclass[platex]{jlreq}
\pagestyle{empty}
\newcount\savepenalty
\newcommand\myfootnote[1]{\savepenalty=\lastpenalty\message{penalty = \the\savepenalty}\unpenalty\footnote{#1}\penalty\savepenalty}
\begin{document}
\parbox{5\zw}{あああ「\myfootnote{注}ああ}
\end{document}
あれ?コンソールへの出力を見ても\lastpenalty
が取得できていないらしい.文字クラス0との間にグルーがあるとだめそうね.
\documentclass{jsarticle}
\pagestyle{empty}
\postbreakpenalty`」=10000 % jis.tfmで」は文字クラス2,2と0の間には半角分のJFM glueがある.
\newcount\savepenalty
\newcommand\myfootnote[1]{\savepenalty=\lastpenalty\message{penalty = \the\savepenalty}\unpenalty\footnote{#1}\penalty\savepenalty}
\begin{document}
」\myfootnote{あ}あ
\end{document}
とするとpenalty = 0となる.\lastnodechar
を使った方がよいのかもしれない.
というかJFMのそうだけど自動挿入を手動でどうこうするのがつらい.\X ... \Yとかすると\Xと\Yの間を無視してJFMとか禁則とかを復活させてくれる魔法のマクロはないですか?
0 件のコメント:
コメントを投稿
コメントの追加にはサードパーティーCookieの許可が必要です