
Texmaker verfügt über einen integrierten PDF-Viewer, der die Vorwärts-/Rückwärtssuche von Synctex sofort unterstützt. Dieser integrierte Viewer kann eingebettet oder in einem separaten Fenster angezeigt werden, externe Viewer haben immer ein separates Fenster. Da ich zwei Bildschirme habe, verwende ich das Zwei-Fenster-Layout.
Nun möchte ich wechseln zuSumatraPDFals externer Viewer, kann aber nicht herausfinden, wie man Texmaker konfiguriert, damit die Vorwärtssuche funktioniert.
Ich habe eineFeatureanfrageum diese Informationen hinzuzufügenTexmaker-Dokumentationschon. Weiß hier jemand, wie das geht? Wahrscheinlich mit einigenDDE-Befehl...
Antwort1
Es scheint, dass Texmaker keine DDE-Befehle zulässt, aberseit Version 1.9 SumatraPDFunterstützt die Vorwärtssuche nicht nur über DDE-Befehle, sondern auch über Befehlszeilenschalter. Seit Version 3.2.1 Texmakerverfügt über alle Variablen, die für die Vorwärtssuche erforderlich sind. Diese sind
%
für den Basisnamen der Masterdatei (ohne Pfad und ohne Erweiterung),!
für den vollständigen Pfad zum Verzeichnis, in dem sich das Masterdokument befindet,#
für den Basisnamen der aktuell aktiven Datei (ohne Pfad und ohne Erweiterung) und@
für die Zeilennummer.
Normalerweise sollte also Folgendes funktionieren:
""C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe" -reuse-instance "!/%.pdf" -forward-search "!/#.tex" @
Dies schlägt fehl, wenn aus einem Unterverzeichnis eingebunden wird. Eine Problemumgehung besteht darin, den Unterverzeichnisnamen manuell zum Pfad hinzuzufügen:
""C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe" -reuse-instance "!/%.pdf" -forward-search "!/subDirName/#.tex" @
Allerdings sollte der SubDirName in allen Projekten identisch sein, daher handelt es sich hierbei eher um einen Workaround als um eine echte Lösung.
Hier ist ein Screenshot meiner Texmaker-Konfiguration:
Antwort2
Ich habe gerade ein Dokument erstellt, in dem beschrieben wird, wie man Texmaker und SumatraPDF mit Vorwärts- und Rückwärtssuche einrichtet, aber vollständig portierbar, was etwas knifflig ist. Link zur Anleitunghttp://goo.gl/hxDeu(ohne Weiterleitung:http://goo.gl/hxDeu+) oder siehe unten:
1. Konfigurieren von Texmaker zur Verwendung von SumatraPDF als externer PDF-Viewer mit Vorwärtssuche Öffnen Sie Ihren portablen Texmaker und legen Sie den Pfad zum externen Viewer wie folgt fest:
./SumatraPDF/SumatraPDF.exe %.pdf -reuse-instance -forward-search %.tex @
Beachten Sie, dass der Pfad zu SumatraPDF.exe relativ zur ausführbaren Datei von Texmaker ist und Sie diesen Pfad möglicherweise bearbeiten müssen, damit er Ihrer Ordnerstruktur entspricht.
2. Inverse Suche in SumatraPDF konfigurieren
Standardmäßig erlaubt SumatraPDF keine Konfiguration der umgekehrten Suche über die GUI. Führen Sie einmal den folgenden Befehl aus:
SumatraPDF.exe -inverse-search "texmaker.exe %f -line %l"
Sie sollten den Pfad zur Datei texmaker.exe nicht ändern, auch wenn Sie eine andere Ordnerstruktur haben als ich.
3. Erstellen Sie eine Start-Batchdatei
Aufgrund einiger Einschränkungen in SumatraPDF müssen wir Texmaker jedes Mal mit der folgenden Batchdatei starten, wenn wir SumatraPDF als externen Viewer verwenden möchten. Platzieren Sie die folgenden Befehle in texmaker-portable.bat und speichern Sie diese Datei im selben Ordner wie Texmaker.exe. Beachten Sie auch, dass Sie an texmaker-portable.bat alle Parameter übergeben können, die Sie auch an texmaker.exe selbst übergeben könnten.
@echo off
set PATH=%~dp0;%PATH%
start /D "%~dp0" texmaker.exe %*
4. Führen Sie texmaker-portable.bat aus und testen Sie die Einstellungen
Fehlerbehebung
- Stellen Sie sicher, dass Sie beim Formatieren einer Tex-Datei den Parameter
-synctex=1
oder verwenden-synctex=-1
- Der Name der Tex-Datei darf keine Leerzeichen enthalten (Texmaker und SumatraPDF verarbeiten Leerzeichen problemlos, aber die SyncTeX-Datei wird möglicherweise auch mit
-synctex=1
Parameter nicht erstellt). - Stellen Sie sicher, dass Sie Texmaker mit der Batchdatei und SumatraPDF über Texmaker gestartet haben (diese Kette ist obligatorisch).
Antwort3
Dies soll eine Antwort auf die Antwort von Vlastimil oben sein. Ich habe festgestellt, dass die umgekehrte Suche auch ohne die Batchdatei gut funktioniert. Ich verwende einfach die folgende Zeile in den PDF-Optionen von Sumatra (sie wurde automatisch als Option angezeigt). Ich verwende Sumatra 2.1.1 und Texmaker 3.5.
"C:\Program Files (x86)\Texmaker\texmaker.exe" "%f" -line %l
Wie andere bereits erwähnt haben, funktioniert die Vorwärtssuche auch mit der Befehlszeile in den Optionen von Texmaker:
"C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe" -reuse-instance %.pdf -forward-search "#.tex" @
Antwort4
Diese Antwort zielt darauf ab, die Schritte sowohl für TeXmaker v4.5 als auch für TeXstudio v2.12.22 mit SumatraPDF v3.2 zu verstehen
TeXmaker
- Gehen Sie in Texmaker zu
Options > Configure Texmaker > Commands
Geben Sie in
External Viewer
das Feld (falls Sie SumatraPDF verwenden) ein"C:\Program Files\SumatraPDF\SumatraPDF.exe" -1 -s @%.tex %.pdf
Gehen Sie in SumatraPDF zu
Settings > Options
und geben Sie dann einSet inverse search command-line
"C:\Program Files (x86)\Texmaker\texmaker.exe" "%f" -line %l
TeXstudio
Falls Sie TeXstudio verwenden
- Gehen Sie in TeXstudio zu
Options > Configure TeXstudio > Commands
Geben Sie in
External PDF Viewer
das Feld"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"
Gehen Sie in SumatraPDF zu und geben Sie
Settings > Options
dann inSet inverse search command-line
ein"C:/Program Files (x86)/texstudio/texstudio.exe" "%f" -line %l