LyXとTeXでの共同作業
私は論文など、英語で数学の文章を書くときはLyXを主に使っている。10年以上前にLyXを使い始め、それ以来ずっと使っている。しかし、数学者でLyXを使っている人は、あまりいないので、共同で文書を編集するときに少し困る。一人だけ、共同研究者でLyXを使っている人がいて、LyXで共著論文を書いたのが、唯一の例外。それ以外のケースでは、私が妥協してTeXで書いていた。
しかし、共同作業においても、やはり使い慣れたLyXで書きたい。昨日、私がLyXを共同研究者がTeXを使い、一つの原稿にまとめる方法を調べ、設定したので、ここに記録しておく。
まず、マスターファイルをLyXで用意し、そこに私のLyXファイルと共同研究者のTeXファイルを「Insert > File > Child Document」で「include」する。マスターファイルのPreambleに以下を記入。
code:tex
\usepackage{standalone}
\usepackage{ifthen}
\newcounter{masterflag}
\setcounter{masterflag}{1}
また、TeXファイルのPreambleに
code:latex
\newcounter{masterflag}
を書き込み、\end{document}の直前に
code:latex
\ifthenelse{¥value{masterflag} = 1}
{ }
{
\bibliographystyle{alpha}
\bibliography{(bibtex file name)}
}
を記入する。また、TeXファイルに共同研究者が独自のコマンドを定義する場合は、\begin{document}より後に書く。
standaloneパッケージは、マスターファイルをコンパイルするときに、ChildドキュメントのTeXファイルのPreambleを無視する。(そうしないと、Preambleが重複しエラーになる。)ifthenパッケージを使い、masterflagが1かどうかにより、TeXファイルの\bibliographystyle{...}と\bibliography{...}を読み込むかどうかを制御している。(マスターファイルをコンパイルするときには、重複を避けるために読み込まない。ChildドキュメントのTeXファイルのみをコンパイルするときは、読み込む。)