Overleaf

Overleaf を使っているあいだ、あなたの PC は一度も組版をしていません。Overleaf は Overleaf 社のサーバー上で動く TeX Live へのブラウザ側の窓口で、デスクトップの LaTeX 環境との違いはほとんどすべてこの一点から派生します——TeX Live を更新するかわりにプロジェクトごとに年号を選び、足りないパッケージを tlmgr で入れることはできず、コンパイラのフラグを自分で打つ機会もなく、原稿の出し入れはアップロードとダウンロード、あるいは git になります。そのかわり、ローカルでは絶対にできないことが一つできます——同じ行を二人で同時に書くこと。このページはその制約と見返りを実務の順に追います。

手元に TeX が無いということが何を変えるか

まず、パッケージを自分で足すことができません。 Overleaf のサーバーには TeX Live 一式が入っていて、各リリースに 5000 を超えるパッケージが含まれていますが、そこに無いものを tlmgr install で追加する手段は利用者側にありません。かわりの道は「.sty.cls をプロジェクトに置く」ことです。ただし置き場所には規則があります——コンパイル処理は、これらのファイルがプロジェクトの最上位に無いと見つけられません。 フォルダに整理したいなら、最上位に latexmkrc を作って TEXINPUTS を指し直す必要があります。

latex
# latexmkrc at the top level of the project
# look in tex/ and bst/ before the system tree
$ENV{'TEXINPUTS'} = './tex//:' . $ENV{'TEXINPUTS'};
$ENV{'BSTINPUTS'} = './bst//:' . $ENV{'BSTINPUTS'};

この latexmkrc が効くこと自体が、Overleaf の構造を教えてくれます——ビルドは latexmk が回しているのです。だから、コンパイラのフラグを一つ足したいときの唯一のてこもこのファイルになります。もっとも、フラグを足したくなる場面は思ったより少なくて、たとえば -shell-escape を要求する minted は、Overleaf の解説どおり「そのまま動く」——サーバー側で面倒が見てあるからです。ちなみに自前でホストする Community Edition のほうは、すべてのコンパイルが同じコンテナで走るという理由から \write18 を既定で無効にしています。同じ製品名でも、外部プログラムの呼び出しに関する既定が逆なのは面白いところです。

「Overleaf では通るのに手元では通らない」——TeX Live の年号

この食い違いの原因は、たいていエディタではなく ディストリビューションの年号です。Overleaf では TeX Live のバージョンが プロジェクト単位の設定 になっていて、歯車アイコンから Compiler の欄を開き、その下の TeX Live version のドロップダウンで選びます。あるプロジェクトで選んだ年号が他のプロジェクトに影響することはありません。古い版は Legacy としてまとめられており、Overleaf 自身は「新規プロジェクトには勧めない」としながらも、古いテンプレートを通すために残しています。切り替えは恒久的な変更ではないので、いつでも戻せます。

この設計は、責める相手を間違えないためにも覚えておく価値があります。共著者の環境で図が崩れる、去年は通った投稿用テンプレートが通らない——そういうときに最初に比べるべきは、エディタでもパッケージの版でもなく、両者の TeX Live の年号です。逆に、共著者と投稿先に同じ年号をそろえてしまえば、その差分は議論から消えます。なお Overleaf は新しい TeX Live が出てから検証を経て採用するため、上流の公開直後は既定がまだ前年のままということもあります。

プロジェクトを作る——最初の一時間の順番

すべては プロジェクト の中で起きます。ダッシュボード左上の New Project から、まっさらな Blank Project、ギャラリーの雛形から始める From Template、手元の .zip を持ち込む Upload Project、そして Import from GitHub を選べます。どれを選んでもエディタに着地し、左にファイル一覧、中央にソース、右に PDF という三分割の画面になります。ブラウザで始められる手軽さゆえに、テンプレートも共同編集も Git も図版も同時に触りたくなりますが、事故を減らす順番は決まっています——まず一人で、最小の本文が確実に PDF になるところまで

  • 白紙か投稿先のテンプレートを選び、main.tex のような入口ファイルがどれかを見定める。
  • 本文を書き換える前に一度 Recompile を押し、出発点の状態で PDF ができることを確かめる。
  • Menu で Compiler と TeX Live version を決める。必要なら Main document も明示しておく。
  • 日本語を書くなら、LuaLaTeX か latexmkrc 経由の pLaTeX/upLaTeX かを早い段階で決める。
  • ルートファイル・コンパイラ・文献の方針が固まってから、はじめて共著者を招待する。
  • 投稿前に ZIP をダウンロードし、手元で再現できる控えを取っておく。

Compiler をどれにするか——「LaTeX」が意味するもの

ドロップダウンには四つしか並びません。既定は pdfLaTeX で、そのほかに LaTeXXeLaTeXLuaLaTeX。選択はそのプロジェクトだけに効きます。判断の軸は二つ、フォントをどう扱うか図版をどの形式で持っているかです。pdfLaTeX は .png.jpg.pdf を扱い .eps はその場で変換しますが、XeLaTeX と LuaLaTeX は Unicode とシステムフォント(OpenType/TrueType)を直接扱えて、画像形式も選びません。

Compiler中身と扱える画像選ぶ場面
pdfLaTeX既定。.png.jpg.pdf.eps はその場で変換欧文中心の標準的な文書
LaTeXDVI を経由して PDF へ(内部で dvipdfmx)。画像は .eps.ps のみpLaTeX 系の流儀、図がすべて EPS のとき
XeLaTeXUnicode とシステムフォント(OpenType/TrueType)OpenType を手早く使いたい、多言語混在
LuaLaTeXUnicode、システムフォント、Lua による拡張新しく組む文書。日本語にも向く

ここで一つ、名前が誤解を招きます。ドロップダウンの LaTeX は素の latex コマンドという意味ではなく、DVI を経て PDF に至る経路(内部で dvipdfmx を呼ぶ)を指します。だから図版が .eps.ps に限られ、.png をそのまま置くことができません。逆に、後述する日本語の pLaTeX 流儀はこの「LaTeX」を選ぶところから始まります。pstricks を使いたいときも LaTeX か XeLaTeX を選びます(LuaLaTeX は pstricks に対応しません)。なお、どのファイルが本文の入口かは Main document の設定で、ファイル一覧の三点アイコンから変えられます。

日本語を組む——LuaLaTeX か、latexmkrc 経由の pLaTeX か

既定の pdfLaTeX では日本語は組めません。 何も設定せずに日本語を打つと、エラーになるか文字が消えます。道は二つ——(1) Compiler を LuaLaTeX に切り替える、(2) latexmkrc で pLaTeX/upLaTeX を動かす。新規に始めるなら (1) が穏当で、設定は実質一行です。Menu で Compiler を LuaLaTeX にし、\documentclassluatexja 系のクラス——横組みの ltjsarticleltjarticle——を指定すれば、それだけで和文組版が立ち上がります。フォントを明示しなければ妥当な既定が埋め込まれ、luatexja-preset を使えば IPAex フォントを埋め込めます。

latex
% Menu -> Compiler -> LuaLaTeX before compiling this file
\documentclass{ltjsarticle}
\usepackage[ipaex]{luatexja-preset}
\begin{document}
\section{はじめに}
こんにちは、\LaTeX! 数式も書けます: $e^{i\pi}+1=0$
\end{document}

日本語の学会誌でいまも主流の pLaTeX 流儀で書くなら、Compiler を「LaTeX」にした上で、プロジェクトの最上位に latexmkrc という名前のファイルを足します。Overleaf は latexmk でビルドしているので、ここが「platex で処理し、dvipdfmx で PDF にせよ」と伝える場所になるわけです。upLaTeX を使うなら platexuplatex に、pbibtexupbibtex に置き換えます。比較的新しい選択肢として、LuaLaTeX でも pLaTeX でも upLaTeX でも使える jlreq クラスもあります。

latex
# latexmkrc for the pLaTeX route; set Compiler to LaTeX in the Menu
$latex = 'platex';
$bibtex = 'pbibtex';
$dvipdf = 'dvipdfmx %O -o %D %S';
$makeindex = 'mendex %O -o %D %S';

この設定作業そのものを避けたい場合、日本製の Cloud LaTeX は設定なしで日本語が組めます。原稿がほぼ日本語なら検討に値します。なお Overleaf 側でエディタと PDF を行き来するクリックも SyncTeX で動いていて、コンパイルのたびに output.synctex.gz がサーバー上に作られています——出力ファイル名が本文ファイル名ではなく一律 output.* になるのは、Overleaf のビルドがそう組まれているからです。ただしこの前後ジャンプは、PDF ビューアの設定を「Browser」にしていると効きません。

原稿を出し入れする——ZIP、GitHub、そして git bridge

手元に草稿があるなら Upload Project が最短で、.zip を放り込むと展開され、フォルダ構成ごとプロジェクトになります。ただし制限が具体的です——アーカイブに入れてよいのは LaTeX コンパイラが処理できるファイルだけ(プレーンテキストと、.eps.pdf.svg.png の画像)、編集可能な素材は 7 MB まで単体で 50 MB を超えるファイルは不可1 回のアップロードは 180 ファイルまで。Word の .docx や巨大なデータセットはそもそも入りません。そして意外な落とし穴として、本文ファイルがフォルダの中に入っていると動きません。 全部が一つのフォルダにまとまっている zip なら、中身を一段外に出してから固め直します。

原稿が Git にあるなら道は二本あります。Import from GitHub は、Account Settings で GitHub アカウントを連携させておくと、見えているリポジトリをプロジェクトに変換し、以後は Overleaf とリポジトリのあいだで push/pull できます。もう一本は Git bridge で、こちらはホスティングサービスを挟まず、git.overleaf.com に対して直接 git clone します(プロジェクトの URL の wwwgit に置き換えたものが clone 先で、認証はトークンで行います)。どちらも有料プランの機能で、Overleaf は Git のサブモジュールと Git LFS に対応していません。大きすぎるリポジトリは容量制限に当たって取り込みに失敗します。

共同編集——Editor は数に入り、Viewer は入らない

Overleaf の最大の売りは、本物の 同時編集 です。右上の Share から招待すれば、同じ原稿を一緒に開き、互いのカーソルと編集がその場で見えます。招待の仕方は二つ——メールアドレスで招くEditorViewer を選ぶ)か、Link Sharing でリンクを配るか。リンクは二種類発行され、View リンクを持つ人は読むことができ、Edit リンクを持つ人は編集できます(編集にはアカウント作成が必要です)。

ここで効いてくるのが人数の上限です。Viewer は上限に数えられませんが、Editor はプロジェクト所有者のプランの枠を消費します。 枠を超えたあとに編集リンクから入った人は、自動的に閲覧のみに落ちます。無料プランの共同編集者は 1 人——自分ともう一人なら無料で共同執筆ができます。有料プランはこれを広げ、Overleaf のプラン一覧(2026 年 8 月時点)では Student と Standard が 10 人、Pro は無制限です。

査読と改稿の道具は、無料と有料でくっきり分かれます。文書内の コメント は無料プランでも使えますが、変更履歴の追跡(track changes)——一つ一つの編集を受理・却下する機能——と、完全な版履歴——過去の状態に巻き戻す機能——は有料です。共著者が多い改稿作業でこの二つが必要になったとき、契約を検討することになるのがふつうの流れです。ちなみに Overleaf は 2012 年前後に数学者の John Hammersley と John Lees-Miller が WriteLaTeX として始めたもので、2017 年 7 月に競合の ShareLaTeX を統合し、両者のユーザーを一つの環境に集めました。いま画面に見えている機能の並びは、その合流の産物です。

コンパイルがタイムアウトするとき

サーバー側でビルドしている以上、時間には上限があります。 Overleaf のプラン一覧(2026 年 8 月時点)では、無料プランのコンパイル時間は 10 秒、有料プランは 240 秒。長い学位論文や、重い TikZ/pgfplots の図がこれを超えると打ち切られます。これはブラウザで書いている以上避けられない制約なので、原稿が育ってきたら「便利な下書き帳」ではなく「再現可能な組版環境」として扱いはじめるのが賢明です。

  • Menu で Compiler・TeX Live version・Main document を確認し、共著者にも同じ設定を確かめてもらう。
  • 重い TikZ/pgfplots や高解像度画像でタイムアウトするなら、図をあらかじめ PDF に焼くか、重い章を一時的に外して原因を切り分ける。
  • エラーが増えたら Auto compile を切り、Stop on first error に切り替えて、最初のエラーだけを直してから続きを読む。
  • 中間ファイルが古いまま悪さをすることがあるので、様子がおかしいときはプロジェクトのキャッシュを消してから再コンパイルする。
  • 投稿直前に Download as ZIP を実行し、その一式で同じ PDF を手元か別プロジェクトで再現できることを確かめる。

テンプレートから始めると何が省けるか

省けるのは、投稿規定を後から満たす作業です。Overleaf の ギャラリー には学術誌・国際会議・履歴書・学位論文・スライドなど膨大な出発点があり、New Project → Templates から種類を選ぶか、overleaf.com/gallery を直接開いて気に入ったものの Open as Template を押せば、その体裁のプロジェクトが立ち上がります。とりわけ出版社や学会が用意した「公式」テンプレートは、そのジャーナルのクラスファイルとレイアウト規則を最初から抱えていて、原稿が仕上がったら Overleaf からそのまま投稿できるものもあります。

選ぶときの実務的な助言を一つ。テンプレートは体裁だけでなく Compiler と TeX Live の年号の前提 も持ち込みます。開いた直後にまだ何も書き換えていない状態で一度 Recompile し、その前提で PDF が出ることを確かめてから本文に手をつけると、後で「自分の書いた部分が悪いのか、テンプレートが古いのか」を切り分けずに済みます。自作のテンプレートをギャラリーに 投稿 することもできます。