Re: ハイフネーションの問題

名前: 本田
日時: 2008-11-07 12:47:55
IPアドレス: 61.194.13.*

>>52253 >という方法で問題が回避できるかと思ったのですが,このコマンドそのものは >通るものの,\begin{document}以下でアポストロフィを見つけると, >TeX capacity exceeded, sorry [grouping levels=255]. TeXのマクロは「置き換え」にすぎないということを理解してください。 定義の段階では置き換えの予約をするようなものです (遅延評価というかなんというか)。 したがって、実際に実行されるとき ' が\kern+0.25pt{'}\kern+0.25ptとなり さらに \kern+0.25pt{\kern+0.25pt{'}\kern+0.25pt}\kern+0.25pt ・・・ となるということです。 回避策は \def\savedap{'} \catcode`\'=13 %activeに変更 \def '{\kern+0.25pt{\savedap}\kern+0.25pt} でしょうか。 一度読み込んだもののカテゴリコードは変更できないという仕様を 逆手にとるのがトリックです。 # ' を無条件にアクティブにすることの是非は考慮していません。 #私なら副作用を考えて無条件にアクティブにすることはしません。

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます。適宜改行を入れてください)