PDF & SyncTeX

概要

TeX64は統合PDFプレビューとSyncTeX双方向ナビゲーション機能を提供します。PDFプレビューはツールバーのビルド成功後に更新され、SyncTeXでソースとPDF間を行き来できます。

SyncTeX機能により、ソースコード内のカーソル位置がPDF内のどこに対応するかを即座に確認でき、PDFをクリックしてソースコードにジャンプすることも可能です。複数のビューモードから作業スタイルに合わせて選択できます。

プラットフォームについて: TeX64は現在macOS(Apple Silicon / Intel)向けに提供されています。Windows / Linux版は予定されていますがまだ提供されていないため、以下のショートカットはmacOSのキーを基準に記載しています。Windows / Linux相当の表記は、それらの版が提供された際に適用されます。

PDFプレビューモード

TeX64はツールバーからのビルド成功後にPDFを更新します。プロジェクトの大きさやモニタ構成に応じてビューモードを選択できます。

統合ビューア (同じウィンドウ)

ツールバーからのビルド成功後にPDFを更新します。エディタとPDFが同じウィンドウ内に統合されて表示されます。シングルモニタの環境や、コンパクトなセットアップに最適です。PDFプレビューはエディタのすぐ下または横に配置でき、頻繁に切り替えながら作業する場合に便利です。

分割ビュー (垂直/水平)

エディタとPDFを横並び (垂直分割) または上下 (水平分割) で配置できます。macOSでは Cmd+\ で切り替えます (Windows/Linux では提供開始後に Ctrl+\)。

ワイドモニタを使用している場合、左側にエディタ、右側にPDFプレビューを配置することで、ソースと出力を同時に確認しながら効率的に作業できます。より大きなフォントサイズやズームレベルで作業する場合は、水平分割モードが便利です。

デタッチモード (別ウィンドウ)

PDFビューアをデタッチして独立したウィンドウとして表示できます。マルチモニタ環境で特に強力です。TeX64をメインモニタに表示しながら、PDFを別のモニタ上で全画面表示することで、プレゼンテーション品質の確認やより大きな視野で作業できます。

ビルド失敗時の動作

ビルドが失敗した場合、TeX64は前回の正常に生成されたPDFを保持します。壊れたPDFファイルや部分的なレンダリングは表示されません。これにより、エラーを修正する際にも、最後に成功したバージョンをリファレンスとして参照できます。

PDFビューアコントロール

TeX64のPDFビューアは標準的なナビゲーション操作をサポートしています。

ズームコントロール

  • ズームイン: Cmd+= (Mac) または Ctrl+= (Windows/Linux) でズームインします。
  • ズームアウト: Cmd+- (Mac) または Ctrl+- (Windows/Linux) でズームアウトします。
  • ズームリセット: Cmd+0 (Mac) または Ctrl+0 (Windows/Linux) でズームをリセットします。
  • マウスホイール、トラックパッド、またはピンチジェスチャーでズーム操作ができます。

スクロール・ナビゲーション

  • PDFをスクロールして任意の位置を閲覧できます。矢印キー、スクロールホイール、またはタッチパッドでナビゲートします。
  • スペースキーまたはPageDownで次ページへ、Shift+SpaceまたはPageUpで前ページへ移動します。

ページナビゲーション

  • Home/End: ドキュメントの最初または最後のページにジャンプします。
  • PDFビューアの上部のページインジケータをクリックして、特定のページに直接移動できます。

PDF更新動作

現行版のTeX64は入力中に自動コンパイルしません。ツールバーのビルドボタンで手動ビルドし、成功後にPDFが更新されます。

ビルド成功時

ビルドが正常に完了すると、TeX64はPDFを自動的に再読み込みして最新の内容を表示します。スクロール位置はデフォルトでは保持されず、ドキュメントの最初に戻ります。

スクロール位置の保持

TeX64は、可能な限りPDFのスクロール位置を保持するよう最善を尽くします。小さな変更により再ビルドされた場合、前回表示していたセクションを継続して表示します。大幅な変更によりページ構造が変わった場合は、スクロール位置がリセットされることがあります。

ビルド失敗時の保持

ビルドに失敗した場合、前回成功したPDFが表示され続けます。エラーメッセージを確認してから、修正を加えて再度ビルドできます。

Forward SyncTeX (ソース → PDF)

Forward SyncTeXは、Jumpボタンを使ったとき、または SyncTeX at Build Time が有効でビルドに成功したときに、エディタのカーソル位置に対応するPDF上の位置を表示します。

カーソル位置のハイライト

Jump実行後、TeX64は対応するPDF上の領域をハイライトまたは視覚的インジケータで表示します。テキスト、段落、セクション、図などが最新のビルド結果のどこに出ているか確認できます。

明示的なJump更新

Jumpをクリックすると現在のカーソル位置からForward SyncTeXを実行します。SyncTeX at Build Time が有効な場合は、ビルド成功後にもジャンプします。カーソルを動かすだけではPDFの再ビルドや更新は行われません。

ビジュアルインジケータ

PDFビューア上には、現在のカーソル位置に対応する領域を示す視覚的なマーカー (矩形、背景色、またはアイコン) が表示されます。これにより、複雑なドキュメントであっても、ソースコードのどの部分がPDF上のどこに対応しているかが明確に分かります。

Reverse SyncTeX (PDF → ソース)

Reverse SyncTeXを使用すると、PDFをクリックしてソースコード内の対応する行に即座にジャンプできます。PDFを読みながら、修正が必要な箇所を見つけたときに、すぐにソースコードを編集できます。

Cmd+クリック でジャンプ

  • Mac: Cmd キーを押しながらPDF内のテキストまたは要素をクリックします。
  • Windows/Linux(予定):提供開始後、Ctrl キーを押しながらPDF内のテキストまたは要素をクリックします。

即座のナビゲーション

クリックすると、TeX64はエディタを前面に表示し、対応するソースコード行に自動的にカーソルをジャンプさせます。行番号が強調表示され、その行の先頭に位置します。複数行にまたがるブロック(段落や figure 環境など)の場合は、ブロックの開始行にジャンプします。

複数ファイルプロジェクトでの動作

Reverse SyncTeXは複数ファイルプロジェクトで特に強力です。\inputまたは\includeで分割されたファイル内の要素をクリックすると、正しい外部ファイルが開かれ、対応する行に自動的にジャンプします。プロジェクト構造に関係なく、正確なナビゲーションが実現されます。

精密な位置付け

ジャンプの精度は、TeX64がSyncTeXファイルから読み取る情報の粒度に依存します。通常、段落レベルの精度で指定行にジャンプしますが、読み込まれるパッケージによっては、より粗い粒度(ページ単位など)になる場合があります。

マルチファイルプロジェクトサポート

SyncTeXは\inputや\includeコマンドで分割されたマルチファイルLaTeXプロジェクトで完全に機能します。ルートファイルの設定とパスの正確性が重要です。

\input と \include の違い

  • \input: 指定されたファイルを現在の位置に直接読み込みます。改ページは行われません。
  • \include: 指定されたファイルを新しいページから開始して読み込みます。\excludeonly で個別に除外できます。

どちらの方法でも、SyncTeXはファイル間の対応関係を正確に追跡し、双方向ナビゲーションが正常に機能します。

ルートファイルの重要性

TeX64は、プロジェクトのルートファイル(\begin{document}を含むメインファイル)を自動的に検出しようとします。複数のLaTeXファイルがある場合は、TeX64がどれをルートファイルとして扱うべきかを明確に指定する必要があります。

ルートファイルが正しく設定されていない場合、SyncTeXは機能しません。メニューから「ルートファイルを設定」を選択するか、プロジェクト設定でルートファイルを指定してください。

ファイル間のジャンプ

Forward SyncTeX と Reverse SyncTeX はどちらも複数ファイル間で機能します。エディタ内のどのファイルをアクティブにしていても、カーソル位置は正確にPDFの対応位置に反映されます。逆にPDFをクリックしてジャンプするときも、正しい関連ファイルが自動的に開かれます。

SyncTeX の要件

SyncTeXが正常に機能するには、いくつかの要件を満たす必要があります。

synctex バイナリ

  • synctexコマンドラインツールがインストールされている必要があります。
  • MacTeXをインストールしている場合、synctexは自動的に含まれています。
  • TeX Liveをインストールしている場合も、synctexが含まれています。
  • インストール確認: ターミナルで「which synctex」と実行してください。パスが表示されればインストールされています。

.synctex.gz ファイルの生成

  • latexmkは自動的に .synctex.gz ファイルを生成する必要があります。
  • TeX64のビルドプロセスはデフォルトで .synctex.gz の生成を有効にしています。
  • ビルドが成功した後、プロジェクトディレクトリに .synctex.gz ファイルが存在することを確認してください。

latexmk 設定

  • .latexmkrc または latexmkrc ファイルで、SyncTeX生成を有効にするオプションを設定できます。
  • 推奨される設定: $pdf_mode = 1; (pdflatex) または $pdf_mode = 4; (lualatex/xelatex)

TeX64の環境確認

TeX64 の 設定 > 環境 メニューで、使用可能な TeX 環境を確認できます。緑色のチェックマーク (✓) が表示されている場合、synctexが正しくインストールされています。

PDF テキスト検索

PDF ビューア内でテキストを検索できます。Cmd+F (Mac) または Ctrl+F (Windows/Linux) で検索ボックスを開きます。

検索機能

  • 検索語を入力して、PDF内のすべてのマッチを自動的にハイライトします。
  • 検索結果をナビゲート: 上下の矢印ボタンまたは Enter キーで次の / 前のマッチに移動します。
  • マッチ件数: 検索ボックスに現在のマッチ件数が表示されます。

PDF 注釈と編集

TeX64 のPDFビューアは読み取り専用プレビューです。PDF内への注釈追加や手書き等の編集機能は提供していません。

PDFに注釈を追加する必要がある場合は、別途PDFエディタアプリケーション (Preview.app、Adobe Acrobat、PDFExpert など) を使用してください。TeX64のPDFビューアは、レビュー・参照・ナビゲーション目的のための最適化された高速プレビューに特化しています。

手動プレビューワークフロー

現行版のTeX64にはライブAuto-buildはありません。ツールバーから手動でコンパイルし、ビルド成功後にPDFプレビューが更新されます。

手動プレビューワークフロー

  1. TeX64でLaTeXファイルを開き、エディタ内でコードを編集します。
  2. ファイルを保存します(Cmd+S / Ctrl+S)。
  3. ツールバーのビルドボタンをクリックして latexmk を実行します。
  4. ビルド成功後、PDFプレビューが最新の出力に更新されます。
  5. ソースからPDFへ移動する場合はJumpボタン、PDFからソースへ移動する場合はPDF上でCmd+クリックを使います。

Auto-buildについて

現行版のTeX64のビルドメニューにAuto-build設定はありません。Cmd+Bは\textbf{}入力用で、手動ビルドはツールバーのビルドボタンを使います。

トラブルシューティング

SyncTeXやPDFプレビューに関する一般的な問題と解決方法をご紹介します。

SyncTeX が動作しない

  • 確認事項 1: synctex のインストール: ターミナルで「which synctex」と実行して、synctexがインストールされているか確認します。出力がない場合は、TeX環境の再インストールが必要です。
  • 確認事項 2: TeX64 環境確認: TeX64 の 設定 > 環境 で緑色のチェックマークが表示されているか確認します。
  • 確認事項 3: ルートファイル設定: マルチファイルプロジェクトの場合、ルートファイルが正しく設定されているか確認します。

.synctex.gz が見つからない

  • ツールバーのビルドボタンでプロジェクトを再ビルドしてください。
  • ビルド成功後、プロジェクトディレクトリに .synctex.gz ファイルが存在するか確認します。
  • ファイルが生成されない場合、latexmk 設定を確認してください。

ジャンプが不正確

  • 一部のLaTeXパッケージ(tikz、pgfplot など)は、ソースマッピングを妨害する可能性があります。
  • マクロ多用時は、ソースと出力のマッピングが複雑になり、ジャンプの精度が低下することがあります。
  • この場合、Forward/Reverse SyncTeXの双方のインタラクションで、大まかな位置を特定して参考にしてください。

マルチファイルプロジェクトの問題

  • ルートファイル未設定: TeX64 メニューから「ルートファイルを設定」を選択し、\begin{document} が含まれるメインファイルを指定します。
  • パス指定エラー: \input や \include で指定されたパスが正確であるか確認します。相対パスを使用する場合は、ルートファイルからの相対位置が正しいか検証します。
  • 外部ファイルが開かれない場合は、ファイルパスの区切り文字(Macはスラッシュ、Windowsはバックスラッシュ)を確認してください。

PDFが更新されない

  • ビルド出力パネルを確認して、ビルドエラーがないか確認します。ビルドが失敗している場合、PDFは更新されません。
  • ソースを保存したうえで、ツールバーのビルドボタンから手動ビルドしてください。
  • ビルドが成功しているにもかかわらずPDFが更新されない場合は、TeX64を再起動してみてください。

一般的な修正方法

  • プロジェクトを再ビルド: メニューから「クリーンビルド」または「再ビルド」を実行します。
  • TeX64を再起動: アプリケーション終了後、再度起動します。
  • TeX環境を確認: 設定 > 環境 で TeX/LaTeX のインストール状態を確認します。

パフォーマンス最適化

大規模なPDFドキュメントやリソース集約的なLaTeXファイルの場合、TeX64のパフォーマンスを最適化できます。

大規模PDF の処理

  • TeX64は、大規模なPDFを効率的にレンダリングするため、ページごとのレンダリング戦略を採用しています。
  • 見えている領域のみレンダリング: 表示範囲外のページはメモリに読み込まれません。
  • 遅延ロード: ページをスクロールするにしたがってレンダリングが進行します。

レンダリング最適化

  • GPU アクセラレーション: サポートされているシステムでは、GPUを活用してレンダリング速度を高速化します。
  • キャッシング: 以前にレンダリングされたページはメモリにキャッシュされ、スクロール時の再読み込みを高速化します。
  • 適応型品質調整: ズームレベルとメモリ使用量に基づいて、レンダリング品質が自動調整されます。

コンパイル時間の削減

  • インクリメンタルコンパイル: latexmk を使用して、必要な部分だけを再コンパイルします。
  • ドラフトモード: \documentclass のオプションで draft モードを使用して、図像処理を簡略化できます。
  • 不要なパッケージ削除: 使用していないパッケージを \usepackage から削除すると、コンパイル時間を短縮できます。

ご質問やサポートが必要な場合は、サポートページをご覧ください。