Texmaker + SumatraPDF で前方検索を設定する

Texmaker + SumatraPDF で前方検索を設定する

Texmaker には、すぐに使用できる SyncTex 順方向/逆方向検索をサポートする組み込みの PDF ビューアがあります。この組み込みビューアは、埋め込みまたは別のウィンドウで表示できます。外部ビューアには常に別のウィンドウがあります。画面が 2 つあるため、2 ウィンドウ レイアウトを使用しています。

次はスマトラPDF
外部ビューアとしてTexmakerを使用していますが、前方検索を機能させるためのTexmakerの設定方法がわかりません。機能リクエストその情報を追加するにはTexmaker ドキュメントすでに。誰かやり方を知っていますか?おそらくDDE コマンド...

答え1

TexmakerはDDEコマンドを許可していないようですが、バージョン 1.9 以降 SumatraPDFDDE コマンドだけでなく、コマンド ライン スイッチ経由の前方検索もサポートします。 バージョン3.2.1以降Texmaker前方検索に必要なすべての変数が含まれています。これらは

  • %マスターファイルのベース名(パスと拡張子なし)
  • !マスタードキュメントが存在するディレクトリへのフルパス。
  • #現在アクティブなファイルのベース名(パスと拡張子なし)と
  • @行番号用。

したがって、通常は次のようにすれば動作するはずです。

""C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe" -reuse-instance "!/%.pdf" -forward-search "!/#.tex" @

サブディレクトリからインクルードすると失敗します。回避策としては、パスに subDirName を手動で追加します。

""C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe" -reuse-instance "!/%.pdf" -forward-search "!/subDirName/#.tex" @

ただし、subDirName はすべてのプロジェクトで同一である必要があるため、これは実際の解決策というよりも回避策です。

以下は私の Texmaker 設定のスクリーンショットです。 ここに画像の説明を入力してください

答え2

Texmaker と SumatraPDF を順方向検索と逆方向検索でセットアップする方法を説明したドキュメントを作成しましたが、完全にポータブルなので少し難しいです。ハウツーへのリンクhttp://goo.gl/hxDeu(リダイレクトなし:http://goo.gl/hxDeu+) または以下を参照してください:

1. Texmaker で SumatraPDF を前方検索の外部 PDF ビューアとして使用するように設定する ポータブル Texmaker を開き、次のように外部ビューアへのパスを設定します。

./SumatraPDF/SumatraPDF.exe %.pdf -reuse-instance -forward-search %.tex @

SumatraPDF.exe へのパスは Texmaker 実行可能ファイルに対する相対パスであるため、フォルダー構造に合わせてこのパスを編集する必要がある場合があります。

Texmaker -> Texmaker の設定 -> コマンド

2. SumatraPDF での逆検索の設定

デフォルトでは、SumatraPDF は GUI 経由で逆検索を構成することを許可しません。次のコマンドを 1 回実行します。

SumatraPDF.exe -inverse-search "texmaker.exe %f -line %l"

フォルダー構造が異なっていても、texmaker.exe ファイルへのパスを変更しないでください。

逆検索設定が非表示にされた SumatraPDF オプション ウィンドウ

3. 起動バッチファイルを作成する

SumatraPDF のいくつかの制限により、SumatraPDF を外部ビューアとして使用するたびに、次のバッチ ファイルを使用して Texmaker を起動する必要があります。次のコマンドを texmaker-portable.bat に配置し、このファイルを Texmaker.exe と同じフォルダーに保存します。また、texmaker.exe 自体に渡すことができる任意のパラメーターを texmaker-portable.bat に渡すことができることに注意してください。

@echo off
set PATH=%~dp0;%PATH%
start /D "%~dp0" texmaker.exe %*

4. texmaker-portable.batを実行して設定をテストする

トラブルシューティング

  • texファイルをフォーマットする際には、-synctex=1またはパラメータを使用していることを確認してください。-synctex=-1
  • tex ファイルの名前にはスペースを含めないでください (Texmaker と SumatraPDF はスペースを問題なく処理しますが、SyncTeX ファイルは-synctex=1パラメータを指定しても作成されない場合があります)
  • Texmaker をバッチファイルで起動し、Texmaker 経由で SumatraPDF を起動したことを確認してください (このチェーンは必須です)

答え3

これは、上記の Vlastimil からの回答に対する返答です。逆検索はバッチ ファイルなしでも問題なく機能することがわかりました。Sumatra PDF オプションで次の行を使用するだけです (オプションとして自動的に表示されます)。Sumatra 2.1.1 と Texmaker 3.5 を使用しています。

"C:\Program Files (x86)\Texmaker\texmaker.exe" "%f" -line %l

他の人が述べているように、前方検索は Texmaker のオプションのコマンド ラインでも同様に機能します。

"C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe" -reuse-instance %.pdf -forward-search "#.tex" @

答え4

この回答は、SumatraPDF v3.2を使用したTeXmaker v4.5とTeXstudio v2.12.22の両方の手順を理解することを目的としています。

テキストメーカー

  1. Texmakerでは、Options > Configure Texmaker > Commands
  2. フィールドにExternal Viewer(SumatraPDFを使用している場合)入力します

    "C:\Program Files\SumatraPDF\SumatraPDF.exe" -1 -s @%.tex %.pdf
    

ここに画像の説明を入力してください

  1. SumatraPDFでは、 に移動しSettings > Options、次のように入力します。Set inverse search command-line

    "C:\Program Files (x86)\Texmaker\texmaker.exe" "%f" -line %l
    

ここに画像の説明を入力してください

テキストスタジオ

TeXstudioを使用している場合

  1. TeXstudioでは、Options > Configure TeXstudio > Commands
  2. External PDF Viewerフィールドに入力

    "C:\Program Files\SumatraPDF\SumatraPDF.exe" -reuse-instance -inverse-search "\"C:/Program Files (x86)/texstudio/texstudio.exe\" \"%%f\" -line %%l" -forward-search "?c:am.tex" @ "?am.pdf"
    

ここに画像の説明を入力してください

  1. SumatraPDFでは、 に移動しSettings > Options、 で次Set inverse search command-lineのように入力します。

    "C:/Program Files (x86)/texstudio/texstudio.exe" "%f" -line %l
    

ここに画像の説明を入力してください

関連情報