PDF & SyncTeX
概要
TeX64は統合PDFプレビューとSyncTeX双方向ナビゲーション機能を提供します。PDFプレビューはツールバーのビルド成功後に更新され、SyncTeXでソースとPDF間を行き来できます。
SyncTeX機能により、ソースコード内のカーソル位置がPDF内のどこに対応するかを即座に確認でき、PDFをクリックしてソースコードにジャンプすることも可能です。複数のビューモードから作業スタイルに合わせて選択できます。
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プレビューが更新されます。
手動プレビューワークフロー
- TeX64でLaTeXファイルを開き、エディタ内でコードを編集します。
- ファイルを保存します(Cmd+S / Ctrl+S)。
- ツールバーのビルドボタンをクリックして latexmk を実行します。
- ビルド成功後、PDFプレビューが最新の出力に更新されます。
- ソースから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 から削除すると、コンパイル時間を短縮できます。
ご質問やサポートが必要な場合は、サポートページをご覧ください。