* geometry [#x589db6b]

geometry は,ページのレイアウトを柔軟に変更することができるパッケージです。
梅木さんによって作られました。

-https://www.ctan.org/pkg/geometry
-https://github.com/davidcarlisle/geometry

TeX Live, W32TeX に含まれています。
TeX Liveに含まれています。

----
#contents
----


** レイアウト(特に余白)について [#yf5cd2c8]

そもそも,ページレイアウトを変えたい理由のほとんどは「余白が広すぎるように感じる」ことでしょう。

しばしば,LaTeX 標準の article.cls,report.cls,book.cls(日本語なら jarticle.cls,jreport.cls,jbook.cls)の余白が広いという主張をみかけます。
しかし,実際は「余白が広い」のではなく,「用紙が大きい」というのが正しい理解です。
これらのクラスファイルは,米国で標準的なレターサイズ文書を前提に作られており,それをそのまま A4 用紙に印刷するので結果的に余白が大きく見えるのです。

レイアウトを自分でいじる場合に避けるべきことを挙げておきます。
もちろん,本当に「TeX が何をやっているのか」分かっている人なら,これらを使うことには制約はありません。
ページレイアウト・パラメータの直接設定を行うには,複数のパラメータを整合性を保って設定する必要があり,以下は初心者にはあまり勧められません:
-やってはいけないこと
--\oddsidemargin などの調整によるレイアウト変更
// 何故ですか?「ページレイアウトパラメータの設定には必ず geometry パッケージを使わなければならない」とでも言いたいのですか?
// 「ページレイアウト・パラメータの直接設定を行うには,複数のパラメータを整合性を保って設定する必要があり,初心者には勧めにくい」程度の主張であれば,同意しますが.
// // l2tabu に書いてある Do not をそのまま「やってはいけないこと」と訳しただけです.
// // Do not use \oddsidemargin or similar commands for modifying page layout.
// // 同じ個所で「typearea.sty がだめなら geometry.sty か vmargin.sty」と書かれていて
// // それゆえに「一つの」対処法と書いているつもりです.
// // ただ,語弊のないように上で補足することにしました.
// // いま私は Wiki 内の『古い情報』に l2tabu が何の検証もなしに引き写されていることを
// // 問題視していて,l2tabu の情報が「古い」のか「根本的に間違っている」のか再検証する
// // 必要性を感じています.『geometry』のページを作ったのも,そのきっかけを作るためです.
// // そういえば私,『古い情報』のコメント欄に「検証しましょう」と昔書いていますね.
-絶対にやってはいけないこと
--\hoffset,\voffset をいじること
-参考:[[使ってはいけない LaTeX のコマンド・パッケージ・作法:http://ichiro-maruta.blogspot.jp/2013/03/latex.html]]の「8. ページレイアウトの変更」

一つの対処法が,この geometry パッケージを利用することです。


** 使い方 [#c2c67492]

-[[geometry.sty LaTeX パッケージ:http://www.biwako.shiga-u.ac.jp/sensei/kumazawa/tex/geometry.html]]
-[[geometry.sty LaTeX パッケージ:http://xyoshiki.web.fc2.com/tex/geometry.html]]
-[[LaTeX メモ ― geometry パッケージによるページレイアウトの設定:http://dayinthelife.at.webry.info/201401/article_2.html]]
-[[geometryパッケージ 再訪:http://konoyonohana.blog.fc2.com/blog-entry-119.html]]


** ドライバ指定の注意 [#qfffde83]

geometry パッケージは,ページレイアウトの指定を \special コマンドとして埋め込みます。
したがって,graphicx や color,xcolor と同様のドライバ指定が必要です。

ただし,geometry には dvipdfmx ドライバオプションが作られていませんので,dvipdfm を指定するしかありません((当然ですが,graphicx や color,xcolor には dvipdfmx オプションがありますので,これらには正しく dvipdfmx を指定しましょう。[[古い情報>古い情報#g29113d8]]も参考に。))。
geometry 2018/03/26 v5.8 以降は dvipdfmx ドライバオプションが使用できます。geometry v5.7 以前は dvipdfmx ドライバオプションが作られていませんので,dvipdfm を指定するしかありません((geometry v5.7 以前は dvipdfmx オプションがありませんが graphicx や color,xcolor などのパッケージには dvipdfmx オプションがありますので,これらの dvipdfmx オプションに対応したパッケージについては dvipdfmx を指定しましょう。[[古い情報>古い情報#g29113d8]]も参考に。))。
-[[(x)dvipdfmx aliases for issue #1 · davidcarlisle/geometry@1598677 · GitHub:https://github.com/davidcarlisle/geometry/commit/1598677bcb905344e14d196fad15eac50e1ae92b]]
-[[LaTeX 覚え書き・その2:http://blog.ousaan.com/index.cgi/links/20140904.html]]


** geometry パッケージの縦組み対応 [#j41bdb1d]

geometry パッケージは,長らく(そして現在も)縦組みに対応していませんでした。
-geometry.sty を縦書きで [[forum:1116]]

そこで,geometry パッケージを無理矢理縦組クラスでも使えるようにする lltjp-geometry.sty が開発されました。
もともとは [[LuaTeX-ja]] プロジェクトにおける縦組の実装で作られたものですが,単体で (u)pLaTeX でも使えます。
LuaTeX-ja 20150420.0 リリースにより,これも TeX Live, W32TeX に含まれています。

-縦組クラスでの overfull 警告 [[forum:1442]]
-LuaTeX-ja 20150420.0 [[qa:57629]]


** TeX Q & A,TeX Forum より [#kf77807a]

-文字数と行数指定で余白も指定したい ([[forum:1206]])
-上下左右の余白を25mmに設定したい ([[forum:1228]])
-B4判を横置きに使用 ([[forum:652]])
-Xelatexで既存のPDFにしおり追加-用紙サイズについて ([[forum:604]])
-jsクラスの用紙サイズについて ([[forum:507]])
-用紙サイズ, A3, 横 ([[forum:470]])
-a3サイズの用紙を使うことはできますか? ([[forum:260]])
-dvipdfmx での用紙サイズの拡大/縮小 ([[qa:52373]], [[qa:52374]], [[qa:52376]], [[qa:52381]], [[qa:52383]], [[qa:52387]], [[qa:52388]], [[qa:52389]], [[qa:52439]], [[qa:52440]], [[qa:52441]], [[qa:52442]], [[qa:52455]], [[qa:52456]], [[qa:52457]], [[qa:52458]], [[qa:52463]], [[qa:52464]], [[qa:52473]])
-jsarticle の papersize オプションと geometry.sty ([[qa:33951]], [[qa:33957]], [[qa:33958]], [[qa:33962]])

% とりあえず関係ありそうなものを羅列。古いものもとりあえず拾ってきたので,今の状況に即していなければ補足しつつ分類。


** 関連リンク [#m290ef5a]

-[[LaTeX 覚え書き・その4:http://blog.ousaan.com/index.cgi/links/20140910.html]](geometry パッケージを使わずに,複数のパラメータを整合性を保って設定する例)