Beispiel - Pseudocode

Open in writeLaTeX
%arara: command: { C:\Programme\Adobe\Reader 11.0\Reader\AcroRd32.exe }

---> arara öffnet das Programm AcrobatReader (zwar nicht mit der aktuell kompilierten pdf-Datei, aber immerhin), wozu auch immer.

Danke!

gefragt 12 Mai '14, 19:14

cis's gravatar image

cis
9.5k95459491
Akzeptiert-Rate: 29%

bearbeitet 13 Mai '14, 14:20

Mir ist unklar, wofür Du das brauchst, aber es müsste möglich sein, sich dafür eine Regel zu schreiben. Der Regel-Meister Paulo Cereda ist übrigens oft im TeX-sx Chat und in der Regel sehr hilfsbereit

(12 Mai '14, 21:00) cgnieder

Zugegeben: mir auch. Es geht mir hier wirklich nur um das Prinzipielle. Abgesehen davon: Vergesse nicht die effekthascherische Seite; mein Gefühl ist, daß viele gar nicht wissen/realisieren, was man mit arara alles machen kann. Sowas, sinnig oder nicht, versteht jeder. PS: Ich habe auf dem Matheplaneten einen Thread von Dir kommentiert.

(12 Mai '14, 21:12) cis

Achso: ein interessanter Aspekt wurde ja vll. überlesen; das wäre für mich gut zu wissen: Ist es möglich sowas nur über die Präambel zu machen oder braucht man dafür zwingend eine yaml-Datei oder geht beides?

(12 Mai '14, 21:50) cis

Du willst einfach eine Möglichkeit, einen beliebigen Konsolenaufruf von arara ausführen zu lassen, richtig?

(12 Mai '14, 22:38) cgnieder

Ja, ganz recht. Da hier hielt ich für ein nettes (vll. eindrucksvolles) Anwendungsbeispiel. Wenn der AdobeReader gleich die Datei öffnet ist es natürlich noch toller.

PS: Achso, ja die Frage nach einer Komplettbehandlung im Dokumentkopf wäre mir wichtig, da ggf. unterschiedliche Dateipfade zu berücksichtigen sind.

(12 Mai '14, 23:21) cis

arara kann grundsätzlich nur, wofür es auch Regeln gibt. Regeln müssen als .yaml-Dateien vorliegen. Für einen Konsolenaufruf gibt es von Haus aus noch keine Regel, aber es ist einfach, sich eine zu schreiben.

Wenn man folgendes als console.yaml abspeichert, wo arara die Regel finden kann (siehe dazu auch meine Antwort zu Deiner anderen arara-Frage und @Bes' Antwort zu Wie kann ich Klassen oder Pakete verwenden, die nur als einzelne Datei bereitgestellt werden?):

Open in writeLaTeX
!config
# Console rule for arara
# author: Clemens Niederberger
# requires arara 3.0+
identifier: console
name: Console
command: <arara> @{command}
arguments:
- identifier: command
  flag: <arara> @{parameters.command}

Dann kann man mit

Open in writeLaTeX
% arara: console: { command: <Konsolen-Befehl> }

einen beliebigen Aufruf <Konsolen-Befehl> starten. Es sollte aber einer sein, der auch (bei Erfolg) ein korrektes Beendigungssignal weitergibt, sonst hängt arara fest. Wenn man damit z.B. einen Dokumentenbetrachter aufruft, macht arara erst mit seinem Programm weiter, wenn man den Betrachter wieder schließt.

Permanenter link

beantwortet 12 Mai '14, 23:23

cgnieder's gravatar image

cgnieder
22.1k253463
Akzeptiert-Rate: 60%

bearbeitet 12 Mai '14, 23:25

Ahh, verdammte Axte - letzter Kommentar gelöscht. Jetzt tut's, ich glaub's einfach nicht. Da darf kein C:/.... drannstehen; nur der Rest /.... ---> Super, danke!

(13 Mai '14, 01:30) cis

Ah, ich muß das einfach fragen: arara hat doch sowas wie 'outputfile'. Wenn ich jetzt z.B. als Konsolenbefehl mydocumentstestdokument.pdf reinschriebe, dann müßte es mit dem von mir verwendeten Programm (z.B. AcrobatReader) testdokument.pdf öffnen. Wie kann ich von diesem Namen unabhängig werden? Ist das leicht ergänzbar oder macht es das gleich viel komplizierter?

(13 Mai '14, 03:42) cis

@cis möchtest Du eigentlich eine Regel für den Adobe Reader? (Obwohl sich mir der Sinn immer noch nicht erschließt... wenn ich den PDF-Output meines Dokuments sehen möchte, drücke ich bei meinem Editor einfach Strg-C-Strg-V, andere Editoren sollten ähnliches haben)

(13 Mai '14, 10:58) cgnieder

@cis Code-Blöcke in Kommentaren solltest Du vermeiden... zumindest bei mir werden dann nämlich nachfolgende Kommentare nicht mehr angezeigt

(13 Mai '14, 15:11) cgnieder

Ach daher kommt das. Es ist zwar sicher nur eine Kleinigkeit, aber dann sollte ich vll. eine neue Frage eröffnen.

(13 Mai '14, 15:43) cis

@cis ich verstehe, was Du wolltest (glaube ich...), und schaue heute Abend (wenn ich Zeit habe), ob ich die Antwort entsprechend ergänzen kann

(13 Mai '14, 15:45) cgnieder
Ergebnis 5 von 6 show 1 more comments

Der rule converter macht aus @clemens console.yaml durch die Eingabe java -jar rc.jar console.yaml die Regel console_v4.yaml. Wenn ich das _v4 entferne, kann ich die für arara v4 upgedatete Regel wieder wie gewohnt benutzen, z.B.
% arara: console: { command: 'C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe' }

Öffne in Overleaf
!config
arguments:
- flag: <arara> @{parameters.command}
  identifier: command
commands:
- command: <arara> @{command}
identifier: console
name: Console

PS: Ob es mit dem rule converter immer funktioniert vermag ich nicht zu sagen.

Permanenter link

beantwortet 19 Nov '18, 18:10

cis's gravatar image

cis
9.5k95459491
Akzeptiert-Rate: 29%

bearbeitet 20 Nov '18, 10:47

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×30
×20

gestellte Frage: 12 Mai '14, 19:14

Frage wurde gesehen: 12,363 Mal

zuletzt geändert: 20 Nov '18, 10:47