Re: \textwidthを変更したら…

名前: 北見 けん
日時: 2003-03-19 12:11:10
IPアドレス: 211.128.71.*

>>17661 ページのデザインは、いろいろなパラメータが協調して成り立っているので、 一部のパラメータだけを変えてもうまくいきません。 とりあえず、奥村さんのおっしゃる通り、\fullwidth だけでも変更する必要があります。 \addtolength{\fullwidth}{-\textwidth} \setlength{\textwidth}{28zw} \addtolength{\fullwidth}{\textwidth} でどうでしょうか。 一部のパラメータを変更した場合に、 \begin{document}のところで他のパラメータを計算しなおすように、 クラスファイルなりを設計することもできますが、 js... はそうではないようですから、ページのデザインを変更するときには 関係のあるパラメータを自分で設定しなおす必要がありますね。 私の自家用のクラスファイルは、一部のパラメータを変更した場合に \begin{document}のところで他のパラメータを計算しなおすように設計してあります。 参考までに、そこで採用しているやり方をご紹介すると、 (1) まず、クラスファイル内で \textwidth=-1sp,\insidemargin=-1sp などとしておく。 (2) \begin{document}のところで、(1)のどれが変更されたかチェック。 (3) どのパラメータが変更されたかによって、ユーザの意図を推測。 (4) ユーザの設定とデフォルト設定を、ユーザの意図を勘案しながら うまくマージして全てのパラメータを設定する。 というものです。 これをインプリメントするのにハードルがふたつありました。 ひとつは、(2)のところです。\AtBeginDocument を使おうとしたのですが、 \AtBeginDocument で渡したコードが実行されるのは、LaTeX がパラメータを 計算して \textwidth などを設定したあとなので、\textwidth の値を調べても ユーザがプリアンブルで設定したのかどうか判別できません。 結局、\document を書き換えて(2)の処理を潜り込ませました。 もうひとつは、当然ながら(3)のところです。うまい推測基準が作れないので、 パラメータの可能な組み合せのすべてに対して、残りのパラメータの計算方法 を定義しました。といっても実際には、比較的よく使いそうな組み合せの分だけしか インプリメントしていません。おいおい増やしていくつもりです。 ここのところをしっかりやって、japanese standard とするのは難しそうですね。

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)