TeXの記憶(69) — \protectを使ってヘッダに収める

LaTeXで組版していると長すぎるヘッダ(柱)に悩まされることがあります。長すぎてテキストサイズ(版面)からはみ出してしまう。ページ番号の位置がズレてしまったり、クラスファイルの設定によってはページ番号に重なってしまったりします。

1010a

長すぎる見出しは適切な文字数の見出しに直したほうが本当はいいのだと思います。ですが、様々な理由で例外的な箇所はこのまま詰め込みたいという場合もあります。

こんな場合は、以前の数式を詰めるときと同様に文字を小さくするよりも長体です。
\scaleboxが使えます。ですが、\sectionなどの引き数に\scaleboxを使ってしまうと目次も同じ長体がかってしまい、目次はまた別な方法で収めたい場合などには引き数の中に\scaleboxを使えません。

例外的な見出しなら\markbothや\rightmarkを使って、その中で\scaleboxを使えば良さそうですが、これらのコマンドが呼ばれたときに\scaleboxが展開されてしまうためにエラーが起こるようです。

そこで\protectを使って\scaleboxの展開を遅らせることにしました。\protectによって\scaleboxはそのまま先へ渡されエラーは回避できました。

残念ながら、章番号・節番号などは手動で入れることになってしまいました。

\section{神経分化に必須なインポーティン$\alpha$ファミリーサブタイプ発現の
  スイッチング}
\markright{1.1\hskip1zw
  \protect\scalebox{.85}[1]{神経分化に必須なインポーティン
    $\alpha$ファミリーサブタイプ発現のスイッチング}}

1010b

コメント