月別アーカイブ: 2014年07月15日

ファイル名の付け方

ファイル名なんて好きなように付ければいい,と思うかもしれないが,そうでもないこともある.特に,研究上ファイルをやりとりするときは,ファイル名に関して一定の注意が必要だ.これは状況にもよるので,よくある「良くない例」を挙げつつ,ちょっとこの点を説明してみたい.

●学会などにファイル(PDF)を提出するとき
予稿をPDFで提出せよ,ということがよくある.そういうとき,paper.pdfとか,(学会名).pdf(たとえばJSIAM.pdfなど)とかでファイルを準備する人をよく見かける.だが,落ち着いて少し考えてみて欲しい.主催者は,そういって送りつけられた何十もの(下手すると何百もの!)paper.pdfと格闘する羽目になるわけである.そういうgenericな名前は避けるべきだ.

よってMatsuo.pdfなどにすべきであるわけだが,主催者には(私のような)粗忽者もいて,ファイルをデスクトップに散らかして,あとで「なんだっけ?これ?」と思うこともあるので,どうせなら,もう少し親切にJSIAM_Matsuo.pdfなどとするとよい.親切な人間は愛されるものである.JSIAM14_Matsuo.pdf(年数入り)とするとさらに親切である.

なお,何らかの理由で改訂したものを再送するときは,JSIAM14_Matsuo_v2.pdfとか,JSIAM14_Matsuo_140715.pdfとか,区別するのがよい.
JSIAM14_Matsuo_final.pdfと付ける人もいるが,そのfinalのあとにさらに改訂が必要になると状況は実に混乱するので,私はあまり好まない.(論文投稿後の「投稿した最終バージョン」という意味で付ける場合はOK.)

●共同研究者と執筆原稿をやりとりするとき
何人かの人と共同研究をしていて,同じTeX原稿を何人かで加筆訂正していくときは,いまファイルの操作権を持っているのが誰かをはっきりさせないと混乱する.これはファイル名の問題ではないが,共同執筆時に最初に明らかにしておくべきことである.(なお,dropbox+CVSとか,githubとか,もっとインテリジェントに共同執筆するやり方もあるが,本を書くとか,よほど大がかりなソースになるのでない限り,そこまでする意義はあまりないように個人的には思う.)

操作権をはっきりさせたとして,次に,実際にファイルをやりとりするときであるが,「何のプロジェクトのファイルか」「誰がいじったファイルか」「いつのバージョンか」が分かるようにするとよい.例えば,AさんとBさんと松尾で,SIAM Numer. Anal. (SINUM)に投稿しようとしているときは,SINUM_ABM_TM140715.texなどである.”ABM”は著者グループ,末尾の”TM140715″は,T. Matsuoがその日付に書いたバージョン,ということである.同じ日にさらにファイルを再送するときは,その後ろに”v2″,”v3″をつけたりする.もちろん,こういった流儀は色々やり方があるので,著者同士で相談して納得できるものがあればそれでよい.

とにかくやってはいけないことは,同じファイル名で,違う内容のファイルが量産されることである.そうなると,もう収拾がつかない.(ファイル名でどうにかする,というのがいやな人は,あきらめてCVSなり何なりを使うことを推奨する.)

なお,私は,学生さんが送ってきたPDFを添削して送り返すとき,同じルールで”TM(日付)”を付けています.これは,送られてきたファイルと区別するためです.

●卒論や修論発表のファイルを用意するとき
みんなが卒論.pptxなどというファイル名でスライドを用意してきて,会場でいざ一台のPCにまとめようとして大混乱,という光景をよく見かける.すでに述べたように,そんなgenericなファイル名では混乱が生じるのは,予め想像してみればすぐに分かることである.誰のスライドか分かるような名前を付けておくこと.
(ファイル名に限らず,何かを準備するとき,「その準備に基づいて本番に突入したとき,どういうことになるか」を想像してみる,というのは,とてもとても大事な「生きる力」である.)

●その他
以上,要するに判別力のあるファイル名を付けなさい,ということである.ただ,判別力だけを重視して,いたずらに長いファイル名,たとえばJSIAM_2014_Takayasu_Matsuo_abstract_2nd_version.pdfとかを付けるのはいかがなものかと個人的には思う.

ファイル名に全角文字(マルチバイト文字)を使って良いかどうかは,微妙なところである.使った方がわかりやすい場合もある.他方,文字コードでトラブルになることもある.(環境が変わると正しくファイル名が見えないとか,何らかのシステムにファイルを通すとき,マルチバイト文字が処理系を通らない,とか.) 以前書いた「改行問題」と一緒で,この点もいずれ常識が変わっていくのかもしれないが,この文章を書いている時点では,外に出すファイルにはマルチバイト文字は使わない方が安全であると思う.

ファイル名に「空白(スペース)」や「(2つ以上の)ピリオド」を含んで良いかも,デリケートな問題である.いまは大抵の処理系で大丈夫だとは思うけれど,歴史的には「ファイル名はスペースを含んではならない」「ピリオドは,拡張子の前のひとつだけ」という時代が長かったので,誤動作する場合がないとは言えない.入れなければならない明確な理由があるのでない限り,避けた方が無難であると思う.