中国人の通病って自分をデカそうにみえる偽り

間違いと言われない

絶対に変えちゃうか

数学・情報系男子がWikiを捨ててSphinxを使うべき10の理由

・普段プログラムを書くことがある
・数式を扱う
・DとかF#みたいな(少し?)マイナーな言語を使うことがある

上のどれかに当てはまる人で、WikiやブログをWeb上の勉強メモとして使っている人はSphinxを検討すると幸せになれる(断言)。
10(+1)の理由
・easy_installでイージーなインストール。 
・データベース?Wikiにくれてやりましょう。 
・マイナーなプログラミング言語もハイライト。 
・ソースコードをわざわざコピペする必要はありません。 
・gitで管理、何か問題ですか? 
・数式もTeXの記法で思いのまま。 
・PDFで出力したいですか?Sphinxならできます。 
・それともePubですか?もちろんできます。 
・Pythonは書けない?全く問題ありません。 
・Pythonが書ける?ぜひ拡張してください。 
・Sphinx、無料です。 

煽りタイトルとAppleみたいな売り文句でSphinxユーザが減るんじゃないかと戦々恐々としながらこのブログを書いています。
でも本当に便利ですよ!
理由一つ一つについて説明するのは面倒くさいので以下、利点と欠点、使用感だけ。
Sphinxとは?
SphinxはPython製のドキュメント作成ツールです。
詳しいことはSphinx-Users.jpへ。
Sphinxの良いところ
かなりコードハイライトが強力、数式も書けるよ、ということでかなり気に入っています。
少なくともこれだけの種類のコードハイライトができる文書作成ツールは他に無いのでは(正確にはSphinxではなくPygmentsというシンタックスハイライターを使う)。

ハイライトできる言語や設定ファイル一欄(Pygments公式サイト)

ソースコードのハイライトはソースコード自体をコピペする必要がなく、更に便利なことに例えば以下のようなソースコードhello.pyがあったとすると、

1

2

3

4

5

6

7

8

9

10

class HelloSphinx(object):
    
def __init__(self):
        
self.a = "Hello, Sphinx"
 
    def myprint(self):
        
print(self.a)
 
print("Hello, World.")
a
= HelloSphinx()
a.myprint()

以下のように書くだけでHelloSphinxクラスだけをハイライトして表示できます。

.. literalinclude:: hello.py
        :language: python
        :pyobject: HelloSphinx
個人的にはデータベースをわざわざ用意する必要が無いこともかなりのプラス。そもそも個人で使う場合の記述量なんてデータベースを使うまでもないよなぁと。

データベースが不要なので

1. 手元のPCのSphinxで数式あり、ソースコードハイライトありなファイルを作る。

2. 無料~月100円くらいの安いレンタルサーバにまるごと置く(Webサーバとして動いていればなんでも良い)。

これだけであなたのWeb勉強帳ができあがりです。

数式はデファクトスタンダードなTeX記法ですので、数学系/工学系の不安な夜も安心。

加えてSphinxのソースコード自体は全てテキストです。何が言いたいかというとgitなどで管理できるよやったねたえちゃんってことです。

Sphinxの微妙なところ
他人がコメントやトラックバック等をつけることができないので、完全にブログのように使うのは難しいかもしれない。

理由の一つにPDF作成を上げたが、LaTeXを使う日本語PDF作成はやはりインストール段階でつまづくことが多い(私もうまくいってない)。
rst2pdfというPythonモジュールでLaTeX使うよりは簡単に日本語PDFが作れるが見た目が微妙。

あとデフォルトで用意されているテーマに使いにくいものが多い(scrollsはどういう用途向けなの?)

最後にSphinxで作成したページの例を以下に。
Sphinxの紹介だぜ — Sphinxハンズオン 0.1 documentation

以上!

BLOG Service Provided By BLOG.CD 7:08:09
BLOG.CD