A Day in the Life

アクセスカウンタ

zoom RSS LaTeX メモ ― geometry パッケージによるページレイアウトの設定

<<   作成日時 : 2014/01/31 17:18   >>

なるほど(納得、参考になった、ヘー) ブログ気持玉 2 / トラックバック 0 / コメント 1

LaTeX でちょっとした文書を書こうとするとき,ページレイアウトのために,煩雑な設定が必要になることがある.たとえば,LaTeXの article などの標準的なスタイルでは,デフォルトではマージン(余白)が大きめな設定になっている.このマージンを狭めにしようとしても,LaTeXで直感的に設定することは意外に難しい.

LaTeX のレイアウトについては,LaTeX/Page Layout - Wikibooks, open books for an open world のページがまとまっている.その「Page dimensions」のセクションを見れば分かるように,レイアウト設定のために,さまざまな変数が用意されている.しかしながら,それらはあまり直感的な変数とは言えず,実際,余白をちょっと狭めにしたいといった場合ですら,思うように設定することは難しいのである.

こんなとき,シンプルかつ直感的にレイアウトを設定できるパッケージとして,geometry がある.

geometry パッケージを使うには,プリアンブルのところで以下のように記述すればよい.

\usepackage[margin=.8in]{geometry}


明らかなように,上記のコマンドは,geometry パッケージを用いて(上下左右の)マージンを 0.8 インチに設定するというものである.LaTeXのデフォルトの分かりにくいレイアウト設定が嘘のように,geometry では,直感的でシンプルな設定が可能となっていることが分かる.

他の例として,上下のマージンをそれぞれ 2 cm,左右のマージンをそれぞれ 1 cm とし,下マージンの上にフッタを位置させたいといった場合は,以下のようにすればよい.

\usepackage[top=2cm, bottom=2cm, left=1cm, right=1cm, includefoot]{geometry}


また,上記は以下のように書いてもよい(同じ意味である.いずれか好きなスタイルを選べばよい).

\usepackage{geometry}
\geometry{top=2cm, bottom=2cm, left=1cm, right=1cm, includefoot}



geometry を使うのは,主にマージンを設定したいときではないかと考えられるため,上記のことを知っていれば,実用上は十分だろう.

しかしながら,このエントリでは,参考のため,以下で簡単に geometry を説明しておきたい.より詳しい情報については,geometry のマニュアル (geometry.pdf)を参照されたい.


geometry のデフォルトのレイアウト設定は,図1のように与えられる.非常に直感的で分かりやすいことが分かる.図1の変数を簡単に説明すると,以下のようになる.

  • paperwidth, paperheight … 紙の横幅,縦幅を表す.

  • top (あるいは tmargin), bottom (bmargin), left (lmargin), right (rmargin) … 上下左右のマージン

  • total … 紙からマージンを除いた部分を,total body といい,変数 total で表す.これは,total={w, h} のように設定すればよい.ここで,w, h は,それぞれ total body の横,縦の長さである.

  • text (あるいはbody), textwidth, textheight … total body の中にある,テキストエリアが text あるいは body で表され,その横幅,縦幅がそれぞれ textwidth, textheight によって設定できる.デフォルトのレイアウトでは,total body = body である.text の設定は,text={w, h} のようにすればよい.

  • headheight (あるいは head), headsep … ヘッダ領域の高さが headheight (あるいは head) であり,ヘッダとテキストエリアの距離が headsep である.デフォルトでは,ヘッダ領域は,top マージンのところに位置する.

  • footskip (あるいはfoot) … フッタ領域の高さ.



画像
図1: デフォルトの設定


ヘッダあるいはフッタを,上下マージンではなく,total body の中に含むこともできる(図2参照).これは,includehead あるいは includefoot というフラグを設定することで可能となる(どちらか一方だけの指定も可能).この場合,テキストエリアとヘッダあるいはフッタを合わせて,total body となる(図2).

画像
図2: includeheadincludefoot が設定された場合



geometry では,他にも,用紙の指定 (a4paper, letterpaper等),用紙に対する total body の大きさの割合を設定 (scale, vscale, hscale),行数指定 (lines),landscape, twocolumn などの設定が可能である.私が好きなのは,twoside という両面印刷を想定したオプションで,これは,奇数ページ偶数ページによって left, right のマージンを入れ替えるというものだ.簡易製本をするときや,ファイルに閉じるために穴を開けるときなどに便利である.


最後に,言うまでもないが,国際学会や論文誌の論文は,レイアウトが厳密に決まっているため,geometry を使ってレイアウトを変更することは避けるべきである.

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
気持玉数 : 2
なるほど(納得、参考になった、ヘー)
驚いた

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(1件)

内 容 ニックネーム/日時
しずかっていいますσ(uωuмё)おはつですん。彦さんのブログ好きすぎます☆good!!d(・∀・○)今日は恥ずかしかったけどコメントしちゃいました(*´∀`)b実は最近、彦さん自 身にも興 味がですね…σ(*´∀`照)えへへもしよかったら、仲良くなりたいなってσ(uωuмё)連絡くれたら嬉しいな(*・∀<*) それじゃ待ってますです(σ^▽^)σ
shijuju@docomo.ne.jp
2014/02/04 18:17

コメントする help

ニックネーム
本 文
LaTeX メモ ― geometry パッケージによるページレイアウトの設定 A Day in the Life/BIGLOBEウェブリブログ
文字サイズ:       閉じる