2014-07-01から1ヶ月間の記事一覧

Re: numfig の闇と向き合う

numfig の闇を垣間見るのにも飽きてきたので、これまで見た numfig 系拡張の問題をカバーすべく 自分でも numfig 系拡張を書いてみた。 new_numfig.pyざっくり動かしたところ、うまく動いているようにみえる。既存の fignum 系拡張との違いはこんな感じ。 表…

ファイルを超えてリンクを貼る (domain#resolve_xref() のすゝめ)

昨日の記事で、どの拡張も HTML に変換した時に他のページにリンクできないという体たらくなので、 Sphinx においけるリンクの解決方法をまとめておく。 解決方法: domain#resolve_xref() を使う 以上。 見出しで言い切ったのでこれ以上ネタも無いのだが、コ…

numfig の闇と向き合う

前の記事で あとは numfig の応用で自動採番をすることもできるようになるでしょう。 なんてことを書いてみたのだけど、よく考えてみると一度も numfig を使ったことがなかったので これを機に挑戦してみんとてするなり。 numfig をインストールする numfig …

コード片(code-block)にキャプションをつける

rstのファイルでリストに通し番号を入れる(久々にシェル芸) を見て、"code-block にキャプション付けられなかったっけ?" とおもって調べてみたところ、 Sphinx の code-block ディレクティブも docutils の code ディレクティブもどちらもキャプションをサ…

remarkdown を巡る冒険 (原題: remarkdown versus Sphinx)

docutils はある形式の文書を別の形式に変換するフレームワークです。 このフレームワークを利用して rst2html や rst2latex などが提供されています。しかし、docutils が標準で対応している入力形式は reST 形式に限られているので、 実際には reST 変換用…

flake8 の NOQA コメントは無敵ではない

flake8 のドキュメントを読むと、 警告を抑止する NOQA コメントについて lines that contain a # noqa comment at the end will not issue warnings. (訳: 末尾に # noqa というコメントがある行は警告されません) と説明されています。しかし、実際にはす…

Re: Re: SphinxのLaTeXのフォーマットをいじる

先日、Re: SphinxのLaTeXのフォーマットをいじる の記事を書いた直後に、 sphinx-users ML に独自のclsファイルを使用する方法がポストされました。前回の記事では conf.py でプリアンブル部にゴリゴリ定義を突っ込んでいましたが、 Python の文字列として記…

pandoc + sphinx + transifex で既存ドキュメントの翻訳を行う

この間の Sphinx+翻訳 Hack-a-thon で話題に上がった件について調査してみた。お題は以下のとおり。 元の文書は markdown で記述されている Sphinx を使って翻訳してみようと思っている 元の文書が更新された時に差分管理できるとよい その場で出た案はタイ…

Re: SphinxのLaTeXのフォーマットをいじる

卒論とか修論は TeX で書いていた割には、TeX マクロが苦手な @tk0miya です。 先輩から秘伝のタレ的?なスタイルファイルを頂いたのでそれで済ませてました。Sphinx で PDF 出力するときは TeX を介して出力することが多いのですが、 未だに TeX マクロをち…

Pillow の ImageDraw#textsize() が間違った値を返している件

Pillow 2.2.0 以降には ImageDraw#textsize() にバグがあり、TrueType フォントを指定していると正しい高さが返りません。 どういう問題なのか テキストとそれを囲む四角を描画する次のコードを実行してみます。 from PIL import Image, ImageDraw, ImageFon…

image/figure ディレクティブのオプションまとめ

最近、Sphinx や docutils の blockdiag ディレクティブのオプションを見なおし、 reST 標準の image/figure ディレクティブと同じオプションを受け取るようにしました。 :width: や :height:、:scale: などのオプションが使えるようになっています。その際…

Sphinx 拡張のエラー出力方法まとめ

Sphinx 拡張ではエラーを表示したくなる場面はいくつかある。 設定値が誤っている場合や、環境の設定不足、記述の誤りや通信エラーなど。そんなときに Sphinx/docutils フレームワークを使ってエラーを出力していくのだが、 場面や用途によってエラーの出力…