SSブログ

WSL1 のUbuntu 18.04 にインストールした Sphinx で Markdown から PDF を作る [Python]

Markdown から PDF を作りたい(かも)ということになった。
以前、Sphinx で(Restructured Text で)ドキュメントを書いて PDF 出力した。
PDF 出力のために何かインストールしたんだけど、何したんだっけ?と思って自分のブログ(ここ)を探したが発見できなかった。
昔は、何かをインストールした手順みたいなのも結構書いてたんだけどなぁ。
よろしくない。

Windows 10 のいわゆる WSL1 の Ubuntu 18.04 で、ほぼ何もインストールされてないところからの手順を試したので、ここに書いておく。

sudo apt install -y python3-pip
pip3 install Sphinx recommonmark

sudo apt install -y texlive-latex-recommended \
 texlive-latex-extra \
 texlive-fonts-recommended \
 texlive-fonts-extra \
 texlive-lang-japanese \
 texlive-lang-cjk

sudo apt install -y latexmk

でインストール

ここらへん https://sphinx-users.jp/gettingstarted/make_project.html を見ながら
sphinx-quickstart -q -p "Sample PDF" -a nakagami -v 1.0 -l ja sample_project

でプロジェクト作って
http://www.usaturn.net/pyconjp/use_markdown.html に従って conf.py に以下を追加
from recommonmark.parser import CommonMarkParser

source_parsers = {
    '.md': CommonMarkParser,
}

source_suffix = ['.rst', '.md']

あとは、 index.rst の toctree に foo.md とか入れて
make latexpdf

を実行するとPDF ができた。(拡張子 .md は省略可)

(追記 2019-12-22)svg 画像を埋め込む場合
https://blog.interstellar.co.jp/2019/03/sphinx-svg-pdf-converter/
sudo apt install inkscape
pip3 install sphinxcontrib-svg2pdfconverter

conf.py に以下を追加
extensions = [ ‘sphinxcontrib.inkscapeconverter’]
inkscape_converter_bin = ‘/usr/bin/inkscape’

これで svg 入りの Markdown がpdf に変わる・・・のだが、
画像に日本語の文字がある場合なんかにフォントの関係か[Not supported by viewer]
と出る場合があってsvg画像についてはいったん挫折
(ロゴ画像なんかは大丈夫でないかと)
コメント(0) 
共通テーマ:日記・雑感

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

Facebook コメント