2007年02月19日
ISBNの13桁化
今年(2007年)の1月から従来10桁だったISBNが13桁に拡張された。拡張の仕方は単純で頭に978を付け、最後の桁のチェックデジットを再計算するだけでよいらしい。10桁のISBNと13桁のISBNを相互変換する関数が欲しくて CPAN を探すと、 Business::ISBN というぴったりのモジュールがあった。
use Business::ISBN qw( isbn_to_ean ean_to_isbn ); $isbn_10="4873113008"; $isbn_13=isbn_to_ean($isbn_10); # 旧ISBN ---> 13桁ISBN $isbn_10=ean_to_isbn($isbn_13); # 13桁ISBN ---> 旧ISBN13桁のISBN は EANコードと一致するのだ。
早速、「古代ローマ/書籍案内」で使っているプラグインに組み込んで ISBN: の後の10桁の番号を 13桁化して表示するようにした。これで各ページを個別に修正しなくてもよくてラッキーだ。
なお、13桁化したISBNはEANコード(日本ではJANコード)と一致するので、本の裏表紙などに印刷されているバーコードのうち上の方(978から始まるもの)がそのままISBNとなっている。
投稿者 augustus : 18:47 | コメント (0)
2005年03月20日
mimeTeX (WEB上での数式の表示)
WEB上で数式を表示するのは結構大変だが、この mimeTeX を使えば簡単だ。mimeTeX は C言語で書かれた CGI で、引数に TeX の文法で数式を書けば、数式の GIF イメージを戻してくれる。だから、imgタグを使って数式を簡単に表示することができるのだ。
例えば、 と表示したければ、
<img src="/cgi-bin/mimetex.cgi?\Large x^2+y^2=1">
のように書けば良い。(/cgi-bin に mimetex.cgi があると仮定してる。)
数式の書き方は基本的に LaTeX と一緒だが、全部の機能が使えるわけではないので mimeTeX のサイト(http://www.forkosh.com/mimetex.html)を確認してもらいたい。
mimeTeXのソースはC言語で書かれているが自分でコンパイルしなくても良いように Windows, Linux, FreeBSD 等々のバイナリも提供されている。
以下に数式の例をいくつか挙げる。
分数
\frac{1}{2}+\frac{1}{3}=\frac{5}{6}
分数の横棒が短いと思うなら分子か分母に \, を使って空白を補完すると良い。
\frac{1}{\,2\,}+\frac{1}{\,3\,}=\frac{5}{\,6\,}
上付文字、下付文字
a_{n+1}=2 a_n +2^n
三角関数
\tan\theta = \frac{\Large \sin\theta}{\Large \, \cos\theta \,}
対数
\log_{10} \alpha
積分(上端、下端の書かれる位置が気に入らないが...)
\int x \,dx \;,\; \int_{-1}^{\pi} {t \sin t} \, dt
行列
\left( \begin{array}{cc} 1 & x \\ 0 & 1 \\ \end{array} \right)^2
シグマ
\sum_{k=0}^{\infty} \frac{\Large x^k}{k!}
極限
\lim_{x \to \infty}2^{-x}