初心者にとってのLaTeXの問題点とLyXの紹介

この記事はTeX & LaTeX Advent Calendar 2013における、4日目の記事です。3日目はdoraTeXさんの「TeXによる化学組版」でした。5日目はCardinalXaroさんの「1つのTeXファイルから2つのPDFファイルを作る」です。

LaTeXは非常に多機能でおそらく最も高機能な組版処理ソフト(ワープロ)だと思う。特に、近年登場してきたTikZやPythonTeXは単なるワープロの限界を超える機能を提供してくれる。しかし、その難解さ・とっつきにくさからそこまで多くは普及していないのが現実だろう。

この記事ではそうしたLaTeXの問題点や、LaTeX初心者が不便に思う点を、2年前の2011年に初めて使い始めたときに感じた私の視点から指摘する。そして、こうしたLaTeXの問題点を緩和し、LaTeXの機能をマウスやキー、メニューから選択することで直感的に実現可能なGUI(Graphical User Interfac)を持ち合わせたLyX(リックやリックス)という文書処理ソフトについて紹介する。

初心者にとってのLaTeXの問題点

私がLaTeXを使い始めたきっかけは学部4回生の卒業論文だ。2011年の9月に先輩から初めてLaTeXについて教えてもらい、それ以降ゼミでの報告資料はLaTeXで書いていた。おそらくこのように卒業論文や修士論文をきっかけにLaTeXに触れる学生は多いのではないだろうか。

インストールは[改訂第4版]美文書作成入門[奥村晴彦2006改訂第4版LaTeX2美文書作成入門]に付属のディスクを使用した。LaTeXの呼び方はラテフとよんでいるが、これは指導教員にそう教わったため。エディターにはWinShellを使い、当時は基本的にコードはベタ打ち!だった。

当時を思い返し、特にLaTeXで辛かった点を以下に列挙する。

  1. 覚えるべき大量のコマンド
  2. 打ち間違いによるストレス
  3. エラーへの対処の困難さ
  4. 打鍵の多さ
  5. 長い数式の視認性が悪さ
  6. 表データの取り込み。
  7. 図の取り込み
  8. ラベルやbibtexキーの検索性

以下では上記の各項目について説明する。

覚えるべき大量のコマンド

1.について、何か新しいソフトを使うに当たって当然「覚えないといけないこと」がある。しかし、他のワープロソフトと比較してLaTeXはその「覚えないといけないこと」が非常に多いと感じている。

例えば、ページの余白を変えようと思うとgeometryパッケージを使わなければ、ページのサイズなどから自分で計算して\topmargin\textheightといったパラメータを設定して、プレビューして確認しながら調整する必要があり、各種パラメータの知識(存在や役割)が必要で非常に煩雑だ。

特に数式については大量のギリシャ文字の表記法も覚える必要があり,こういった類の無数コマンドに圧倒される。

打ち間違いによるストレス

2.について、1と関係するがパソコンを使ったミスとして打ち間違いはつきものだと思う。とりわけ、LaTeXではそれが非常に大きいのではないかと思う。LaTeXはマークアップ言語であるため、括弧や環境でテキストを囲うことが非常に多い。

括弧[{$\end{hoge}で閉じるを忘れたり、バックスラッシュ\で特殊文字をエスケープするのを忘れることはよく経験することだろう。また、コマンド名が紛らわしいものが多いのもミスを誘発する。単数形(includegraphic)なのか複数形(includegraphics)なのか、tabularなのかtableなのか graphicxなのかgraphicsなのか。特に、単数形か複数形なのかはコマンドのオプションなどで固有で新しいコマンドを使うときはいまだに覚えきれず遭遇するエラーだ。

エラーへの対処の困難さ

3.について、2で挙げた打ち間違いによるミスはその場ですぐに気付けば些細なものだ。しかし、考えた内容を一気に書き上げて最後にプレビューを確認する際に打ち間違いによるエラーが出た場合はその原因箇所を特定するのが困難である。

また、論文などの長文を書く場合は、複数のパッケージを読み込みや環境やコマンドを入れ子にしたり組み合わせることがあると思う。この場合、パッケージ間の競合や、環境・コマンド同士の組み合わせや配置によっては原因がよくわからないエラーに出くわすことがある。エラーの解決に丸1日かかることもあり、提出間際で時間のない場合に致命的になる。

打鍵の多さ

4.について、LaTeXはマークアップ言語であり,本文に対して括弧やバックスラッシュを使ったコマンドや環境でマークアップすることで文書としての構造を持たせたり、個別の処理を行える。そのため、本来の内容に加えてこれらのコマンドや環境を書く必要があり、WriterやWordをはじめとするワープロと比べて、入力する文字が増える。

打鍵量が増え指も疲れるし、入力文字数が増えることで相対的に打ち間違えの可能性も増えることになる。特に、箇条書きやその入れ子はおそらく多用すると思うが、LaTeXでそれを実現する場合、以下のように階層ごとにitemize環境で囲み、更に行頭に\itemという箇条書きの記号をその都度入力する必要がある。

\begin{itemize}
  \item hoge
  \begin{itemize}
    \item hoge
  \end{itemize}
\end{itemize}

それに対して、Wordであれば、行頭に中点・を記入してスペースを入れるとオートコレクトにより自動で箇条書きに移行し、階層の上げ下げもTabやShift-Tabなど非常に直感的で素早く実現可能だ。

長い数式の視認性の悪さ

5.TeXはもともとDonald E. Knuthが数式の組版が汚いことに不満を持って開発されたといわれている。そのためか、数式の組版は美しく、また数式を多用する分野の学生や研究者で利用者が多い印象だ。ただ、複雑な数式ではLaTeXコードが数式をうまく表現できているか確認するには非常に視認性が悪い。例えば、以下に量子力学の分野で有名なシュレイディンガー方程式を示す。

i h ψ t = h 22m 2 ψx 2+V(x)ψ

これをLaTeXコードで書こうとすると次のようになる。

\[
i\bar{h}\dfrac{\partial\psi}{\partial t}=-\dfrac{\bar{h}^{2}}{2m}\dfrac{\partial^{2}\psi}{\partial x^{2}}+V(x)\psi
\]

慣れていなければぱっと見ただけでは実際の数式との対応関係を把握するのが困難だ。分数が入ると括弧が非常に多くなり、視認性が悪くなっている。括弧の綴じ忘れなどで何度もエラー探しをしたことがある。出力結果はきれいだが、式の誘導や展開を行うと数式だらけになりLaTeXコードを見るのはうんざりする。

表データの取り込み

6.について、LaTeXは表の扱いが苦手だ。LaTeXでは基本的に以下のように&で区切って表のセルを表現する。

\begin{tabular}{|c|c|}
\hline 
 & \tabularnewline
\hline 
 & \tabularnewline
\hline 
\end{tabular}
標準的な表の例




通常はCalcやExcelといった表計算ソフトで表を用意すると思うが、LaTeXで使えるようにするには&\tabularnewline\\でも可)を付け加えて整形しないといけない。行罫線\hlineを加えるのは厄介だ。LaTeXに貼り付けた後に列を削除したり入れ替えたりするのは面倒だ。さらに、行や列を連結させるのも一苦労。

% \usepackage{multirow}

\begin{tabular}{|c|c|c|} \hline & & \tabularnewline \hline \multirow{2}{*}{} & \multicolumn{2}{c|}{}\tabularnewline \cline{2-3} & & \tabularnewline \hline \end{tabular}
行や列を連結した表の例







連結した行や列の位置を考えてコマンドを入力し、さらに関連するセルの数の対応を把握しておかないといけない。連結した状態で表計算ソフトでLaTeXコードを用意するのは困難だ。表を図として貼り付けるという方法も考えられるが、その場合longtableを使った複数行にまたぐ表は非常に面倒であり、LaTeXで取り込むために図の変換などが必要である。

図の取り込み

7.について、LaTeXを使い始めた時は画像をepsで用意するように教えられ、epsでなければ画像を取り込めないと思い込んでいた時期があった。そのため、Excelなどで作ったグラフをInkscapeに貼り直してepsに保存するという間に面倒な作業が挟まっていた。実際には、epsの他にpdf, png, jpgなども可能(svgやemf, wmfは確か不可)だ。

しかし、pngやjpegを取り込むにはバウンディングボックスをincludegraphicsオプションのbbで指定したり、変換が必要でとにかく面倒である。更に、取り込む際には以下のようにパスとファイル名を記述して指定する必要があり、画像名を覚えていなければそれを逐一フォルダを開いて確認する必要があり、これもまた面倒である。

\includegraphics[width=5cm,bb=10 20 30 40]{IMG_0946.JPG}

また,LaTeXでは画像を文書中に埋め込むことはできないので,常に.texファイルと画像をセットで扱わないといけない。WordやWriterであれば,画像自体を文書に埋め込むことができるので,パスを意識する必要がなく,扱いやすい場合がある。

ラベルやbibtexキーの検索性

論文を執筆する際には、数式や図表、さらには文献を参照する。その際に必要なのが相互参照である。LaTeXでは\labelコマンドの引数にラベル名を書き、後から\refコマンドでそのラベルを参照することで数式や図表番号を参照することができる。また、文献の場合は\citeコマンドの引数にキーを渡すことで参照できる。

操作自体は簡単だが、論文が長くなるほど式や図表、参考文献とラベルの対応関係を把握できなくなる。\refの引数に誤ったラベルを書いてしまうと、相互参照の番号の部分が?になる。?なならまだ間違えたことがわかるからいいが、別の式や図表を参照してしまった場合、文章を読むまで参照が正しいか判断ができない。

一般的な解決方法

以上でLaTeX初心者が出くわすLaTeXの問題点について指摘した。他にもplatexの実行時に生成される大量の中間ファイルが邪魔だとか、プレビューに時間が掛かるなど挙げればきりがないだろう。

IDEの存在

これらのLaTeXの問題を解消する方法として、IDE(Integrated Development Environment:統合開発環境)の利用が挙げられる。IDEとは、一般的に作業を行う上で必要な機能を集約した環境のことである。一般的には以下の機能を持つものが多い。

  • プロジェクト管理
  • プレビュー
  • 入力補完
  • シンタックスハイライト

LaTeXの利用者はおそらくほとんどがIDEを利用するか、VimやEmacsといったテキストエディタにLaTeXで作業するためのプラグインを導入するなどカスタマイズして作業をしていることだろう。

おそらく多くのMacの利用者はTeXshopを使い、Windowsの利用者はWinshellかTeXworks、TeXmaker、EasyTeXといったところを使っているのではないだろうか。他には、秀丸、Emacs、Vim、xyzzyといったところだろうか。

私のPCはWindowsで、美文書作成入門第4版やTeXインストーラ3でインストールしたW32TeXをLaTeX環境のベースとしていたのでWinshellを当初使っていた。WinshellのUIは英語でその機能のほとんどを使いこなせていなかった。その結果、LaTeXコードも補完機能を使わないすべてベタ打ちだった。

IDEの調査

打鍵の多さと打ち間違いの多さから非常にストレスを感じた私は、2011年の学部最後の冬休みと2012年の大学院入学前の春休みにLaTeXのIDEを調べまわった。具体的にはインストールして、実際に操作して吟味するというのを繰り返した。調査対象は以下のリストだ。

  • Easy TeX
  • Yotuba TeX Editor
  • TeXnician
  • xyzzyとKaTeX
  • TeXE
  • WTexEdit
  • TeX asisstant
  • TeXEditor
  • LyX
  • TeXmaker

LaTeX初心者は往々にして、shellの初心者でもある。そのため、VimやEmac、それに類するプログラム向けエディタはそれだけで敷居が非常に高い。まして、当時の私は卒論のまっただ中でそうしたエディタの操作を覚える時間的余裕がなかった(xyzzyやEmacs、Vimが除外)。また、私は初心者であったがいちいちマウスでクリックして入力するのは面倒なので、入力補完とそのカスタマイズに優れているものを選んだ(Easy TeXが除外)。

2011年の冬休みの時点ではTeXEditor(似たような名前のものがいくつかあるので注意)が入力補完が直感的で自分でのカスタマイズも簡単で使いやすかったのでこれで卒業論文を書いた。

ただ、動作が遅くてまだ納得がいかなかったので春休みにも調査し、このときにLyXの存在を知った。その当時はLyXの独特のUIや操作になれるのに時間がかかると思って敬遠して見送った。ただ、そのUIやHPでの説明とそのロゴやマスコットキャラクターが記憶に残った。このときの調査では最終的にTeXmakerにたどり着いた。おそらく、LyX以外でWindowsでLaTeXのIDEを使うならTeXmakerかVim、Emacsあたりを使うことになると思う。それくらい、TeXmakerは完成度が高いように思った。入力補完はもちろんUIも良かった。

LyXを使うきっかけ

しかし、TeXmakerを使っても満足できなかった。大学院の講義のレポートでTeXmakerを使っていたが、コマンドは覚えきれないし、打ち間違いによるエラーはあった。長い数式を書くと括弧やスペルミスでエラーは出るし、わけのわからないエラーで提出直前になって何時間も時間を浪費した。もうLaTeXを使うのをやめてWordにしようかと何回も考えた。ただ、LyXの存在が気がかりだった。

そこで、2012年の前期の大学院の講義が終わった8月初めの時点で、LyXを試してみてそれでダメならWordかWriterで文書を書くことにしようと決めて、LyXを使い始めた。

インストールの時点では日本語がうまく表示できなくて早速躓いた。インストールの方法はTeX Wikiを参考にどうにかうまくできた。ネット上には当時は日本語の情報があまりなくて頼りになるのは付属のHelpの文書だった。Helpの文書とネットの情報を頼りにLyXとLaTeXの知識を身につけたことでLaTeXをやめずに現在まで至っている。

LyXの紹介

ここからはLyXについて説明していく。LyXを使うことで最初に8つ挙げた初心者にとってのLaTeXの問題点をかなり解消できると確信している。導入や使い方というよりはLyXの便利な機能などに重点をおいて説明し、読者に興味を持っていただくことを目標とする。

LyXとはなにか?

LyXは、TeX をバックエンドとして、GUIを有するソフト。WYSIWYG (what you see is what you get) とは異なる、WYSIWYM (What you see is what you mean) を標榜するワードプロセッサである。

Wikipedia

LyX(リックやリックスなどと呼ばれる。呼称は定まっていない)のロゴは以下のコマンドで構成されている。

\providecommand{\LyX}{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}
LyXのロゴの表示コマンド(LyX wiki | LyX / Logotype

また,TeXのTeX lionのようにLyXにはマスコットキャラクターがいて、The LyXという。哺乳類の動物であるplatypus(カモノハシ)をモチーフしているとのことだ。

LyXのマスコットThe LyX(LyX wiki | LyX / Mascot

LyXは簡単にまとめると、以下の2つの性質をもったワープロソフトだといえる。

  • WordやWriterのようなGUI。
  • LaTeXベースの組版エンジン。

ライセンスはGPL(つまり、フリーソフト)でWindows、Linux、Macのどの環境でも動作する。

LyXのチュートリアルを始めるとわかるが、LyXではWYSIWYMという思想を非常に大事にしている。普通のワープロはWYSISYG(What You See Is What You Get)といい、最終出力は現在入力して「見えている内容と同じ」である。WYSIWYM(What You See Is What You Mean)とは、最終出力は実際に入力してみえている内容とは異なり、入力時に「意図した内容」 が得られる。意図した内容とは、文書構造などのことである。

初めて使う人はその思想や操作体系に戸惑うと思う。特に決定的なのは、基本的には空行や行頭の空白及び連続した空白が許可されないことだろう。また、水平方向のスクロールバーも存在しない(LyXが自動で折り返す)。しかし、LaTeXの機能をGUIに落としこんでおり、LaTeXコードをあまり意識しなくても使えるようになっており、LaTeXのGUI版だと思って問題無い。

本家公式サイト
LyX | LyX – The Document Processor
日本語公式サイト
LyX | LyX – 文書プロセッサ

LyXのよいところ

LyXの素晴らしいところは前述した初心者にとってのLaTeXの問題点を解消・緩和できるところだ。

文書作成時の基本コマンドは、ドロップダウンリストやメニューから選択することで章・節の設定・目次の挿入、図表の挿入、minipageの挿入などLaTeXを使って普段作成するような文章を自分でLaTeXコードを直打ちしなくても簡単に作成することができる。極端な話,LaTeXコードを一切見なくても組版が可能だ。

以下でいくつかのカテゴリに分けて優れている点を列挙する。

ワープロ環境
  • UIやマニュアルのほとんどが日本語化済み。
  • 画面分割・タブウィンドウの対応。自動バックアップ。バージョン管理システムとの連携。
  • アウトラインやメッセージウィンドウ、LaTeX Sourceウィンドウなどの画面配置のカスタマイズ。
文書作成機能
  • 普段の文書に必要な節、各種箇条書き、lstlistingなどをTeXコードを入力しなくてもアイコンやドロップダウンからの選択・短絡キーにより入力可能。
  • 箇条書きはTabやShift Tab、Alt Right、Alt Leftなどで階層の上げ下げを即座に行える。
  • 数式エディタが搭載されており、入力した数式がリアルタイムで表示される。
  • 表エディタが搭載されており、ボタンクリックで行・列の削除・移動・追加・連結などが可能。
  • 図の貼付け時にLyXのエディタ上に画像をプレビュー可能。
  • ダイアログウィンドウからフォルダにアクセスして取り込む図を選択できる。
  • JPGやPNGなどのほとんどの画像をユーザー側での変換などの前処理なしでLyXで自動で変換して取り込んでくれる。
  • 図表・数式番号のラベルやBibTeXキーをダイアログウィンドウから選択したり、検索して参照できる。
玄人向け機能
  • Xy-picのXymatrixコードをLyX内で自動プレビュー
  • 楽譜組版ソフトLilipondも同上。
  • 文書途中でのLaTeXコードの直打ちにも対応。
  • HTMLやXHTMLなど他の文書へのエクスポートに対応。
  • .texファイルのインポートと.lyxから.texへのエクスポートが可能。
  • 「LyX上のほとんどの動作」にユーザー独自の短絡キー(ショートカットキー)の設定が可能。
  • 独自・新規コマンドを挿入する独自の差し込み枠の定義が可能。
  • .lyxファイルはテキストファイルなのでLyXの構文を維持すれば独自に書き込み可能(図の一括貼り付けなど)。

最近のLyX(2.0.6以降)だと標準でeLyXerがついてきており、File⇒Export⇒HTMLで一発で変換可能なので簡単だ。また,標準機能としてXHTMLへの出力機能はサポートされている。数式や箇条書き、表やlstlisting、目次もちゃんと変換できている。ただ、BiBTeXを使った参考文献は不完全となっている。

外観・操作の様子

ここまで書いてきて、LyXの具体的な機能についてようやく説明しようと思う。ただ、LyXの操作の状況を文章だけで説明するのはかなり難しい。かといって、図を大量に貼り付けるのはかなりしんどい。そこで、実際の操作画面をキャプチャした動画を以下に掲載したのでこれをご覧になって、LyXの操作やGUIがどうなっているのか見ていただきたい。

動画での操作について簡単に説明する。

  1. 最初にまず、タイトルと著者名、日付を記入。
  2. 見出しを書きながら、LyXの画面構成について説明。
    1. 基 本的にはメニューバーやドロップダウンメニューからLaTeXのコマンドや環境に相当するものを選択して挿入していく。ドロップダウンメニューはAlt-p Spaceでフォーカス可能で、メニューバーもキーボードからアクセス可能なので、基本的にはキーボードからすべて操作可能。
    2. 使いやすいようにアウトラインやLaTeXソースを表示するウィンドを表示。
      1. アウトラインは図表なども表示でき、レベルの上げ下げ、移動なども下のボタンで可能になっている。
      2. LaTeXソースにはLyXでの入力が実際のTeXではどう解釈されるかをリアルタイムで表示してくれるので便利。
  3. 続いて箇条書き。ドロップダウンやドロップダウンの下のアイコンから箇条書きがかける。
    1. レベルアップダウンはTab/Shift TabかAlt-Left/Rightで可能。 Alt-Up/Downで上下の移動も可能。組み合わせたネストも簡単。
  4. 数式。
    1. C-m/C-Mか挿入から数式ボックスを挿入する。このボックス内に数式をTeX記法で書いていく。入力すると候補が表示され、Tabで補間も可能。
    2. シュレイディンガー方程式は長くて複雑で覚えていなかったので右辺の入力は断念。
    3. C-EnterでAlign, eqnarrayに移行して多段式も可能。画面下部に式の操作アイコンも登場。
    4. 数式ボックス内で、昨日のdoraTeXさんの「TeXによる化学組版」という記事にも登場した\ceコマンドを初め、Xy-picのxymatrixなどいろいろ使える。
    5. LyX上で文字のTeXの数式を選択してC-mで一発で数式に変換可能。
    6. 併記した数式コードはlstlisting環境で表示。
    1. 挿入⇒表を選択。
    2. 画面下部に表の操作アイコンが登場。
    3. 列・行の連結・削除、追加も簡単。
    4. 右クリックで幅やlongtableの設定も可能。
    5. 表計算ソフトなどからそのまま貼り付けられる。
    1. 挿入⇒図でダイアログが表示され、そこから選べる。
    2. 例として、The LyXとTeX Lionを表示。
    3. 選んだ画像はLyX内でプレビューされる。表示しない設定も可能。
    4. フロートで囲み、キャプションやラベルも付けれる。
    5. 相互参照には全リストから検索可能。
  5. その他。
    1. BibTeXを使った文献引用。最初にbibファイルを選択する。
    2. TeXコードの直打ち。C-lで赤いボックスが登場。この中でTeXが直打ち可能。\barchartという独自コマンドを例で書いている。
    3. hyperrefのurlやhrefコマンド。
    4. なお、\#などのLaTeXの特殊文字は自動的にTeX内部でエスケープして入力される。
  6. 玄人向け
    1. LyXのGUIはユーザーが独自コマンドも定義できる。ここでいう独自コマンドとは、LyXが標準でGUIを用意していないコマンドのこと。
    2. 挿入⇒Custom Insetでボックスを追加できる。ドロップダウンメニューにも独自環境を追加できる。
    3. 例として、tcolorboxとsmartdiagramを表示。
  7. プレビュー
    1. ファイル⇒書き出し⇒PDFか文書⇒表示⇒PDFでPDFの出力かプレビューが可能。
    2. プレビューとしてSumatraPDFで出力結果をプレビュー
    3. SyncTeXにも対応。

歴史

LyXのバージョンヒストリーを以下の表に示した。

LyXの歴史
リリース年バージョンリリース備考
1999
1.0.0
2003
1.3.0
2006
1.4.0
2007
1.5.0
2008
1.6.0
2011
2.0.0
2011
1.6.10
1.6系統最終
2012
2.0.4
私の最初の使用バージョン
2013
2.0.6
2.0系統最終?
201?
2.1.0
beta版がリリース中

1999年に最初のバージョンがリリースされ更新されてきた。私が初めて使ったのはLyX2.0.4である。最新の安定バージョンは LyX2.0.6となっているが、時期バージョンのLyX2.1.0beta2も公開されており自由にDLできる。LyXのバージョン番号の見方としては以下のように、最初の2桁がメジャーバージョンを示しており、新しい機能の追加などでバージョン間で大きな変更がある。最後の1桁はマイナーバージョンアップを示しており、バクの改善などの小さいな改良が行われている。

x.x.x
メジャーバージョン1.メジャーバージョン2.マイナーバージョン

メジャーバージョンが異なるLyXのファイルはネイティブな動作が担保されない。

なお、もし新しくLyXを使いはじめるとしたらLyX2.1.0beta2をインストールすることをおすすめする。詳細は述べないが、LyX2.0系統に比べて(個人的に大幅に)機能が向上しているためだ。ユーザが独自に定義できる差し込み枠の設定オプションが増え、カスタマイズ性が向上したことと、 BeamerドキュメントクラスのUIが改善したことが個人的には大きな点だ。

LyXの動作の仕組み

LyXがどのようにファイルを処理してLaTeXを使い、最終出力を得ているかについて簡単に説明しておく。

LyXで文章を作成する際には、LyXのファイルメニューから新規作成を選択するなどして、.lyxという拡張子のファイルに文章を書いていく。この.lyxファイルはテキストファイルになっていて、LyXがこれに書かれている内容を解釈してLyXエディタ上で箇条書きやボックスなどを表示している。

LyXを使うには、MikTeXやTeXlive、W32TeXなどのディストリビューションで事前にLaTeXの使える環境が必要となっている。LyXはインストール時にlatexコマンドの存在するフォルダを指定してそこにパスを通すことでlatex関係のコマンドを使用している。当然使用できるパッケージも通常のTeXのパッケージと同じものが使える。LyX,はただGUIなど部分とlatexコマ ンドなどのプログラムの実行などを内部で行ってくれるだけで、latexの中身については関与しない。

LyXがファイルを処理してPDFなどの出力を得る過程は以下の手順になる。。

  1. LyXのメニューからDocument⇒View⇒PDF(dvipdfm)やFile⇒Export⇒PDF (dvipdfm)などを選択
  2. するとplatexの実行が開始。
  3. この時点でLyXの設定(Tools⇒Preference⇒Paths)で指定しているTempフォルダに.lyxファイルと貼り付けている図、リスト、inputしている子文書類がコピーされ、.lyxが.texに変換される。
  4. .texファイルに対してplatexや必要に応じてbibtexやmendex、さらに図の変換コマンド(comvert, metafile2eps, pdftopsなど)が実行される。
  5. そしてpdfのプレビューを表示。
  6. Exportの場合は元々の.lyxファイルと同じ場所にpdfができる。その他の中間ファイル類はTempフォルダのみに存在。
  7. lyxファイルを閉じるとこれらのTempフォルダは自動的に削除される。

上記のように、一旦Tempフォルダに関連ファイルを一式コピーしてそのフォルダ内でlatexコマンドを実行して出力を返してくれる。このようにして、ユーザにバックでlatexが動いていることを実感させないように振る舞ってくれる。余計な中間ファイルができなくてスッキリする。

課題

LyXは自分にとってとても便利でこれなしでは私はLaTeXにはもう触れない。そんなLyXでも幾つか課題があるので以下で解説する。

外部コマンドとの連携

LyX自体が画像の変換やバージョン管理、RのSweveやKniterなどで自動的にいくつかの外部コマンドと連携している。ただ、それでもカバーしきれていないものがある。特に最近登場してきたPythonTeXもそうだし、TUG2013で発表されたmultibibliographyパッケージの用に独自のコマンドやスクリプトを間に挟む場合のLyX側での対応が不十分である。おそらく、スクリプトなどを書いてうまく設定すれば対応できるのではないかと思われるが、詳細は不明。

既存のコマンド

LyXが標準で使っているコマンドでいくつか改良版があるのに古いものを使っているケースがある。代表的な例だと、longtable環境だ。LyXでは表を挿入して右クリックから選択することでtabularをlongtableに変更することができる。ただ、最近だと改ページを伴う表としてはxtabパッケージのxtabular環境の方が表の全幅を指定できたり高機能。こうしたLyXで既定で使用されているコマンドを変える方法がわかっていない。

個人的な不満

箇条書きなどを書いていると、矩形選択して特定の列を切り取ったり削除したくなる。普段使っているテキストエディタVimと同じような機能を使いたい。

たくさんの図を貼り付けるときにLyXからいちいちダイアログを開いて選択するのは面倒。かといって、全部TeXコードで書くとラベルがダイアログに表示されない。LyXコードをLyX中から編集できるようになれば、そこにスクリプトなんかで書きだしたものを貼り付けたりできるので便利だろう。

周りに使っている人がいないので、文書校閲機能などが意味を成さない。

LyXの参考文献

LyXについて記述された日本語書籍として私が知る限りでは以下の3冊がある。

  • ドキュメントプロセッサLYX入門 小浪 吉史 (2002/9)
  • LyX入門 北浦 訓行 (2009/10/16)
  • LATEX2ε論文作法 藤田 眞作 (2010/12)

書籍が少ないことは付属のマニュアルがけっこう充実していることと知名度が低く需要が少ないことが原因だと思われる。[LyX入門]は購入し、 [LATEX2ε論文作法]は後から存在を知り図書を借りて目を通した。LyX version 2.1になりメニューのToolsやDocumentの構成が若干変わったこともあり、有用性は以前より少し下がったかもしれない。[LyX入門]は私がLyXを使い始めた当初に購入した。細かい情報がのっていないので今となっては不要だが、使い始めの半年は役立った。[LATEX2ε論文作法]は本のたしか 1-2章を割いてLyXの使い方について説明していた。こちらの方が詳しい内容が書いてあったが量は少なかったと記憶している。

結局のところLyXの日本語の情報としては付属のマニュアル(メニュー⇒Help)が一番詳しいのでこれをよく読むことが大事だ。

おわりに

初心者にとってのLaTeXの問題点とそれを緩和するワープロソフトLyXについて紹介した。LyXのユーザーは昨年に比べて増えて、ネットでの情報も増えつつあるが、まだまだ情報は足りないと思う。今後もLyXについてわかったことがあったらブログに記録して公開していくつもりだ。LaTeX の操作に不満をお持ちのみなさん(特に初心者の方)はLyXを使ってみてはいかがだろうか?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です