見出し画像

「Python学生化学実験」を書くにあたり

冬コミでは、有機化学者に使ってもらいたいと思い、「Python学生化学実験」という本を頒布しました。Python学生化学実験を作成するにあたり、組版周りで考えていたことを書き残します。

@POO_MATSUMOTO さんのレビュー大会に参加したので、参考として本投稿を作成します。氏のレビューはこちらから。


組版ソフトの変更

これまではRe:view Starterを使用していたのですが、初心者向けの本ということでシンタックスハイライトを使用したいと考えました。Re:view Starterでは自動でシンタックスハイライトができないため、その他の組版ソフトを検討する必要がありました。

組版のソフトウエアとしてはMicrosoft WordやInDesignなどがありますが、これらも自動でのハイライトができません。

そこで、今回はCSS組版を用いるvivliostyleに変更することにしました。仕組み上WebブラウザからPDFを出力するため、Prism.jsなどのハイライトの恩恵を受けることができます。

また、Re:Viewなどでは内部的にLaTeXに変換し、TeXを通してPDFにするためレイアウトの調整が困難という問題があります。vivliostyleにすることでCSSができれば自分でレイアウトを調整できます。
そのためレイアウトに凝るということもできます。

なおvivliostyleの使い方だとこんな本を書いている人もいらっしゃいます。

誌面構成について

個人的にはB5サイズの本を多く出していたため、今回もB5サイズにしようと考えていました。同人誌の中では大きめのサイズで開きやすいと考えています。

本文

初心者向けのためフォントサイズは少し大きめ(11 pt)に設定することを想定していました。
一方で、B5サイズの横いっぱいに文字を並べると、1行が長すぎ読みにくいという弊害が生じます。2段組だと15文字程度で改行となるので、忙しない印象を受けることを危惧しました。
そこで今回は、誌面の2/3を本文に割り当て、残りの1/3を脚註に当てることにしました。

読みやすさから明朝系のフォントとし、堅苦しくない「しっぽり明朝」を利用しました。

プログラムコードについて

今回使用したPython言語では公式の推奨しているコーディング規約(PEP 8)があります。このPEP 8では1行の最大文字数を80文字とすることが推奨されています。ディスプレイ上でプログラミングする際の目安ではありますが、誌面でも同じ割り振りの方が初心者にはわかりやすいと考えます。
しかし、文字サイズを12 ptで作成すると80文字は480 pt(約169 mm)になります。B5は横幅が18.2 cmのためノド・小口を取る余裕がありません。プログラムコード部の文字サイズは9 ptにすると収まりがよかったため、9 ptの設計としました。(※9 pt × 80文字 = 360 pt(約 12.7 mm))

プロポーショナルフォントは文字ごとに幅が異なり、縦の揃いが悪くなります。そのため、非プロポーショナルフォントのM Plus 1 Codeを利用しました。
このフォントはラテン文字で似ている文字が区別しやすいようになっています。

i I l 1 の比較

ノドのサイズなどを加えると、以下のようになります。

誌面の割り振り

組版(っていうと大袈裟だけど)

本文は「ぐわー」っと書いて組版ソフトに投げれば、概ねなんとかなります。ただし、流し込まれただけの文章というものは読みにくいです。時間がないため拘りきれない部分は多かったですが、以下の点を修正しました。

ページ送り

ページの最後に節のタイトルが来るというパターンがありました。このようになると、ページをめくる間、それまでの内容を脳内に留めておく必要があります。それは脳に対して負荷をかけるため、可能な限り節の始まりはページの先頭になるようにしました。

このような場合、「2.4 まとめ」は次のページに送る

またプログラムコードもページ内で完結するか、見開きで完結するようにしました。

見開きに押し込んだソースコード

できなかったこと

12月初旬まで原稿を作成していたため、組版周りでこだわりきれなかった部分が以下です。

右上の節の表記

左上には章のタイトルが表示されていますが、右には表示できていません。CSS の設定でなんとかできないか、と思ったのですが、どうにも設定を見つけられず断念しました。
詳しい友人によると、なんとかできるらしいので、修正したいところ。

脚註

個人的には左ページの脚註は左側にあって欲しい。
左右によって自動的に脚註の位置を自動設定する方法が分かりませんでした。入稿までの時間がなかったためこれも諦めてしまいました。

次回の頒布などに関して

今回は真面目な本を書いたので、次回は吹っ飛んだ側の作品を作ろうと思います。2025年夏コミで頒布できるように頑張りたいと思います。

いいなと思ったら応援しよう!