TeX64

どの LaTeX エディタも、結局は同じ問いに答えることになります——テキストエディタと latexmk の組み合わせに対して、何を足すのか。TeX64(テフ・ろくよん)の答えは、数式のすぐ隣に置かれた 3 つの道具です。記法を覚えずに式を組み立てる視覚エディタ Blocks、画像の数式を端末内で LaTeX に起こす 数式 OCR、そして差分を提案する AI Axiom。macOS と Windows で動くローカルファーストのデスクトップアプリで、組版そのものは行いません。なお、このリファレンスを公開しているのも TeX64 を作っている Fermion Inc. です。だからこそ、このページに書くのは リポジトリと公開文書で裏の取れることだけ に限り、宣伝文句は入れません。

TeX64 は何で、何ではないのか

まず、TeX64 は組版エンジンではありません。アプリの中に LaTeX エンジンは同梱されておらず、ビルドのたびに、別途入れた TeX ディストリビューションの latexmklualatexlatexindentsynctex を呼び出します。TeX 環境が無ければコンパイルはできない、というのがドキュメントの明言するところです。つまり TeX64 は 編集・ビルド・プレビューを束ねる前面 であり、出力される PDF は標準の TeX ツールチェーンが作ったものです。これは制約であると同時に保証でもあります——独自の文書形式は無く、原稿はただの .tex のままなので、いつでも別のエディタや別のマシンへ持ち出せます。

次に、ローカルファースト の意味です。編集・ビルド・PDF プレビュー・SyncTeX・数式 OCR は、いずれも端末内で動きます。インターネットが要るのは、Axiom AI、アカウントと課金、そして後述する管理対象 TeX Live のダウンロードのときだけです。動作環境は macOS 12 以降(Apple Silicon / Intel)Windows 10/11(x64)。Windows Store 版の更新は Microsoft Store が管理します。Linux 版は現在ありません——ドキュメントがそう明記しています。エディタ選びでは、この 3 点(オフラインで書けるか、両 OS で同じ原稿を扱えるか、Linux が要るか)が最初のふるいになります。

インストールと、TeX 環境が見つかっているかの確認

ダウンロードページ(/download)は OS に合わせた導線を出します。Windows 10/11 x64 では Microsoft 署名済みの Store インストーラーを実行し、以後の更新は Microsoft Store が管理します。macOS 12 以降 では Apple Silicon か Intel の DMG を開き、TeX64.app を「アプリケーション」へドラッグします。macOS の成果物は 署名・notarize 済み で、リリースごとに 成果物単位の SHA-256 が公開されているので、ダウンロードしたファイルの同一性はその場で検証できます。Mac のどちらを選ぶか迷ったら、ターミナルで uname -p を実行してください——arm なら Apple Silicon、i386 なら Intel です。

インストールの次に必ずやるべきなのは、TeX 環境が見つかっているかの確認 です。設定 > 環境(Settings > Environment) を開くと、lualatexlatexmklatexindentsynctex の 4 つが検出済みなら緑のチェック、未検出なら赤で表示されます。ここが赤いまま原稿を書き始めると、後でビルドが失敗したときに「エディタが悪いのか TeX が無いのか」の切り分けができません。TeX 環境がまったく無い場合は、利用者が承認したうえで TeX64 管理下の TeX Live を導入する こともできます。この経路ではミラーから TeX パッケージが取得され、アプリ管理下のフォルダにインストールされます——プライバシーポリシーが明記しているとおり、このとき プロジェクトはアップロードされません

  • Windows: 既存の TeX Live、または承認したうえで導入する TeX64 管理の TeX Live。
  • macOS: MacTeX(約 4 GB、必要なものが全部入る)、BasicTeX(約 100 MB、足りないものは tlmgr で足す)、または TeX64 管理の TeX Live。
  • 確認: 設定 > 環境 で lualatex / latexmk / latexindent / synctex の 4 つが緑になっていること。
  • PATH: MacTeX は /Library/TeX/texbin を通します。Homebrew 経由なら /opt/homebrew/bin。PATH を変えたらターミナルと TeX64 を再起動します。

ワークスペース——長い原稿の中を移動する道具

TeX64 は フォルダをワークスペースとして開きます。左にファイルツリー、中央にタブ式のエディタ(縦横どちらにも分割できます)、右に PDF ビューア。ビューアは 別ウインドウへ切り離せる ので、マルチモニタなら片方にソース、もう片方に PDF を置けます。長い原稿で効いてくるのは アウトラインパネル で、章・節・図・表・ラベル・引用・TODO を階層で並べ、入力に追随して更新されます。クリックすればその位置へ飛べるので、300 ページの論文でも構造を見失いません。Cmd+Shift+O(Windows は Ctrl+Shift+O)で開閉します。

検索は 2 段構えです。Cmd+F が現在のファイル内、Cmd+Shift+F がワークスペース全体の 全文検索(ripgrep が担当)で、行番号つきの一覧から該当箇所へ飛べます。ここには プロジェクト全体の一括置換 もあり、\mycommand\mynewcommand に改名するといった作業が 1 回で済みます(置換前に結果を確認するのが安全です)。もうひとつ、地味ですが事故を減らす機能が ファイル名の変更 です。ファイルツリーから改名すると、プロジェクト内の \input\include\graphicspath の参照が自動的に追随します。章ファイルを整理するたびに参照を手で直していた人には、この 1 点だけで移る理由になり得ます。

terminal
thesis/                 # open this folder as the workspace
  main.tex              # \documentclass + preamble + \begin{document}
  chapters/
    intro.tex           # pulled in with \input{chapters/intro}
    methods.tex
  figures/
    setup.pdf           # ASCII names, hyphens, no spaces
  refs.bib
  • \documentclass・パッケージ・\begin{document}main.tex にまとめ、章は \input{chapters/intro} で読み込む。\documentclass が 1 つだけなら、ルートファイルの自動検出は外れません。
  • 図版のファイル名は英数字とハイフン・アンダースコアにし、空白を避ける。あとで改名するときは、ファイルツリーの「名前を変更」を使えば参照も追随します。
  • 章や図を足す前に、短い文書を Cmd+Enter一度だけ通しておく。ここで落ちれば原因は原稿ではなく TeX 環境の側だと確定します。
  • Axiom に大きな修正を頼む前に、ビルドが通る状態にしておく。提案された差分と、適用後に組み直した PDF を、最後に通った版と比べて判断します。
  • 複数ファイル構成で SyncTeX が効かなくなったら、まずルートファイルの設定、次にビルド後に .synctex.gz が生成されているかを見る。

ビルドの走り方と、Cmd+B がビルドではない理由

ビルドは latexmk が担当します。つまり相互参照を解決するための繰り返し実行、BibTeX/Biber、makeindexxindy、そして変更がなければ組み直さない判定まで、latexmk の作法がそのまま適用されます。ルートファイル\documentclass を含むファイル)はプロジェクト内を走査して自動判定され、\documentclass が複数あるような構成では手動で指定できます。ビルドプロファイル を複数用意して、それぞれに pdflatex / xelatex / lualatex といったエンジンや追加フラグを割り当てることもできます。中間ファイルを捨てたいときは 設定 > ビルドプロファイル の Clean、生成された出力まで消すなら Clean -C です。ログはコンパイル中に流れるので、latexmk が何回目を走らせているかがそのまま見えます。

ここで、多くのエディタから来た人が最初に驚く割り当てがあります。Cmd+B はビルドではありません。TeX64 では Cmd+B\textbf{} の挿入に、Cmd+I\textit{} の挿入に割り当てられていて、ビルドは Cmd+Enter かツールバーの再生ボタンです。奇をてらった配置に見えますが、根拠は使用頻度にあります——LaTeX を書いている 1 時間のあいだに \textbf{} を打つ回数と、ビルドを走らせる回数を比べれば、どちらを最短のキーに置くべきかは決まります。ワープロで Cmd+B が太字であることに慣れた指がそのまま使える、という副作用もあります。Windows では CmdCtrlOptionAlt に対応します。

キー(macOS)はたらき
Cmd+Enterビルド。latexmk を走らせて PDF プレビューを更新します
Cmd+B\textbf{} を挿入(選択範囲があれば囲みます)。ビルドではありません
Cmd+ClickPDF 上をクリックして対応するソース行へ戻る(逆方向 SyncTeX)
Cmd+Shift+EBlocks(視覚的な数式エディタ)を開きます
Cmd+Shift+AAxiom の AI チャットパネルを開きます
Cmd+Shift+Fワークスペース全体を全文検索します(一括置換もここ)
Cmd+Pファイル名の部分一致でファイルを開きます
Cmd+D同じ語の次の出現を選択。繰り返すと複数カーソルになります

記法を覚えずに数式を組み立てる(Blocks)

Blocks は、LaTeX の記法を暗記していなくても数式を組み立てられる視覚エディタです。内部では MathLive というインタラクティブな数式ビルダーを使い、ギリシャ文字・演算子・関係子・矢印・集合記号・分数や根号などの構造・アクセント類を パレットから選んで 式を作ります。入力中は組版結果がリアルタイムに描かれ、確定すると対応する LaTeX コードがソースへ自動的に挿入されます。ここが要点で、Blocks は独自形式を作りません——出てくるのは、あなたが手で書いたのと同じ .tex の断片です。

開き方は 3 通りあります——数式環境にカーソルを置いて 右クリック >「Edit in Block」、メニューの Math > Block Editor、あるいは Cmd+Shift+E(Windows は Ctrl+Shift+E)。TeX64 が数式環境を自動的に検出してブロックを起動します。対象になるのは、別行立ての equation / align / gather / multline / split / casesmatrix 系の行列環境、そして $...$\(...\) のインライン数式です。使いどころははっきりしていて、まだ書き方を知らない記号がある式、あるいは 括弧の対応が追えなくなった長い式 を組み直すときに強く、逆に、書き慣れた \frac{a}{b} を打つだけならキーボードのほうが速いままです。

画像の数式を LaTeX にする——端末内で動く OCR

数式 OCR は、画像の中の数式を LaTeX コードへ変換します。メニューの Math > OCR から画面領域を選ぶと、同梱の ONNX / Tesseract コンポーネントが端末内で解析 し、結果をエディタへ挿入します。ここは事実関係を正確に書く価値があります——プライバシーポリシーと利用規約がどちらも明記しているとおり、選択した画面・画像のキャプチャは OpenAI へ送信されません。OCR はオフラインで動き、無料プランに含まれます。手書きノートの写真、PDF 内の数式、教科書のスクリーンショットが対象になります。

実務上の注意が 3 つあります。まず、画面領域の取得には OS の画面キャプチャ権限 が要る場合があり、macOS では求められたときに「画面収録」を許可します。次に精度で、高コントラストの画像を使い、数式の部分だけを切り取る ほど結果が安定します。3 つめは検証で、OCR は補助であって清書ではないので、挿入されたコードは必ず一度ビルドして PDF で見比べて ください。添字と上付き、1l\timesx のような取り違えは、読み返すより組んでみるほうが早く見つかります。なお使い分けの目安は、ゼロから新しい式を作るなら Blocks、既存の紙や PDF の式を取り込むなら OCR です。

Axiom——差分で提案する AI と、その境界

Axiom は TeX64 に組み込まれた AI 執筆支援機能で、窓口は 2 つあります。自然言語でやり取りする AI チャットCmd+Shift+A)と、エディタ内で次の行・数式・段落を提案する インライン補完 です。ただ会話するだけでなく、プロジェクトの中で直接作業する のが特徴で、ドキュメントによれば Axiom はプロジェクトファイルとファイルツリーを読み、編集を差分(diff)として提案し、プロジェクトをコンパイルしてビルドログを読み、arXiv を検索して BibTeX エントリを取得します(arxiv_searcharxiv_bibtex)。これらの機能は AI を利用できるすべてのプランで使えます。

AI をコードに触れさせる道具では、できることより 境界のほうが重要 です。第一に、提案された差分は あなたが確認して承認するまで適用されません。第二に、Axiom は ワークスペースの外のファイルにアクセスできず、任意のシステムコマンドを実行できません——使える道具が制限されています。第三に、API キーやトークンは自動的に伏せられます。データの流れについては、プライバシーポリシーと利用規約が同じことを述べています——Axiom を実行したときにだけ、そのリクエストに必要なプロンプトと文脈(選択テキストや関連するプロジェクト内容を含む場合があります)が、設定された AI サービス(現時点では OpenAI API)へ送られます。数式 OCR のキャプチャは送られません。また、サイトの FAQ は、論文のデータが AI の学習に使われることはない、と明記しています。機密情報を含む原稿を扱うなら、送信前にプライバシーポリシーを自分の目で確認してください。

プランの構成も押さえておくと迷いません。エディタ・ビルド・PDF プレビュー・SyncTeX・Blocks・端末内の数式 OCR は 無料プランに含まれます。AI については すべてのプランに月次の Axiom 利用枠 があり、現在の量はアプリ内に表示されます。有料の Basic と Pro はその枠を広げ、Pro はさらに優先処理と長文向けの広い文脈、そして最も高性能な Axiom モデルを提供します。枠を使い切っても、ローカルの OCR・編集・ビルド・PDF プレビューはそのまま使えます。最後に運用の作法をひとつ——Axiom に大きな修正を頼む前に、ビルドが通る状態を作っておく こと。そうすれば、提案された差分と、その適用後に組み直した PDF の 2 つを、最後に通った版と比べるだけで判断できます。

SyncTeX——ソースと PDF を往復する

SyncTeX はソースと PDF の対応位置を双方向に結びつける仕組みで、TeX64 の PDF ビューアに組み込まれています。前方(ソース → PDF) では、エディタのカーソル位置に対応する PDF 上の領域がハイライトされ、ビューアがそこまで自動でスクロールします。逆方向(PDF → ソース) では、PDF を Cmd+クリックすると対応するソース行へ即座に飛び、その行が強調されます(段落や figure のような複数行ブロックではブロックの先頭へ)。動作の前提は 2 つだけです——synctex が使えること、そしてビルドが .synctex.gz を生成することで、TeX64 のビルドは既定でこの生成を有効にしています。

複数ファイル構成でも動きます\input\include で分割したファイル内の要素をクリックすると、正しい外部ファイルが開いて該当行へ飛びます。ただしこれには ルートファイル\begin{document} を含むメインファイル)が正しく設定されていることが前提で、ルートが違っていると SyncTeX は機能しません。TeX64 は自動検出を試みますが、必要ならメニューの「Set Root File」で明示できます。ジャンプの精度についても現実的な期待値を持っておくとよいでしょう——多くは段落レベルの精度で行に届きますが、tikzpgfplots のようにマクロで大量の内容を生成するパッケージが絡むと対応付けが難しくなり、ページ単位など粗い精度になることがあります。ビルド後に .synctex.gz がプロジェクトに存在するかどうかは、そのまま切り分けの第一歩になります。