名前: ZR 日時: 2011-02-11 00:49:59 IPアドレス: 119.104.58.*
>>55664 >\documentclass{book} >\usepackage{txfonts} >\special{pdf:mapfile dlbase14.map} >\begin{document} >\textbf{AAA} >\end{document} >なんだか,ノンブルを処理しているときは >\specialが有効になっていないような気がしてきたのですが, これについてはまさしく言う通りで、 'txr' を宣言する fntdef1 が xxx1(\special)よりも前にあるので txr には dlbase14.map が効かなくなってしまっています。 極めて粗くいうと、\special は「大きさのない文字」のように 振舞います。すなわち、ページ内の「書いた位置」に出力されます。 勿論、LaTeX のプレアンブルでは普通の文字は書けない(ように LaTeX が細工している)のですが、TeX から見れば、プレアンブル 部分も先頭ページの一部に過ぎないので、上の例での \special は 先頭ページの冒頭に書いたのと同じです。 では何故 special は実際の出力で先頭に来ないのか。その理由は、 LaTeX がページを出力するときにその内容を加工しているからです。 すなわち: - ヘッダ・フッタ部分の内容は、元のページ出力の最初・最後に 挿入されます。だから、ヘッダ部の出力は \special の前に 配置されることになります。 - そして、\AtBeginDvi で指定されたものは、先頭ページの冒頭に 追加されるようになっています。従って、「文書全体に渡って 有効にしたい \special」は必ず \AtBeginDvi に入れておくこと にするのが無難です。
この書き込みへの返事: