きゃべログ

Re:VIEW タイトルページの書籍タイトルを任意の位置で改行する方法

開発環境

現在技術書典7に向けてRe:VIEWで原稿をせっせと作成中です。 そんななか1点ハマったのが、タイトルページ(大扉)の書籍タイトルがうまい位置で改行できない問題です。

NGな表示ページ

GitHubのRe:VIEWリポジトリのIssueにヒントがあったのでそれを参考に修正しました。 https://github.com/kmuto/review/issues/128

追記 2020.12.12

読者の方から次のようなコメントをいただきましたので掲載させていただきます。

ノウハウ公開ありがとうございます。
Re:VIEW4.0で、title.texの先頭に
\begin{titlepage}
末尾に
\end{titlepage}\clearpage
を足すとうまくできました

手順

今回の想定環境は本記事執筆時点で最新のVersion 3.2.0です。 異なるバージョンではうまくいかないことがありますのでご注意ください。

titleページのtexをコピー

まず、sty/review-base.styから\begin{titlepage}\end{titlepage}の間をコピーしましょう。

\begin{titlepage}
\thispagestyle{empty}
\begin{center}%
\mbox{} \vskip5zw
\reviewtitlefont%
{\Huge\review@booktitlename\par}%
\ifdefined\review@subtitlename
\vskip 1em%
{\Large\review@subtitlename\par}%
\fi
\vskip 15em%
{\huge
\lineskip .75em
\begin{tabular}[t]{p{\textwidth}}%
\centering\review@titlepageauthors
\end{tabular}\par}%
\vfill
{\large\review@date \review@intn@edition\hspace{2zw}\review@intn@publishedby\par}%
\vskip4zw\mbox{}
\end{center}%
\end{titlepage}\clearpage

title.texの作成

次にcatalog.ymlと同じディレクトリ上にtitle.texを作成します。そこに先ほどコピーしたテキストを貼り付けます。そして5行目の1行分だけ、下記のように書き換えます。

Before

{\Huge\review@booktitlename\par}

After

{\Huge タイトル1行目 \\ タイトル2行目 \par}

これは何をやっているかというと、通常のタイトルページではマクロで書籍タイトルを差し込む形になっているところをハードコーディングで上書きしています。 そしてtexで改行を意味する\\を間に差し込んで任意の位置で改行するというわけです。

config.ymlの修正

最後にタイトルページ(大扉)を独自texファイルで差し替える設定をconfig.ymlに書き込みます。だいたい131,132行目くらいかと思います。

Before

# 自動生成される大扉ページを上書きするファイル。ファイル名を指定すると大扉として入る (PDFMaker向けにはLaTeXソース断片、EPUBMaker向けにはHTMLファイル)
#titlefile: none

After

# 自動生成される大扉ページを上書きするファイル。ファイル名を指定すると大扉として入る (PDFMaker向けにはLaTeXソース断片、EPUBMaker向けにはHTMLファイル)
titlefile: title.tex

再コンパイル

再度コンパイルすることで完成です。

title ok

まとめ

タイトルページ(大扉)の書籍タイトルが好きな位置で改行できない問題を解決しました。 知らないと時間がとられる部分だと思うので、参考になれば幸いです。

宣伝

技術書典7Monadic Rebelというサークルで「す12D」ブースにて出展予定です。

新刊として「個人ではじめる業務自動化プログラミング」、既刊として「ml5.jsとp5.jsでつくる機械学習コンテンツプログラミング)」を頒布予定です。

新刊は鋭意執筆中です。お楽しみに!


きゃべ (@cab_kyabe)
piyo piyo software engineer