CrossRoad

XRを中心とした技術ブログ。 Check also "English" category.

解説:Re:VIVEW記法のfootnoteのフォントサイズを調整する方法 (#技術書典)

かなりマイナーなネタですが、他に情報を見つけられなかったので書いておきます。

背景
・技術書典16向けに書いている「Babylon.js レシピ集Vol.4」でfootnoteに書いたURLがはみ出してしまう

対応
・articles/sty/jsbook.cls、およびtechbooster-doujin-base.styを編集してfootnoteのフォントサイズを小さくする

この記事では具体的な方法を解説します。

1. footnoteとは

本や論文のページ下に追加される注釈です。以下のようなURLが該当します。

A footnote example on Re:VIEW format

この例では問題ないのですが、URLの文字列が長いとページをはみ出してしまいます。

Too long footnote on Re:VIEW format

これでは見栄えが悪いですね。

2. footnoteのサイズを小さくする方法

こちらのリポジトリをベースに作った場合で説明します。Re:VIEW記法での書き方、pdfビルド方法などは既知とします。

github.com

まず、articles/sty/jsbook.clsを編集します。footnotesizeという構文が対象になるので、if, fiの中にあるフォントサイズに相当する箇所を変更します。

gist.github.com

詳細がわかっていませんが、@viiipt{11}%は8-11ptのサイズにするという意味のようです。

そこで、これを@vpt{6}%に変更し、5-6ptに変更します。

これで、footnoteのフォントサイズが小さくなるので、長いURLでもはみ出ることなく表示されます。

Resized footnote font size on Re:VIEW format

しかし、このままだとソースコードも合わせて小さくなります。

Too small emlist on Re:VIEW format

原因は、articles/sty/techbooster-doujin-base.styの中で、ソースコードを表示するためのemlist構文のフォントサイズ指定にfootnotesizeを使っているためです。そのため、元々8-11ptだったフォントサイズが5-6ptになっています。

これを解消するため、jsbook.clsのsmallという変数を8-11ptと変更し、emlist構文がsmallを読むようにしました。
(Tex構文に慣れてないので既存のsmall変数を使いましたが、新しく変数を定義するのが正しいと思います)

まず、smallは元々9-13ptだったので変更します。変更対象はarticles/sty/jsbook.clsの中です。

gist.github.com

次に、emlist構文がsmallを使うようにします。変更対象はarticles/sty/techbooster-doujin-base.styの中です。

gist.github.com

ここまで実施すると、emlist構文の表記も元々のサイズになります。

Appropriate emlist font size on Re:VIEW format

3. おわりに

長いURLがはみ出して困ることがあったのですが、ひとまず解決してよかったです。