内容順に並べたい

紙の本をスキャンしてデジタル化(いわゆる“自炊”)し、できあがったPDFのファイル名って、みなさんどうしてるんでしょうか。いまググってみたら、やはり書名と著者名の組み合わせをファイル名にしているパターンが多いようです。実際、小説とかマンガがメインなら、「著者名_書名.pdf」あたりで特に不便は無さそうです。

ただ、小説・マンガ以外の本(を何と呼べばいいのか分かりませんが、実用書とか学術書?)が多い場合は、やっぱり似たようなテーマの本がかたまっている方が嬉しい気がします。私の場合は、紙の本もジャンル別に並べていたので、電子化してもそれを踏襲したくて、「内容_書名.pdf」方式を採用しています。

「内容」の部分は、言葉ではなくて、3桁のNDC(Nippon Decimal Classification、日本十進分類法)を使っています。図書館で本を並べるのに使われているアレです。例えばこんな感じ(0から9を1冊ずつピックアップしてみました)。

007_C言語入門.pdf
191_教養としてのキリスト教.pdf
210_戦中用語集.pdf
331_入門経済学.pdf
404_サはサイエンスのサ.pdf
538_航空管制のはなし.pdf
678_貿易の実務.pdf
727_文字をつくる9人の書体デザイナー.pdf
801_ことばと文化.pdf
913_かもめ食堂.pdf

NDCとは、世の中の知識全体をまず10個に分け、さらにそれぞれを10個に下位区分し、さらにそれを……、という具合にどんどん分けていって、知識のすべてに番号を振ってしまおうというコンセプトなので、あらゆる本はどっかの番号に入るし、番号が似たものは主題も似ているということになるわけです。

自分の持ってる本のNDCなんてどうやって調べるんだ、と思われるかもしれませんが、国立国会図書館のNDL SEARCHを使ってISBNとか書名で検索すれば、書誌情報の中にNDCも書かれています。国会図書館でNDCを振っていないものでも、それを所蔵している他の図書館へのリンクが出るので、その図書館で再検索してやればNDCを振っていることもよくあります。それでもNDCが分からない本もありますが (ムックとか学習参考書とか)、そういう場合は自分でNDCを決めてしまいます。

別置記号を使う

さて、これですべての本に3桁のNDCを振ることはできるのですが、特定ジャンルの本が極端に多い場合、それは別枠にした方が見やすい、という場合もあります。私の場合はマンガと雑誌です。

マンガはNDCが全部726.1なので、これを単純に「726_宇宙兄弟_01.pdf」などとしてしまうと、ファイルを一覧する際に、特定の一角がマンガで埋まってしまいます。そこで、マンガだけファイル名の頭にC(Comicsの略)を付けて、

C726_宇宙兄弟_01.pdf

などとしています。図書館の別置記号の考え方と同じです。(けど、この場合の別置記号は726.1をCに「置き換える」ものなので、実際の図書館ではCだけにするのが普通かも……。)

同様に、雑誌は頭にPを付けて、

P007_BSD_Magazine_17.pdf
P538_AIRLINE_2009年12月.pdf
P802_しにか_2001年12月.pdf
P900_ユリイカ_1998年05月.pdf

などとしています。PはPeriodicalsのPです。(本当のNDCだと、雑誌は05の下に入れたり、主題の後ろに形式区分-05を付加したりするんだと思いますが、私の場合はPで雑誌だと分かるので、05は無視して雑誌のテーマだけでNDCを付与しています。)

もっと細かく並び順を制御する

これでファイル名は決まりで、ほとんど目的は達成しているのですが、実際このファイル名でiPadのi文庫HDなどに入れてみると、やっぱりこの本とこの本は並べて表示したい、といったところがいくつか出てきます。

例えば、コンピュータ関係の本が多い場合、同じ情報科学(007)の本でも、データベース関連(007.609)とか日本語情報処理関連(007.635)とか、同系統の本はそれだけでかたまっていてほしい。そうなると、結局NDCは3桁じゃなくて、もっと下位の区分まで含めた全桁が必要ということになります。

さらに、1995年にできた今のNDC新訂9版だと007(情報科学)の分類がかなり粗く、例えばOSに関しては007.634をさらにOSの種類で下位区分したいとか、プログラミング言語に関しては007.64をさらに言語別に下位区分したとかの欲求も出てきます。

また、マンガや小説は一律で書名の文字コード順に並んでしまうのですが、ここはやっぱり著者別に、しかもできれば著者ごとの刊行順に並べたい。

そこで、iPadに入れるときのファイル名は、「NDC全桁.ソート順を示す下位区分_書名.pdf」という別名をつけることにしました。下記区分はジャンルによっていろいろで、OSの種類を表す文字列とか、プログラミング言語の種類を表す文字列とか、マンガや小説の場合は著者記号+本の番号を入れるようにしています。例えばこんな感じ。

007.634.msdos-CONFIG.SYSのすべてがわかる本.pdf
007.634.msdos-MS-DOS6.2実践ガイド.pdf
007.634.msdos-MS-DOSを256倍使うための本_Vol.1

007.64.c-ANSI_C/C++辞典.pdf
007.64.c-Cプログラミング専門課程.pdf
007.64.c-C言語を256倍使うための本.pdf
007.64.c-C言語入門.pdf
007.64.c-エキスパートCプログラミング.pdf

913.6.tan001-惑星CB-8越冬隊.pdf
913.6.tan002-仮装巡洋艦バシリスク.pdf

C726.1.ash001-ヨコハマ買い出し紀行_01.pdf
C726.1.ash001-ヨコハマ買い出し紀行_02.pdf
C726.1.ash002-カブのイサキ_1.pdf
C726.1.ash002-カブのイサキ_2.pdf

このへんになると、いろいろ試行錯誤中でもあり、時々の気分で仕組みを変えてみたりもするので、そのたびにファイルの物理名を変えていては大変です。なので、ファイルの本名は永久に「NDC3桁_書名.pdf」のままにして、UNIXのシンボリックリンクで別名を付けています。(実際の処理は、RubyのスクリプトでExcelファイルから書誌データを読み取ってシンボリックリンクを張るところを自動化しています。)

いまのところ、これでかなり満足のいく並び順になっています。紙の本とちがって肉体労働をしなくても気軽に並び替えできるのが電子書籍のいいところですね~。