名前: misc 日時: 2004-05-03 02:43:09 IPアドレス: 219.108.34.*
>>28648 >\@tempdima=\textheight >\divide\@tempdima by 20 >として、単に >\divide\@tempdima by \baselineskip >としても、\@tempdimaには0.00002ptというような >全然関係のない値が入ってしまいます。 “全然関係のない”というのは,単なる勘違いです. 実際,(除算の前では)\@tempdima = d [sp],\baselineskip = b [sp] (ただし,d,b は整数,b != 0)であるとき, 除算の後の \@tempdima の値はほぼ d/b [sp] です. # 実際には,d/b の小数点以下を切り捨てた値になっています. # 長さは常に sp を単位とした整数として取り扱われる,ということにも # 注意してください. >\renewcommand{\baselinestretch}{\@tempdima} >としても、当然エラーになってしまいます。 \edef\baselinestretch{\strip@pt\@tempdima} とすると,どうでしょうか. # \strip@pt\@tempdima は,\@tempdima を pt 単位で表した数値 #(単位 pt はつかない)を与えます.\strip@pt の定義および, # その処理内容については然るべき解説書を参照してください. # # なお,丁寧に計算するなら, # \baselinestretch := # { (\textheight - \topskip) / (``1 ページの行数'' - 1) } / \baselineskip # となるでしょう.
この書き込みへの返事: