LyX の導入と Zotero との連携

LyX とは?

LyX とは、Linux・Mac OS X・Windows などマルチプラットフォームで動作する文書作成システムである。LaTeX の組版システムがバックエンドに用いられているが、文書作成者は LaTeX の構文を意識することなく、他のワープロソフトのように書いている内容のみに専念でき、かつ美しい LaTeX の組版結果を得ることができる。

以前から気になっていたがなかなか導入する機会がなかったこの LyX であるが、評判もよく開発も盛んなようで、特に今回文献管理ツール Zotero とも連携もできる、ということを知って試しに使用してみた。LyX を利用するのに LaTeX を知る必要はないが、LaTeX 使用の経験があれば生かされる、ということは少なくとも言えそうである。

LyX の導入

LyX の導入や設定に関してはここでは一部メモ程度に残すに留める。以下のページで丁寧な解説・情報が得られる。

また、LyX の「ヘルプ」から辿れる開発チームのドキュメントも大変有用である。その詳細な解説は言うまでもなく、自然で丁寧な日本語訳にも開発者のこのソフトへの思い入れが窺い知れる。

加えて、藤田眞作氏の『LATEX2ε論文作法』 にもお世話になった。

主に理系分野の学術論文作成者を対象に書かれているが、「LyX を LaTeX2e の tex ファイルと pdf ファイルを作成する手段として利用する」というスタンスで (p. 35)、導入から発展的な使用法まで詳しく解説されており、私のような入門者にも最適だった。

LyX はカスタマイズ性に優れている点もひとつの特徴である。例えばキーバインドを変更したければ、「ツール」「設定」「編集」「短絡キー」とたどれば、emacs 風キーバインドなど予め10種類以上の「キー設定ファル」が用意されている。

# 私の作業環境は Debian wheezy 上の LyX 2.0.1 です。パスは適宜読み替えて下さい。

https://skalldan.files.wordpress.com/2011/11/wpid-lyx_keybind.png

この「設定」画面から「短絡キー」を設定することもできるが、カスタマイズ情報は ~/.lyx/bind/user.bind に保存されるので、このファイルを直接編集してキーを追加することもできる1

## This file is automatically generated by lyx

Format 1

bind "C-h" "char-delete-backward"
bind "C-c C-c" "buffer-view"
bind "C-c S-f" "footnote-insert"
bind "C-c bracketleft" "citation-insert"

といった具合に。

またツールバーに何かボタンを追加したければ ~/.lyx/ui/stdtoolbars.inc に適宜希望の Item を追加すればよいだろう (stdtoolbars.inc 100 行目あたり。このファイルは /usr/share/lyx/ui/stdtoolbars.inc から default の設定をコピーした)。

Toolbar "view/update" "View/Update"
    Item "View DVI" "buffer-view dvi"       # 追加してみる
    Item "Update DVI" "buffer-update dvi"   # 追加してみる
    Item "View" "buffer-view"
    Item "Update" "buffer-update"
    Item "View master document" "master-buffer-view"
    Item "Update master document" "master-buffer-update"
    Item "Enable Forward/Reverse Search" "buffer-toggle-output-sync"
    Separator
    StickyPopupMenu "view-others" "View other formats"
    StickyPopupMenu "update-others" "Update other formats"
End

https://skalldan.files.wordpress.com/2011/11/wpid-lyx_dvi_add.png

また、「LyX サーバー」を使用すると、他のプログラムが LyXと通信できるようになる。私自身は使用したことがないが、参考文献管理ソフト JabRe を使用していれば、そこから直接 LyX へ文献情報を挿入することができるようになるようだ (「ヘルプ」「高度な機能篇」「第5章 LyX サーバー」参照)。

# LyX を使用している様子。左が LyX の文書作成画面。右が PDF 出力結果。見た目にはほとんど違いなく編集できる所が強み。

lyx_pdf.png

Zotero との連携

さて、本題である。

Zotero と BibTeX の連携 で書いたように、Firefox の拡張 Zotero を利用すればすばやく Web 上の文献情報を収集できる。Zotero そのものの機能でそれらの情報を BibTeX 形式としてエクスポートすることもできるのだが、追加の拡張 LyZ を導入することで Zotero からそれらの情報を現在編集中の LyX へ「直接」引用することができる、というのである。

Zotero は導入済みとう前提で、まずは LyZ を導入する2。次に上でも少し触れた LyX サーバーの設定を行う。「ツール」「設定」「パス」と辿り「LyX サーバーパイプ」に任意のパスを設定する。私は ~/.lyx/lyxpipe に設定した。

次に Firefox 側の設定。Zotero を開き LyZ の Settings で先程の「LyX サーバーパイプ」のパスを設定する。

https://skalldan.files.wordpress.com/2011/11/wpid-lyx_pipe.png

デフォルトではすべての文字がエスケープされるので (e.g. š becomes v{s})、about:config から extensions.lyz.use_utf8 の値を true にしておいた。

あとは LyX で文書を開いておいて、Zotero を開き目的の文献にカーソルを合わせ、LyZ メニューか右クリックでのコンテキストメニューの “Cite in LyX” を選択するだけである。

https://skalldan.files.wordpress.com/2011/11/wpid-zotero_lyx_quote.png

新しい LyX 文書に BibTeX データベースを引用すると、新しいデータベースを作成するか既存のデータベースを選択するよう促される。そのデータベースを LyX 文書に挿入しておく (「挿入」「一覧/目次」「BibTeX 書誌情報」から追加)3。Zotero 側で文献情報を編集してその情報を更新したい場合は、”Update BibTeX” を LyZ のメニューから実行する。

詳細は、

を参照のこと。

テスト文書を作成してみた。Firefox から直接 LyX に文献情報を渡せるのは非常に素晴らしい。

# 上の例と同じく、左が LyX の編集画面、右が PDF 出力。Zotero からエクスポートされた BibTeX ファイルには一切手を加えていない。

zotero_lyx.png

Zotero (LyZ) からエクスポートされた BibTeX ファイルは以下の通り。このままでも十分使用に耐えるが、citekey や日本語著者名などを若干手直しすればより使いやすくなるだろうか。

# 書誌情報はすべて Amazon より。

@book{knuth1984thetexbook,
    edition = {Spi},
    title = {The {TeXbook}},
    isbn = {0201134489},
    publisher = {{Addison-Wesley} Professional},
    author = {Knuth, Donald E.},
    month = jan,
    year = {1984}
}

@book{lamport1985latexdocument,
    edition = {Spi},
    title = {Latex Document Preparation System Users},
    isbn = {{020115790X}},
    publisher = {Addison Wesley Publishing Co},
    author = {Lamport, Leslie},
    month = oct,
    year = {1985}
}

@book{821996,
    title = {{日本語LATEX2eブック}},
    isbn = {4756116671},
    publisher = {アスキー},
    author = {賢, 中野},
    month = oct,
    year = {1996}
}

@book{7712009,
    edition = {第3},
    title = {Latex2ε 階梯 第3版 上},
    isbn = {{489471731X}},
    publisher = {ピアソン桐原},
    author = {眞作, 藤田},
    month = oct,
    year = {2009}
}

@book{77120092,
    edition = {第3},
    title = {Latex2ε 階梯 第3版 下},
    isbn = {4894717328},
    publisher = {ピアソン桐原},
    author = {眞作, 藤田},
    month = oct,
    year = {2009}
}

@book{66742010,
    edition = {改訂第5},
    title = {[改訂第5版] {LaTeX2e} 美文書作成入門},
    isbn = {4774143197},
    publisher = {技術評論社},
    author = {晴彦, 奥村},
    month = jul,
    year = {2010}
}

@book{7712010,
    title = {{LATEX2ε論文作法}},
    isbn = {4864010110},
    publisher = {ピアソン桐原},
    author = {眞作, 藤田},
    month = dec,
    year = {2010}
}

Footnotes:

1 LyX 2.0 の場合、Windows では ~/AppData/Roaming/LyX2.0/bind に、Mac では ~/Library/Application Support/LyX-2.0/bind にある。

2 LyZ 2.1.4 は Zotero の Standalone 版でも動作するとのこと。

3 LyX における BibTeX 文献データベースの利用に関しては、LyX wiki | BibTeX や「ヘルプ」「ユーザーの手引き」「第6章 他のツール, 6.5 参考文献」、同じく「ヘルプ」の「高度な機能篇」「第3章 補完ツール, 3.1 BibTeX による参照文献のカスタマイズ」等を参照のこと。

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s