• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Perl Script --> Stand alone App.

ArrowDebreu

Klarapfel
Registriert
24.01.07
Beiträge
281
Ich würde gerne ein bestehendes Perl Script (nicht von mir, sondern ein LaTeX WordCount von hier) in ein eigenständiges Programm umwandeln. Das Script benötigt (meines Wissens) einen Input (ein TeX-File) und liefert dann einen Output.

Ich habe absolut keine Programmierkenntnisse und bin daher auf euch angewiesen. :innocent:

Bin auch sonst dankbar für jeden Tip!

----------------------------------------------

Ich fasse nun die von Skeeve empfohlenen Schritte zusammen:
  1. Perl Script hier runterladen
  2. BIN-TeXcount.pl mit z.B. TextEdit öffnen und erste Zeile von
    #! /local/bin/perl -w
    umschreiben zu
    #!/usr/bin/perl -w
  3. Kopiere den Text unten in ein ScriptEditor Fenster
    property TeXcount_name : "BIN-TeXcount.pl"
    property TeXcount_param : "-v0"


    on run
    tell me to open {choose file with prompt "Wähle eine TeX Datei." without invisibles}
    end run

    on open some_files
    repeat with a_file in some_files
    wordcount(a_file)
    end repeat
    end open

    to wordcount(a_file)
    set scpt to (POSIX path of (path to resource "Scripts")) & TeXcount_name
    set gezaehlt to do shell script (quoted form of scpt) & " " & TeXcount_param & " " & quoted form of POSIX path of a_file
    display dialog "Ergebnis für " & (name of (info for a_file)) default answer gezaehlt
    end wordcount
  4. Sichere als "Programm Bundle" auf dem Schreibtisch
  5. Im Finder Öffne das Kontextmenü des gerade gesicherten Bundles und wähle "Paketinhalt zeigen"
  6. Klicke Dich runter in Contents -> Resources -> Scripts
  7. Kopiere hier hinein das BIN-TeXount.pl
  8. Im Terminal
    chmod +x ~/Desktop/WordCount.app/Contents/Resources/Scripts/BIN-TeXcount.pl
    eingeben. Enter. Es passiert optisch im Terminal nichts - das ist ok. Terminal schliessen.
Entweder eine Datei auf das Bundle fallen lassen oder Programm durch Doppelklick starten & Datei auswählen.

----------------------------------------------

Danke an Bölzebub, die Hersteller des Scripts und natürlich Skeeve für die Geduld & Hilfsbereitschaft!
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Zettt

Bölzebub

Querina
Registriert
27.05.05
Beiträge
180
Das geht mit Platypus. Es sollte funktionieren, wenn du bei Output »Text Window« (damit die Ausgabe angezeigt wird) und in den erweiterten Optionen »Is droppable« (damit das Skript mit den Dateien, die auf das Programm gezogen werden, aufgerufen wird) auswählst.
 

Skeeve

Pomme d'or
Registriert
26.10.05
Beiträge
3.120
Das geht auch ohne Platypus. Einfach ein AppleScript erstellen, das die entsprechenden Parameter abfragt.

Ich bau Dir mal rasch was zusammen.
 

Skeeve

Pomme d'or
Registriert
26.10.05
Beiträge
3.120
So geht's:
  1. Kopiere den Text unten in ein ScriptEditor Fenster
  2. Sichere als "Programm Bundle"
  3. Im Finder Öffne das Kontextmenü des gerade gesicherten Bundles und wähle "Paketinhalt zeigen"
  4. Klicke Dich runter in Contents -> Resources -> Scripts
  5. Kopiere hier hinein das TeXount.pl
property TeXcount_name : "TeXcount.pl"
property TeXcount_param : "-vv"


on run
   tell me to open {choose file with prompt "Wähle eine TeX Datei." without invisibles}
end run

on open some_files
   repeat with a_file in some_files
      wordcount(a_file)
   end repeat
end open

to wordcount(a_file)
   set scpt to (POSIX path of (path to resource "Scripts")) & TeXcount_name
   set gezaehlt to do shell script (quoted form of scpt) & " " & TeXcount_param & " " & quoted form of POSIX path of a_file
   display dialog "Ergebnis für " & (name of (info for a_file)) default answer gezaehlt
end wordcount
Wenn TeXcount nicht noch weitere Bibliotheken benötigt, sollte das nun ganz einfach so funktionieren, daß Du entweder eine Datei auf das Bundle fallen läßt oder sie durch Doppelklick startest. Für jede Datei, die es verarbeitet zeigt es Dir das Ergebnis in einem Dialog an und Du kannst es herauskopieren.
 
  • Like
Reaktionen: ArrowDebreu

ArrowDebreu

Klarapfel
Registriert
24.01.07
Beiträge
281
Vielen Dank für eure HIlfe !
Ich habe nun zuerst den Tip von Skeeve probiert und kriege folgende Fehlermeldung:
 

Skeeve

Pomme d'or
Registriert
26.10.05
Beiträge
3.120
Dann ist die Datei nicht ausführbar. Sollte sie aber sein, wenn Du sie ausführen willst. Im Terminal eingeben:
chmod ~/Desktop/WordCount.app/Contents/Resources/Scripts/TeXcount.pl
 

ArrowDebreu

Klarapfel
Registriert
24.01.07
Beiträge
281
chmod ~/Desktop/WordCount.app/Contents/Resources/Scripts/TeXcount.pl
usage: chmod [-fv] [-R [-H | -L | -P]] [-a | +a | =a [# [ n]]] mode|entry file ...

ps: ausser, dass ich BIN-TeXcount.pl in TeXcount.pl umbenannt habe entspricht die Datei genau dem von der Homepage
 

Skeeve

Pomme d'or
Registriert
26.10.05
Beiträge
3.120
Trottelich: +x fehlt da natürlich!
chmod +x ~/Desktop/WordCount.app/Contents/Resources/Scripts/TeXcount.pl
 

ArrowDebreu

Klarapfel
Registriert
24.01.07
Beiträge
281
dann passiert nichts - komme einfach auf die nächste Zeile...
 

Skeeve

Pomme d'or
Registriert
26.10.05
Beiträge
3.120
Ja. Richtig. Jetzt nochmal die Application starten
 

Skeeve

Pomme d'or
Registriert
26.10.05
Beiträge
3.120
Jamann! ;) Hast Du das Teil denn vorher nicht ausprobiert?

2 Lösungsmöglichkeiten:

1. öffne das TeXcount.pl in einem Texteditor Deiner Wahl und ersetze das was in der ersten Zeile steht (Wahrscheinlich "#!/irgendwas/per") durch #!/usr/bin/perl
oder
2. füge in meinem script oben hinter »do shell script« ein »"/usr/bin/perl " &«.
 

ArrowDebreu

Klarapfel
Registriert
24.01.07
Beiträge
281
:-* VIELEN DANK! :-*

es kommt nur zwar sehr viel unnötiger Output mit (das liegt wohl am zugrundeliegenden Script) aber am Schluss kommt dann das Relevante auch noch !!

ps: für alle dies interessiert: es hat mit Tip 1 geklappt.
pps: nein hatte das Script vorher nicht ausprobiert. Es liegt eine Online Variante dieses Scrips vor aber ich sende ungern wichtige TeX Dateien in die Unendlichkeit des Internets. Daher hatte ich angenommen, dass das Script funktionieren muss !
 

Skeeve

Pomme d'or
Registriert
26.10.05
Beiträge
3.120
Wenn da zuviel Ausgabe kommt kannst Du das sicherlich durch TeXcount_param anpassen. Einfach mal schlau machen, was die alle bedeuten und das -vv entsprechend ersetzen.