nikkie-ftnextの日記

イベントレポートや読書メモを発信

TEX WikiのLaTeX入門、レポートの例を動かすまで(sphinx-latexpdf Dockerイメージ使用)

はじめに

チノちゃんをもふもふしたいな〜1、ってココアさんが言ってましたー。nikkieです。

TEX WikiLaTeX入門から、一部つまんで取り組みました。
もふもふではなく、てふてふの様子をお届けします。

目次

nikkieとTeX

全然書けません!(お手上げ)

この2つの点をつなぐものがSphinx
Sphinx原稿(reST)をPDFにビルドすることもできます。
その過程でTeXファイルに変換されていて、reST -> TeX -> PDF という理解です。

このTeXの部分について、ちょっとだけでも理解を深めようと取り組みました。

TEX Wiki LaTeX入門

TeXとは? LaTeXとは? というところから解説されます。

  • TeX組版システム
  • LaTeXは、TeXの上に構築された文書処理システム
    • LaTeX によって一般的な文書作成に便利な機能拡張がなされています。

日本では TeX, LaTeX を日本語化した pTeX, pLaTeX が使用されています

以前見かけたツイートとつながったぞ!

TEX Wiki 最初の例

以下のex1.texからPDFを作ります。

\documentclass[dvipdfmx]{jsarticle}
\begin{document}

吾輩は猫である。名前はまだ無い。

どこで生れたかとんと見当がつかぬ。
何でも薄暗いじめじめした所で
ニャーニャー泣いていた事だけは記憶している。
吾輩はここで始めて人間というものを見た。

\end{document}

TeXの環境は、Dockerイメージ sphinxdoc/sphinx-latexpdf を使いました2
SphinxreSTの原稿からPDFを作る際に使っているイメージです。
TeXの環境構築は難しいと聞いているのですが、このDockerイメージのおかげでいつも楽をさせてもらっています(ありがとうございます!)

コマンドは以下です。
$PWDex1.texがあります

% docker run --rm -it -v $PWD:/docs sphinxdoc/sphinx-latexpdf bash

# platex ex1
# dvipdfmx ex1

これでex1.pdfができます。

以下の2つをやったわけです:

  1. ex1.texpLaTeX で処理
    • これで ex1.dvi という組版結果のファイルが生成されます。

    • 組版結果は出力装置(device)に依存しない(independent)ことから DVI ファイルと呼ばれます

  2. DVI ファイルを PDF ファイルに変換

今回知った一番の驚きは、この2つを1コマンドでできるということ!

ptex2pdf -l ex1

pLaTeX と dvipdfmx が順に実行されて ex1.pdf が得られます。

TEX Wiki レポートの例

より複雑なソースとしてレポートの例が登場します。
章立て箇条書きなど、TeXでの記法が解説されます。

私のユースケースだとこれらを直接書くことはありませんが、一通り把握するとSphinxが途中経過するTeXファイルに「ここが章立てだ」「箇条書きだ」と読めるところが見つかって嬉しいですね。

終わりに

TEX Wikiの例をsphinx-latexpdfイメージで動かした共有でした。
TEX Wiki、非常に分かりやすかったですし、TeXの環境構築も御多分に洩れずDockerでめっちゃ楽になっていますね。
巨人の肩に乗った感!

SphinxでPDF出力ってブラックボックスでエラーが怖かったですが、TeXのことを知り、Sphinxの実装に興味出てきました。
ちょっとずつ覗いていこうと思います〜


  1. この位置にあるから、そして、斜体だから、これは挨拶代わりの引用ですよ。コ コ ア さ ん が 言 っ て た ん で す!(記憶違いかもしれませんが) ただ全くもふもふしたくないかと言われると(このあたりで勘弁してください🙏)