fancyvrb fancybox

悶々と修論を書いています。

それで、論文にプログラムのソースコードを載せたいんだけど、普通にverbatimを使うだけだと行間が文章の部分と一緒になっちゃって、日本語の文章の行間と同じだとちょっとスカスカに見えちゃうからソースの部分だけ行間を変えるにはどうしたらいいかなぁ、とか悩んでたら、先輩がfancyvrb(マニュアルのpdf)を教えてくれた。

これだと

\begin{Verbatim}[baselinestretch=0.5]
hoge
hoge
\end{Verbatim}

とかってやるだけで、verbatimでかつその部分の行間を調整できます。
さらに、その先輩にfancyboxというのも教えてもらって、ある部分をボックスで囲んだりするのに便利なものが入ったパッケージ。

おぉ、これもうれしいじゃんとか思って両方使おうと思ったら、なぜかbaselinestretchの値を変えても、行間が変わってくれなくなっちゃった。。。
なんやかんやで色々悩んでいたら、なんと\usepackage{fancyvrb}を\usepackage{fancybox}の前に書いちゃうとそうなってしまうらしい。。。だからこれらのパッケージを使うときは

\usepackage{fancybox}
\usepackage{fancyvrb}

という順番で宣言しないといけないみたい(一応先輩の環境でもそうだった)。
多分、マクロかなんかの定義が重複して上書きされちゃってるっぽいけど、latex恐ろしや。

ちなみに、予想通りこの二つのパッケージ間で定義が重複しているのだったら、宣言の順番を逆にすると、今度はfancyboxの何かの機能が使えなくなりそうなもんだけど、今のところ大丈夫。
はぁ、謎だ。