Help us understand the problem. What is going on with this article?

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自動レベル上げについて記載してます。表紙も素朴な感じでとてもいい!

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

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away