LaTeX
AdventCalendar
Sphinx

Sphinx+pLatex+dvipdfxmで美文書作成tips

More than 5 years have passed since last update.

@adachi_cです。

Sphinxからlatex経由でpdf作成のtips的な話です。

といっても、セットアップだとかmakeの方法については本家サイトを見ればわかるので、そっちを参照してください。

sphinxのセットアップについては以下の記事を参照してください。

http://sphinx-users.jp/index.html

sphinxからlatex経由でpdf出力については以下の記事を参照してください。

http://sphinx-users.jp/cookbook/pdf/latex.html

latexだと経験がない人にこれで書けというのが難しいですが、Sphinxなら経験がなくても書いてもらうことが簡単です。そもそも記法が簡単なので。今回は私含めて5人で本を作り、私含む全員Sphinx初心者でしたが簡単にそろえることができました。一時間で習得して原稿あげてきた人もいました。

Sphinxはドキュメント作成のためのツールで、ノリとしてはOctpressに似てますが、私はOctpressより簡単だと思いました。

さて、普通にsphinxから

make latexpdfja

とすると、texが動的に生成され、そこからpdfも出力されます。

ですが、細かな部分がきちんとなっていません。例えば、letterbookサイズのPDFができてしまっています。b5jでなければ、同人誌の印刷屋さんに出せないので大変です。

なので、Sphinxで.rstができたあと、

make latex

としてください。

そうすると、_build/以下に、a.tex(aはプロジェクト名とする)ができてるんで、そいつに細かい修正をいれればOKです。

たとえば、b5にするには、


a.tex

-\documentclass[letterpaper,10pt,dvipdfmx]{sphinxmanual}

+\documentclass[b5j,10pt,dvipdfmx]{sphinxmanual}

として、

$platex a.tex && dvipdfmx -p b5 a.dvi

とすればb5サイズのpdfができます。

そうしたら、今度は左右上下のマージン余白がおかしいことになってたりすることが多いのですが、以下のようなコードを入れて調整します。


a.tex

\setlength{\hoffset}{0cm}

\setlength{\voffset}{0cm}
\setlength{\textwidth}{16.7cm}
\setlength{\textheight}{23cm}
\setlength{\marginparwidth}{1cm}
\setlength{\marginparsep}{1cm}

あと、画像の入る大きさで、改ページ位置がずれてるんで、これも直す。


a.tex

-\includegraphics{photo_k03.jpg}

+\scalebox{0.600000}{\includegraphics{photo_k03.jpg}}

白黒にするには、


a.tex

\expandafter\def\csname PYG@tok@gd\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}}


のようなコードがSphinxからの自動生成で吐かれているので、これを全部消す。

とりあえずそんなところですかね。

あと、sphinxにはブロック図や数式を出力する便利なプラグインがついてて、これも環境依存、truetypeフォントをロードするであることが多いので、OSが違う人同士で編集する場合、注意が必要です。

さて、そんなわけでこうやって仕上げた美文書は、コミックマーケットの東のレガリア@3日目東X26aというサークルに出品してますので、皆さんお越し下さい。

今回は私はドラゴンクエストX自動レベル上げについて記載してます。表紙も素朴な感じでとてもいい!

ではでは。ありがとうございました。