読者です 読者をやめる 読者になる 読者になる

TeX Alchemist Online

TeX を使って化学のお仕事をしています。

Overleaf で日本語を使用する方法

TeX TikZ

Overleaf(旧writeLaTeX) は,オンラインで使える LaTeX 原稿執筆環境として非常に便利です。自分のマシン内に TeX 環境を構築するのは一手間二手間かかりますし,インストールする権限がない場合や,出先の端末を使う場合などにも,環境整備の必要なくブラウザのみですぐに LaTeX 原稿を執筆できるのは好都合でしょう。

また,Google Document のような複数人による共同編集機能もあります。複数人で環境を揃えて同時共同執筆を行うことができるのは,クラウドならではのメリットでしょう。

自分が愛用しているのは,「ソースとコンパイル結果のセットを閲覧専用で提示する」機能です。「このソースをコンパイルするとこんな結果になりますよ」というのを見やすく示すことができます。

Overleaf による TikZ の展示例

自分はこの機能を,TikZ のソース例を示すのによく用いています。

Overleaf で日本語を使用する

Overleaf は,現時点ではバックグラウンドで TeX Live 2014 が動いています。ということは,(u)pLaTeX や dvipdfmx も入っているわけで,日本語を用いた和文文書も作れるはずです。 ただし,Overleaf はデフォルトでは海外で主流の pdfLaTeX を使う設定になっているので,和文文書を作成するには多少設定が必要です。

公式のヘルプに Overleaf で pTeX を使う方法 の解説があるのですが,この方法では pLaTeX + dvipdf (≒ dvips + gs)という変換経路になります。日本で現在主流であろう,(u)pLaTeX + dvipdfmx の経路で作成するには,次のように設定する必要があります。

手順1:新規文書を作成して文書設定を行う

Overleaf にログインして,NEW PROJECT ボタンを押し,Blank Paper のテンプレートを選びます。

f:id:doraTeX:20150903124116p:plain f:id:doraTeX:20150903124129p:plain

そして,右上の歯車アイコンをクリックして設定画面を出し,左下の設定項目を

  • LaTeX Engine: LaTeX dvipdf
  • Preview Format: PNG

と設定し,SAVE PROJECT SETTINGS ボタンを押して保存します。

f:id:doraTeX:20150903124144p:plain

手順2:latexmkrc を作成する

左上の Add files... ボタンを押し,Blank File を選択して,新規ファイルを作成し,それに latexmkrc というファイル名を付けます。

f:id:doraTeX:20150903124159p:plain

そして,内容として,次の内容を記載します。

pLaTeX + dvipdfmx を使用する場合

$latex = 'platex';
$bibtex = 'pbibtex';
$dvipdf = 'dvipdfmx %O -o %D %S';
$makeindex = 'mendex %O -o %D %S';
$pdf_mode = 3; 

upLaTeX + dvipdfmx を使用する場合

$latex = 'uplatex';
$bibtex = 'upbibtex';
$dvipdf = 'dvipdfmx %O -o %D %S';
$makeindex = 'mendex -U %O -o %D %S';
$pdf_mode = 3; 

f:id:doraTeX:20150903124215p:plain

手順3:IPAex フォントを埋め込む設定を行う

デフォルトでは,dvipdfmx の和文フォント埋め込み設定がなされていないため,フォント非埋め込みPDFが生成されてしまいます。そのため,Overleaf 上のプレビューでは,和文文字部分が豆腐に化けてしまいます。

f:id:doraTeX:20150903124548p:plain:w258(←和文フォントが非埋め込み)

f:id:doraTeX:20150903124240p:plain (↑日本語が化けてしまう)

そこで,TeX Live 付属の IPAex フォントを埋め込むよう,pxchfon パッケージを用いて設定しておきます。プリアンブルに

\usepackage[ipaex]{pxchfon}

を加えておいてください。すると,Overleaf 上でも正しくプレビューできるようになります。

f:id:doraTeX:20150903124318p:plain

活用例:日本語の入った TikZ 図版を作成する

Overleaf を用いて TikZ 図版を作成する場合,LaTeX エンジンとしてデフォルトの pdfLaTeX を用い,文書クラスとして standalone クラスを用いるのが簡単です。これを用いると,余白がない図版単独の形のPDFが作成できます。先程の ケクレンの構造式 はそのように作成しています。

しかし,この方法の場合,

といった欠点があります。そこで,Overleaf で (u)pLaTeX + dvipdfmx + TikZ + preview パッケージ という組合せを用いて,「日本語入り・複数ページ対応」の TikZ 図版を作成してみましょう。

手順1:preview パッケージの dvipdfmx 用ドライバを準備

まず,上記の設定を行い,Overleaf 上で (u)pLaTeX + dvipdfmx の和文文書を作成します。

preview パッケージは,デフォルトでは dvipdfmx 用のドライバが用意されていませんので,ZRさんの記事 からリンクが張られている,prdvipdfmx.def を入手します。

そして,Overleaf 画面左上の Add files... ボタンを押し,Upload from...Computer を選択して, prdvipdfmx.def をアップロードします。

f:id:doraTeX:20150903124357p:plain:h426

手順2:preview パッケージの使用設定

プリアンブルを次のように設定します。

\documentclass[dvipdfmx]{jsarticle} % upLaTeX 使用時は uplatex もドキュメントクラスオプションに加える
\usepackage[ipaex]{pxchfon}
\pagestyle{empty}
\usepackage{tikz}
\usepackage[dvipdfmx,active,tightpage]{preview}
\PreviewEnvironment{tikzpicture} % tikzpicture 環境を切り出す
\setlength\PreviewBorder{10pt} % 余白設定

これで,tikzpicture 環境のみを切り出した,日本語入りの複数ページ図版を作成することができます。

別の方法1:LuaTeX-ja を利用する

Overleaf に入っているのは TeX Live 2014 なので,新しい LuaTeX-ja も利用することができます。LuaTeX-ja を使えば,latexmkrc を使用することなく,より簡単に和文文書を作成することができます。

手順1:新規文書を作成して文書設定を行う

Overleaf にログインして,NEW PROJECT ボタンを押し,Blank Paper のテンプレートを選びます。

そして,右上の歯車アイコンをクリックして設定画面を出し,左下の設定項目を

  • LaTeX Engine: LuaLaTeX
  • Preview Format: PNG

と設定し,SAVE PROJECT SETTINGS ボタンを押して保存します。

f:id:doraTeX:20150903124426p:plain

手順2: LuaTeX-ja を用いて和文フォント埋め込んだ和文文書を作成するための基本設定を行う

プリアンブルを次のように設定すると,IPAex フォントを埋め込んだ和文文書を LuaTeX-ja で作成することができます。

\documentclass{ltjsarticle}
\usepackage[ipaex]{luatexja-preset}

また,LuaTeX-ja であれば,standalone クラスと日本語を共存させることも容易です。

ただし,LuaTeX-ja はコンパイル速度が遅いため,Overleaf 上で実行すると,しばしば compile timeout エラーを引き起こしやすいという欠点があります。compile timeout エラーでコンパイルできない場合は,次の XeLaTeX を用いる案も検討するとよいでしょう。

別の方法2:XeLaTeX で日本語を使用する

文書の設定において,

  • LaTeX Engine: XeLaTeX
  • Preview Format: PNG

と設定し,プリアンブルを

\documentclass{bxjsarticle}
\usepackage{zxjatype}
\usepackage[ipa]{zxjafont}

とすれば,XeLaTeX を用いて日本語文書を作成することができます。