latexの3つのエンジン

LaTeXで論文を書く際のエンジンはいろいろあるが, 私はメインでこの3つを使い分けている.

  • pdflatex
  • platex
  • xelatex

pdflatex は, latex にpdf出力を進化させたもので, 海外の多くの論文で使われている. ただ日本語が使えないので, 英語で論文を書く場合, 共著研究者が外国人の場合に用いる. プリアンブル部は以下のとおりである.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{textcomp}
\usepackage{lmodern}

\usepackage{color,graphicx}
\usepackage{amsmath, amssymb, amsthm}
\usepackage[authoryear]{natbib}
\usepackage{setspace}

\usepackage{listings}
\lstset{basicstyle=\ttfamily,breaklines=true,frame=single}
\usepackage{hyperref}

platex は, latex に日本語を使用するように拡張したものである. PDFに変換するエンジンはdvipdfmxを用いる. 英語で開発されたいくつかのパッケージを使う際に拡張が必要する必要がある. とくに, グラフィクスがeps以外の画像ファイル (pdf, png) を使うにはebbもしくはbbを事前に実行する必要がある. またknitrをRStudioやLyX上で使えることができない. プリアンブル部は以下のとおりである.

\documentclass[dvipdfmx]{jsarticle}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{textcomp}
\usepackage{lmodern}
\usepackage{otf}

\usepackage{color,graphicx}
\usepackage{amsmath, amssymb, amsthm}
\usepackage[authoryear]{natbib}
\usepackage{setspace}

\usepackage{listings}
\lstset{basicstyle=\ttfamily,breaklines=true,frame=single}
\usepackage{jlisting}
\usepackage{hyperref}
\usepackage{pxjahyper}

xelatex は, ユニコードに拡張したものである. platexもユニコードに拡張しているが内部はそれぞれの文字コードに依存している. 海外のパッケージがそのまま使える. 例えば, knitrをRStudioやLyX上で使える. ただ, platex用に特化したパッケージは使わないほうがよい. 日本語の文献を出力するためのjeconは使えない. 用いる人が少ないため論文の共同研究に使えない. プリアンブル部は以下のとおりである.

\documentclass{bxjsarticle}
\usepackage{xltxtra}
\usepackage{zxjatype}
\usepackage[hiragino-dx]{zxjafont}

\usepackage{amsmath, amssymb, amsthm}
\usepackage{color, graphicx}
\usepackage[authoryear]{natbib}
\usepackage{setspace}

\usepackage{hyperref}
\usepackage{listings}
\lstset{basicstyle=\ttfamily,breaklines=true,frame=single}

現状, 英語で論文を書く場合は, pdflatex を, 日本語で書く場合, platexとxelatexを使い分けている. 日本語の参考文献が存在する場合, platexを, knitrを用いる場合は, xelatexを用いる. 日本語の参考文献が存在し, knitrを用いるときは, xelatex をもちいている. 最終的には, platex用に変換すれば良い.

具体的に,

\bibliographystyle{plainnat}



\bibliographystyle{jecon}

に変更する. またプリアンブル部も上にあわせて変更する. こうしたことを自動で実施するスクリプトを用意しておけばよい.

投稿者: kenjimyzk カテゴリー: computer

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中