TeXで文書を書いていて、図を入れるとき、
\begin{figure}[htbp]
\begin{center}
\includegraphics[width=130mm]{figure.png}
\caption{図の説明}
\label{fig:figure}
\end{center}
\end{figure}
と入れるわけですが、図の説明がむっちゃ長いときは複数行に入ります。
図1.1 めっちゃ長い図の説明がここに入っていることを想像して
ください。ある程度の長さがあれば、このように途中で改行が入
ります。
と途中で改行が入るわけです。当たり前ですが。
改行された文字は、個人的にはインデントして欲しい時があるわけですのだ。
図1.2 めっちゃ長い図の説明がここに入っていることを想像して
ください。改行されたときにはインデントしていてくれる
と嬉しいときもあるのですよ。
と、こんな感じにして欲しいのだ。
こんなふうにする為には、適当にgoogle先生に聞くと、
\hangcaptionを使えと言われる。
hangcaption.styをどこかから拾ってきて
\usepackage{hangcaption}
をプリアンブルに入れて、
\caption{図の説明}
の代わりに
\hangcaption{図の説明}
にすると、改行される。
一々hangcaptionに書き換えるのが面倒なときは、
プリアンブルの\usepackage{hangcaption}のすぐ下の行に
\renewcommand{\caption}{\hangcaption}
とか書いとくよろし。
ついでに
\captionwidth=0.9\textwidth
みたいな行も追加しておく方が心持ちが良いかと。
ところがですね、
hangcaptionって、minipage環境下とかで図を横に二つ並べたときにはhangされないのですよ。
さて困ったとかって困ったときには英語のgoogleさんに聞いてみると、
実は、latex2eには元々そういうインテリジェントなcaptionを設定するパッケージが備わっているということを知りました。
\usepackage{caption}
で、すごいことができるのだすよ。
詳しくは
http://tug.ctan.org/pkg/captionらへんからドキュメントのPDFを見るとわかりますが、
\usepackage[format=hang,labelsep=quad,margin=5pt]{caption}
みたいにオプションを[]で挟んでぼんぼん指定していくだけ。
あとはそのまま。
図の説明文の行頭をぶら下げるだけじゃなくて、図番号の後ろの区切り文字をコロンにしたりダッシュにしたり、キャプションのフォントサイズを小さくしたり、左右に余白を取ったりとか、多分できないことはないんじゃないかと思うくらいのありとあらゆる指定ができるようで。
なんで日本語のgoogleでこの情報が出てこないんだろうとか思うわけではありますが、
それはおそらく日本人との相性の悪さが一因ではないかと思う次第。
\usepackage{caption}すると日本語のフォントがことごとくおかしくなるわけなのです。
章のタイトルが明朝の本文と同じサイズになってしまうんです。
ひどいです。
何がひどいって英語だとちゃんとでかくて太い文字になってる辺りですね。
TeX的には
LaTeX Warning: Command \selectfont has changed.
Check if current package is valid.
という警告を吐いてくるわけで、
「この人のせいでフォントがおかしくなってるけど良いの?」(超意訳)
と聞かれているのですが、
日本人的には全然いくない。いいわけがない。
要はselectfontさせなけりゃ良いだけの話ってことで、
http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/34726.html
にその問答が載っておりまして、
答えだけ書けば、
空のragged2e.styとeverysel.styというファイルを同じフォルダに作成してしまえばそれで解決。
誰かがパッケージの手直ししてくれるととても嬉しいのですけどね。(←他力本願)
どうでも良いが、
minipageが狭すぎるとUnderfull \hboxがどうのこうのというログを吐いているらしい。
dviもPDFもきちんとできているので無視してもいいんじゃないかなぁ。
PR