Vorschau über die Befehlszeile aktualisieren

16

Ich habe einen Workflow (LaTeX-Bearbeitung in Emacs), der PDFs erstellt, die ich dann in der Vorschau überprüfe. Die Vorschau ist intelligent genug, um die PDF-Datei bei Änderungen neu zu laden. Dies geschieht jedoch nur, wenn ich auf die Anwendung klicke und sie in den Vordergrund bringe.

Gibt es eine Möglichkeit, Preview anzuweisen, das Dokument über die Befehlszeile neu zu laden (und im Hintergrund zu bleiben)?

Bearbeiten: Um nachzuverfolgen, ich bin vollkommen glücklich, ein wenig AppleScript-Hacking oder was auch immer zu tun (ich habe noch nie AppleScript verwendet, aber es kann nicht zu schwer sein).

Reid
quelle

Antworten:

5

Keine einfache Lösung, die ich mir vorstellen kann.

  • Sie können zur Verwendung von Skim oder einer anderen PDF-Vorschau wechseln, die das gewünschte Verhalten unterstützt.
  • Sie können "file.pdf" öffnen, um die Vorschau zu aktualisieren und in den Vordergrund zu bringen, und dann einen weiteren Befehl, um Ihren Editor oder Ihr Terminal davor zu stellen (open file.pdf; open -a Terminal.app).

quelle
Skim macht was ich will; Vielen Dank. Es mag es immer noch, sich während des Auffrischens vorwärts zu bewegen, aber ich kann das umgehen. Skim bietet außerdem ein wesentlich effektiveres AppleScript als Preview (Sie können festlegen, dass es direkt aktualisiert werden soll).
Reid
5

Wenn Sie Applescript verwenden möchten, um die Vorschau in den Vordergrund zu rücken, brauchen Sie nur die folgende Zeile:

tell application "Preview" to activate

Sie können auch den osascriptBefehl in der Befehlszeile verwenden, um das Skript auszuführen. Es gibt bestimmte Dinge, auf die Sie achten müssen (Anführungszeichen umgehen und mehrere Zeilen behandeln). Beispiele für die genaue Verwendung gibt es zuhauf und es hat eine eigene manSeite.

Philip Regan
quelle
Vielen Dank; das wäre sicher halbwegs da. Ist es möglich, Preview anzuweisen, zu aktualisieren, aber nicht in den Vordergrund zu treten? Wie kann man herausfinden, welche AppleScript-Hooks für eine App verfügbar sind (oder ist das eine neue Frage, die ich stellen sollte)?
Reid
2
@Reid nicht wirklich, aber Sie könnten Ihrem Skript einen Befehl hinzufügen, um zu der App zurückzukehren, die Sie zuvor hatten (in diesem Fall Ihr TeX-Editor), der ausreichen sollte, um die Aktualisierung der Vorschau auszulösen und Sie wieder in Betrieb zu nehmen.
Martin Marconcini
@Martin, danke - ich habe das zum Arbeiten gebracht. Das einzige verbleibende Problem ist, dass die Fensterreihenfolge geändert wird. Ich würde es vorziehen, wenn es genau so bleibt.
Reid
Dies würde das Fummeln mit dem Index jedes Dokuments (Dokument n ) erfordern , aber in der Regel ist dies eine schreibgeschützte Eigenschaft.
Philip Regan