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 ---> 旧ISBN
13桁の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}

投稿者 augustus : 10:56 | コメント (0)