ラベル TeX の投稿を表示しています。 すべての投稿を表示
ラベル TeX の投稿を表示しています。 すべての投稿を表示

2010/04/25

hyperrefを使うとページサイズがおかしくなる

TeXのはなし。

\documentclass[a4paper,12pt]{jsarticle}
と、A4で指定したはずのページサイズがなぜかおかしくなってしまう。
12ptを10ptに戻すとページサイズが正常になるとか、妙な挙動をする。
いろいろいじってみた結果、
\usepackage[ ... ]{hyperref} をコメントアウトするとページサイズが正常になり、
hyperrefがなにか余計なことをやっているらしいことが判明。

・・・前はこんなこと起こらなかったような気がするんだけど
最近、なにかhyperrefに変更があったんだろうか。

で、hyperrefを使わないわけにもいかないので
なにか対処法がないものかとググってみたところ
hyperrefのオプションに "setpagesize" というのがあって、
いつのまにかデフォルトの値がtrueに変更されたらしい。
http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?hyperref#notetext_1
(Ctrl+Fでsetpagesizeを検索しないとなかなか見つからないかも...)
つまり、オプションに "setpagesize=false" を追加すればいいようだ。

しかしなぜ、ハイパーリンクを扱うパッケージで
ページサイズなんぞをいじってるのだろうか・・・?

結論 :
hyperrefを使うとページサイズがおかしくなる場合、
hyperref のオプションに "setpagesize=false" を追加する。
\usepackage[setpagesize=false,...]{hyperref}

_______________________
2010.05.24 追記 :
すいません。訂正しました。
誤) "setpapersize"
正) "setpagesize"

2009/05/28

TeX : 索引ページのヘッダ・フッタ

なんか唐突だが、
TeXの小ネタ。

ヘッダやフッタをいろいろいじった文書を
fancyhdr パッケージを使って作ってた。
で、それにはmakeidx パッケージと mendex を使って索引もつけてたのだが、
どういうわけか、\printindex コマンドで出力した索引ページだけは
ヘッダ・フッタが強制的に(デフォルトの設定に)変更される。
fancyhdr を使わずにヘッダ・フッタを設定しても同じようなことが起こる。

まぁ、索引ページにあれこれヘッダ・フッタをつけるな、
と、いうことなのかもしれないが、
状況によっては
ページ番号の位置が索引ページだけ違うところにある、
なんてことにもなるわけで。

いろいろ原因を探ってみたところ、
結局、クラスファイル jsarticle.cls の
theindex 環境の定義に原因があった。
(この theindex 環境は、\printindex コマンドで取り込まれる
*.ind ファイルに書かれているので、直接使用することはない。と思う。)

jsarticle.cls ファイル中の theindex 環境の定義(1400行ちょっとあたり)
\newenvironment{theindex}{%
...

に続く、
\plainifnotempty
というコマンドをコメントアウトすると
(このコマンドがヘッダ・フッタをデフォルトに設定するらしい)
ヘッダ・フッタが索引ページで強制的に変更されることはなくなる。