2016/02/15

Tex,BibTexの設定などなど

前回エントリから一ヶ月弱経過していますが,多忙の度合いはむしろ悪化(?)しています.
年度末ということで,成績や受験に関連する仕事が多いのですが,それに加えて今年度末,および来年度の学会発表関係の仕事も重なるのが,この時期の多忙さに輪をかけているわけです.

年度末から年度初めにかけての予定は”備忘録的に”次のエントリにアップするとして,最近少し取り組んでいることを,ある種こちらもメモ的にまとめておこうかと思います.

Texというアプリ(厳密に言うと、組版システム)があります。細かい説明を始めてしまうとかなりの長文になるので完結に言うと,”数式を含んだ文章をきれいに出力できるアプリケーション”です.このブログを読む学生のほとんどは、文章作成といえばWord(Mac派ならPagesかもしれませんが)かと思いますが,特に工学系の学会発表になると,TexはMajorityになります(Wordのテンプレートも用意されていることが多いですが,個人的な印象としていうならば,数式は圧倒的にTexの方が綺麗に出るし,細かい書式を気にすることなく(厳密には,テンプレートを指定するとあとは勝手に調整してくれる)特に,論文などの長文を書くのに適していると思います.

Tex関連のツールのひとつとしてBibTexと呼ばれるものがあって,これは”参考文献を管理するTex”とでも言うべきものです.学術論文に限らず,レポートなどであっても,外部の資料を参考にした場合には適切に文献を引用する必要があるわけですが,活動が長くなれば一般的に引用する参考文献のリストも膨大になります.
その上,僕の場合,研究分野がここ5年くらいでかなり急激に広がっているので(当初は学習・適応がメイン,かつそれで終了,という感じだったのが,最近では教育工学,介護福祉,企業経営分野なども取り扱っています),文献リストの管理がかなり大変で,当然その中から,今回はこの分野,次はあの分野という感じで,膨大なリストから特定の文献を探して引用するのが結構大変になってきていました.

そこでこの1,2年,文献を管理するMendeleyという(原則)フリーのアプリケーションを活用するようになりました.これについても詳しく説明しだすとさらに長文になるので今回は端折りますが,簡単にいうと,ある個人のさまざまな分野における参考文献情報一式を,場所,OS,端末にかかわらずいつでも取り出して参照できるというものです(卒論など,実質初めて論文を書きます,というような人にとってはありがたみがさっぱりわからないかもしれませんが,上に書いたとおり,研究暦が長くなってくると,結構この”文献「情報の」管理”というのが大変,というか,煩わしくなってくるのですよ).

話が大きく遠回りしていますが(苦笑),実はこのMendeleyというアプリケーションを使用すると,Texで論文を書く際,参考文献リストを簡単に作成できるツールとして使用できるBibTex向け形式のファイルを自動的にはきだしてくれることを,つい最近 (^o^;; 知りました.BibTexの存在は昔から知っていたんですが,上述の通り,当初はそのありがたみはあまり感じていなかったし,そもそも,BibTexを使うための書誌情報ファイルを用意するのが面倒そうだな,というのが,使用の踏ん切りがつかなかった一番の理由です.
ところが,実質偶然使用することになったMendeleyで,BibTex向けのファイルを自動で出力してくれるということ,プラス,まさにここ数年,文献管理が大変になってきたこともあり,これは試しにBibTexも使ってみようということになったわけです.

今でこそTexはWindowsでも使用できますが,もともとはUnix(Linux)環境がベースだったこともあり,というか,いまでもベースはUnix(& Mac)であるため,Windowsで使用する際には,結構文字コードに気を使う必要があります.
BibTexもその例に漏れず,実質,使用に当たって最初,かつ最大の関門は(たぶん)この文字コードでした.たぶん,と書いているのは,現時点でBibTexが問題なく使用できていると考えているものの,今後論文執筆を進めるにあたって別な問題が出てくる可能性があること,および,使用に当たって発生していたエラーが,文字コード周りの手当てを進めたら発生しなくなったため,これがエラーの原因であったのだろうと推測しているためです.

現在執筆しているのは国際会議向け論文なので,当然言語に日本語は含まれないのですが,Mendeleyで管理している文献には日本語のものも含まれます.また,Texで執筆する論文は当然和文のものもあるので,そうなると本文にも日本語が含まれてきます.上記の通り,TexはもともとがUnix,Linuxでの使用を想定しているので,文字コードとしてはEUCだったり,最近ではUnicodeを使うことが多いのですが,僕はWindowsではShift-JISを使用することがほとんどです.で,ためしにBibTexを使ってみようと参考文献をいじったファイルも,英文論文なのですが文字コードはsjisで,組版プロセスの冒頭からいきなりエラーが発生しました.

Texは,イメージとしてはプログラミング言語と同様,コンパイルと同様の処理をして原稿の組版(typeset)を実行し,実行形式(表示形式?)のファイルを印刷したり,PDF化するなどして提出するのが一般的です.僕がこれまで使用してきた,実行形式への変換コマンドは,platexと呼ばれるコマンドなんですが,これは日本語(にも)対応したTexのコマンドで,文字コードとしてはShift-JISにも対応しています.
しかし,昨今の流れとして,文字コードはUnicode化が進んでいるということもあり,その例に漏れずLinuxやMacで走るTexについても,使用される文字コードはutf-8などのUnicodeが主流になっているようで,エラーの原因を調べる中でも,やはり文字コード関連の言及が多く見受けられました.

そんな中で見つけたのが,”uplatexとupbibtex”というコマンドです.uplatexはplatexにおける内部コードをUnicode化したものとのことで,upbibtexについても同様,書誌情報ファイルから参考文献リストを作成するためのpbibtexのUnicode版です.実のところ,platexをuplatex,pbibtexをupbibtexに入れ替えただけで,エラーは消えました(笑).
一方,当該コマンド自体まだ開発途上ではあるようで,従来使用できていた表示用ツール(dviout)では表示ができず,表示用ファイル形式をPDFに変換する必要がありました.とはいえこのあたりのコマンドも,Texの場合は一式パッケージに含まれているので,”どれを使うか”さえわかってしまえばそれほど大きな問題はありません.

ただ,これまた最近のPDFファイル提出には別な問題が含まれていて,提出先学会では,PDFファイルにフォントが埋め込まれていることを推奨するというのが増えてきています(送った先でも見た目が変わる可能性があるからでしょうね).フォントについては,それ自体著作権があるものなので簡単にあちこちから持ってくるというわけにもいかないし,フォント埋め込みについてもTexではそれなりの設定をする必要があるんですが,これも,調べてみたらちょうどuplatex向けのフォント埋め込みの情報が出てきました.

フォント埋め込みの件については,実はまだ手をつけていません(少なくとも現在,自前のPCではそれなりの見てくれで原稿を閲覧できているので)が,論文の執筆を進めるのと並行して,ボチボチと作業を進めてみようと考えています.
このあたり,文献管理にせよTexの使用にせよ,準備を進めるにはそれなりの負担があるのですが,ここでしっかりとフォローしておくことで,この後の作業が一気に楽になるし,効率もよくなるように思っています.

ちなみに,Texについて,ここまで長々と書いてしまったので,ずいぶんと難しいんだな,という印象を与えてしまった皆さんに向けての言い訳(?)ですが,単純にTexを使って文章を書く,数式を書く,という作業自体,Wordと比べると多少は複雑だし,覚えるべきことは多いかもしれませんが,すぐ上に書いたとおり,ちょっとした準備を先にしてしまえば,それ以降の文章作成の効率は遥かにアップするかと思われますので,たとえば,卒論のネタで学会発表することになった,なんていうタイミングをチャンスと捉えて,発表先学会がTexのstyleファイル(書式を自動指定してくれるファイル)を用意しているような場合には,ためしにTexでの執筆に挑戦してみる,ということもお勧めしたいと思います.

0 件のコメント:

コメントを投稿

@dkitakosi からのツイート