LaTeXで攻略本を書く

書いた人: 冴月麟

こんにちは、冴月麟です。攻略本を書いて春例でも出そうと思っている中で、一旦書き方についてまとめて春例の攻略本執筆民を増やしたいなぁと思っていますのでどうぞ。

過去に執筆した攻略本

まず、過去に執筆した攻略本を書き並べてみる

妖々夢PhantasmNNNFS攻略本

2024年の博麗神社例大祭開催に合わせて出版
自身最初の攻略本となったためここでほぼ全てのフォーマットを完成させる。
BOOTHでも販売中。

妖々夢ExtraNNNFS攻略本

2024年の博麗神社秋季例大祭開催に合わせて出版
妖Phのフォーマットをほぼ引き継いだ。
BOOTHでも販売中。

風神録ExNNFS攻略本

2025年の博麗神社例大祭開催に合わせて出版
妖Phのフォーマットを引き継ぎながらもやや解説項目を変化させて完成させた。
BOOTHでも販売中。

攻略本を書こうと思った経緯

簡単な話だ。自分の組んだパターンを書き残したかっただけである。

攻略本を書く前に~LaTeX install~

友達に頼みました。はい。Luaか何かの LaTeXをインストールしてあります。多分動いてるのはただのLaTeX。あとVSCで編集しています。

攻略本を書く①そもそもなんの原稿が必要か?

当然ながら、攻略本なので、原稿を制作して印刷し、製本します。印刷所に頼むかどうかも含めて、印刷および製本の方法によって多少変わりますが今回の攻略本制作時の例を示します。

表紙原稿

本なので、表紙裏表紙は要るでしょう。販売するなら興味を持って手に取ってもらえるよう何かしらのキャラクターなどを表紙に描くのも良いでしょう。私は自分で絵を描いています。だんだんクオリティー下がってるとか言わないでください。面倒なんですよ、カラーの絵を描くの。

本文原稿(攻略部分)

当然必要です。てか無かったらお前何作りたかったんだよって話ですね。表紙落としてでも作るべきです。

本文原稿(システム解説等)

あったほうがいいでしょう。一体どういう縛りをつけるかも含めて攻略の手助けになります。一切スコアとかも稼がないし、システムの調整もする気はない、なんていう攻略でない限り少なからず気にすることになります。てか逆にそんなに何も気にしないパターンを組む人が攻略本を書く気になるとは思えませんが……

前書き後書き等

まああってもなくてもいいんじゃないでしょうか。と言いながら他人の攻略本を買って真っ先に読むところでもあります。あると嬉しい。特に疲れ切った時に書く後書きはその人の面白さが出るので読んでて楽しいです。時間なさすぎて文字を8ptにして改段落全部消す人とかね。

奥付、索引、目次、用語解説ページ等

奥付は例大祭で頒布する場合つけることを求められます。別に最後のページになければならないと限られてるわけではないようですが。途中のページに書いてる人もいたなぁ。
単語の索引は私はつけていません。ページ参照が面倒でサボりました。
目次はまぁあったほうがいいと思います。原作の攻略といってもスペルカード一枚だけ避け方を書きます!なんてノリの攻略本でない限り複数の場面の解説をすることになりますし、攻略部分以外にもページを割くものはあるでしょう。自分の読みたい場面に合わせてさっとページをひらけた方が好ましいでしょう。同じ理由でツメをつけています。辞書とかであるページの外側の色付きで「あ」とか「か」とか書いてあるアレです。てか逆に1枚のスペカの避け方だけ書いてる攻略本は見てみたいですね。買う気はありませんけど。
用語解説はあって問題ないと思っています。索引か用語解説かどちらかがあるといいのかな?私の攻略本には真面目な解説と大喜利が含まれています。NNNFSとか普通に書いてるけどノーミス、ノーボム、ノー霊撃、フルスペですよという解説とかは一応書くべきなのかなと思っています。原作やってるとたまに聞かれるからね。

その他

まぁ足したいものがあれば適宜。
表紙の裏かどこかに上海アリスの東方の二次創作だって書いといたほうが良さそうですね。
あとは解説動画をつけるならリンク集やQRコードを載せるといいです。私は1ページにまとめてありますが、解説動画をつけたい場面が来るたびに都度そこに記載しても良いでしょう。どちらかというとQRコードの方が親切な気はします。PCとかだとurlの方がいいとかあるんかなぁ。

攻略本を書く②実際にLaTeXで書く

当然絵を描くわけにはいかないので、表紙絵等は別で用意して画像を読み込ませるなりする必要があります。 印刷所に頼むなら分割してデータを提出する場合もあるので印刷所の提出形式に従ってください。

LaTeXで書く部分は長くなるので分割して作成して最後にコマンドを結合することをお勧めします。ただ、読み込ませるpackageは揃えた方がいいです。

LaTeXに読み込ませるpackageの指定等

LaTeXは文章を書き込む前にコマンドでページのサイズや文書の属性、どのような機能を追加させるかを書く必要があります。最低限でそのまま書くと、図も式もかけずに文字の大きさしか変わらないレポートが出来上がります。それは避けたいので色々指定します。

documentclass指定

まず原稿サイズですが、まぁお好きに指定してください。片面のサイズですがA5,B5,A4が多いと感じます。たくさん書くならB5、少ないならA5という印象ですがA4の人もいるのでよくわからん。

\documentclass\[b5j,openleft\]{ltjsbook}

と指定しました。サイズをb5,a4等で指定するとページ全体を装飾するときにサイズが微妙に小さくなっていてやりづらくなってしまうのでb5j、a4jのように指定しましょう。欧文サイズってなんだよ。印刷所に提出するときは特に注意。最後にサイズを確認してから脱稿しましょう。
また、本を開く方向も指定すると良いです。ページ数さえ合っていればちゃんと印刷してくれる印刷所は多いですが、本として片側を閉じてしまう関係上少し内側が読みづらくなってしまうので位置をずらしておくと良いです。 ltjsbookの部分はよくわかってないけど日本語の本ならこれでいいと思います。

usepackage指定

次に使うpackageを指定します。画像を取り込んで表示する機能や数式を書き込む機能、背景に攻略本らしいツメや柄を描いた画像を表示させる機能など必要なものは全てここで指定します。私はgraphicx,wrapfig,multicol,amsmath,wallpaperを無印で指定し、geometryでやや余白の大きさを変更しています。それぞれ画像取り込み、画像の横に本文を回り込ませる機能、ページの中に本文を書くブロックを縦に分割する機能、数式、背景表示のpackageです。運のいいことにLaTeXをインストールしてもらったら全部一緒についてきたので、個別のインストール方法はわかりません。調べたら出てくると思います。

author,date等の指定

必要な情報を書き込んでエラーが出なければいいやの気持ちで書いています。maketitleコマンドで表紙を作るときに個々の情報を読み込むようですが、表紙絵を別に作る今回の攻略本ではわざわざ無機質な表紙を再生成する必要もないので全部の欄をhogehogeとか書いても多分誰もわかりません。
ちなみに私はこのあとbegin{document}を宣言する前に

\setcounter{tocdepth}{3}

と記載しています。たしかこのあと章分けで\chapter\sectionを使ったときにいい感じにするためだった気がするけどなんだったかな……

本文を書く

前書き

調子に乗って書き始めると何をいってるかわからない文章になります。別に何をいってるか理解させる必要はないので(は?)調子に乗って書き込みましょう。ただ1ページまでに抑えるべきです。(そういうことを書く記事ではない)

画面紹介

ここでusepackageで指定したもののうちの2つ、graphicxwrapfigの出番です。画面を左半分に表示してそこに画像処理で番号を書き込み、それぞれの番号に対応する解説を右半分に表示します。

このように。 左右にした方がかっこいい気がするので左右にしていますが、ここではその必要がなくても後々欲しくなってきます。理由は単純。そのままだと紙面を占領するから。

\begin{wrapfigure}\[down\]{position}\[length\]{size}
\centering
\vskip \\baselineskip
\includegraphics\[keepaspectratio,width=length\]{filename}
\caption{}
\label{}
\end{wrapfigure}

の形で書きます。これで左右の好きな方に画像を配置して、残りの場所を文字列で埋めることができます。これのいいところは、このような単純な左右分割だけでなく……

このように画像のサイズを変えてそれに合わせた文章配置に自動でしてくれるところです。

システム解説

稼ぎなんかは特にスコアについての説明をすることになります。SCBの計算とかクリアボーナスの計算なんかを文のみで書くのは少々わかりづらくなりますよね?そんな場面で使うのがamsmathです。理系大学生なんかはもう馴染みが深いかもしれませんが……数式がかけます。すると

このように数式で表示できますね。あとはじゃあ面数って何?信仰点って何?と説明するだけです。便利ですね。

本編解説(道中)

そして実際の解説に入ります。道中弾幕では、どんどんと敵が出てきてパターンも繰り返しというより流れるように次から次へと説明することになります。そんなときに使うのがmulticol

このように次から次へと変わっていく画面をどんどん見せたいとき、wrapfigでは画像を載せる場所が足りません。そこでmulticolで縦に2分割して画面をどんどん載せることで解決。不必要に大きなスクリーンショットを貼ることもなく解説が進みます。

本編解説(スペカ)

今度はスペカの解説です。スペカの解説では書くことがグッと増えます。逆に情報に対してみられる画像が道中ほど多くないのでwrapfigがメインになります。また、一度に複数の画像を比較させたいときも出てきます。例えば誘導によるパターンの分岐。こっちの方が楽だから誘導はこうしましょう〜っていうときに見比べられると説得力も情報量も増します。そんな時はfigure環境の中にtabular環境を入れ込む。

\begin{figure}\[h\]
\begin{tabular}{cc}
\begin{minipage}\[t\]{size}
\centering
\includegraphics(略)
(略)
\end{minipage} &
\begin{minipage}
(略)
………

このように書くと、

このように画像を横並びに配置できる。tabularの後のcの数を増やせば並べる数も増える。

終わりに、後書き、索引等

大体これを書くのは締め切り間近の夜中なのではしゃいで意味わからんことを書くことになる。意味わからんことを書いたら文字の大きさを8ptにして段落をなくすといいらしい。某最強のシューターが実践してたので多分正しい(ほんまか?)。なお、今時計を見たら夜中の3時だった。察して欲しい。

ページを装飾する

さて、これだと白地に文字とスクリーンショットだけで寂しい。いやそれでも十分だが、印刷所でせっかくカラー印刷してもらうのだから(白黒だと見づらいので私はカラーで印刷してます、富豪かお前?)、ページを少々カラフルに装飾したくなる。攻略本といったら圧倒的情報量を詰め込んで、各項目ごとにまとまって書かれていて……かっこいい柄のページで……そう、私はツメをつけることにした。派手な辞書みたく。ここで使うのがwallpaperである……!と堂々と言いたかった。ただ私が実際にやっているのは地味かつアホらしい作業である。各ページに反映される爪の濃淡全てを画像として生成し、一度コンパイルしておいたpdfをみながら背景画像として映す場所を特定してそこにピンポイントで画像を出現させるコマンドを書き込む……これをおよそ80ページ分行う。はっきりいっていいか?凝ったものを作りたいなら画像編集ソフトがおすすめです。あきらめろ。(おい)

原稿を提出する

提出する印刷所を適宜見繕って指定のフォーマットで提出しよう。せっかくpdfで出力されるTeXを使うのだから、pdf提出に対応してる印刷所がいいかもしれない。印刷代の支払いは忘れずに。

攻略本を販売する

私は主に例大祭で頒布し余ったものをBOOTHで売っているが、これも自分に合った販売方法をすると良いと思う。ちなみにBOOTHはほぼ売れてない。在庫もほぼないけど。

力尽きた!終わりじゃ終わり〜

明日は……誰だっけ?まあ誰かが書いて出すと思います。紅LNNが通ればもう一つ記事を書きます。お祈りよろしく〜