Viele .tex-Dateien mit Hevea umwandeln

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von nikaya, 13.10.2008.

  1. #1 nikaya, 13.10.2008
    Zuletzt von einem Moderator bearbeitet: 25.10.2008
    nikaya

    nikaya Guest

    [Gelöst] Viele .tex-Dateien mit Hevea umwandeln

    Hallo,
    ich möchte viele tex-Dateien mittels dem Programm Hevea in html umwandeln.
    Der Einzelbefehl für eine Datei "M001.tex" lautet:
    Code:
    hevea -o M001.html M001.tex
    Wie kann ich es am einfachsten bewerkstelligen das alle Dateien M001.tex bis M100.tex mit Hevea konvertiert werden? Mit meinen marginalen Scriptkenntnissen bekomme ich es nicht hin, obwohl die Lösung bestimmt wieder billig ist. :brav:

    Gruss,nikaya
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 bytepool, 13.10.2008
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    wie immer beim Skripten kann man das auf zig Arten loesen, eine simple Loesung:

    Code:
    for i in M*.tex; do 
    	prefix=${i%.tex}; 
    	hevea -o ${prefix}.html $i; 
    done
    
    Mit der ueblichen Einschraenkung, dass das fuer Dateien mit Leerzeichen nicht funktionieren wird.

    mfg,
    bytepool
     
  4. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Mit der ueblichen Loesung, dass man "$i" statt $i schreibt ;-)
    P.S.: bei mir (Debian etch) funktioniert hevea auch ohne '-o' und erstellt automatisch eine Datei, bei der .tex durch .html ersetzt wird. Das macht das Skript einfacher:
    Code:
    for i in M*tex; do hevea "$i"; done
    
     
  5. #4 bytepool, 13.10.2008
    Zuletzt bearbeitet: 13.10.2008
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    Nein. Das Problem waere, dass die For Schleife die Variablen dann falsch zuweist, ergo ist das keine Loesung. Eine tatsaechliche Loesung waere eine while-read Schleife, oder das ganze mit find zu basteln.

    mfg,
    bytepool
     
  6. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Hm, bei meinem Test mit "M01.html" und "M 01.html" hatte es funktioniert. War wahrscheinlich nicht umfassend genug.
     
  7. #6 bytepool, 14.10.2008
    Zuletzt bearbeitet: 14.10.2008
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    stimmt, mit Globbing scheint das zu funktionieren, das wusste ich gar nicht. Prinzipiell werden Variablen in der Liste fuer die For Schleife aber mit einem Leerzeichen getrennt, weswegen z.B.
    Code:
    for i in $(ls)
      do foo()
    done
    
    bei Dateien mit Leerzeichen nicht das gewuenschte Ergebnis bringt. Beim Globbing scheinen die Dateinamen direkt korrekt gequotet zu werden.

    Edit:
    Allerdings ist es dann auch egal, ob man das $i quotet oder nicht.
    Edit2:
    Eh, na gut, kommt auf den Kontext an, mir faellt grad auf dass es manchmal doch notwendig ist. ;)

    mfg,
    bytepool
     
  8. Debma

    Debma Debian user

    Dabei seit:
    29.04.2006
    Beiträge:
    29
    Zustimmungen:
    0
    Browser lesen notfalls auch .txt file aus, wenn du diese verlinkst, ich weiss nicht für was du die html files brauchst aber es könnte auch ohne Umbenennung gehen
     
  9. #8 bytepool, 14.10.2008
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    @Debma
    .txt != .tex
    Es geht hier nicht um Textdateien, sondern um Tex-Dateien... ;)
     
  10. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  11. nikaya

    nikaya Guest

    Beide Lösungen von bytepool und rikola funktionieren. Dass Hevea auch ohne "-o" einwandfrei arbeitet war mir entgangen. Geht auch mit Arch. Da das den Code erheblich vereinfacht habe ich mich für die Lösung von rikola entschieden.
    Code:
    for i in M*tex; do hevea "$i"; done
    
    Vielen Dank für Eure schnelle Hilfe.

    Gruss,nikaya
     
  12. Debma

    Debma Debian user

    Dabei seit:
    29.04.2006
    Beiträge:
    29
    Zustimmungen:
    0
    Oh, wer lesen kann ist klar im Vorteil... Sorry :D
     
Thema:

Viele .tex-Dateien mit Hevea umwandeln

Die Seite wird geladen...

Viele .tex-Dateien mit Hevea umwandeln - Ähnliche Themen

  1. Ubuntu LTS: Viele Sicherheitslücken ungepatcht

    Ubuntu LTS: Viele Sicherheitslücken ungepatcht: Einem Bericht des Computer-Magazins »ct« zufolge kann die von »Ubuntu LTS« versprochene Langzeitpflege nicht das halten, was sie verspricht. Viele...
  2. Gnome 3.20 verbessert viele Apps und bietet benutzbare Wayland-Integration

    Gnome 3.20 verbessert viele Apps und bietet benutzbare Wayland-Integration: Die auf den Tag sechs Monate nach Gnome 3.18 jetzt veröffentlichte Version Gnome 3.20 bringt Verbesserungen bei den Applikationen, bei Wayland und...
  3. Viele Linux-Router mit Sicherheitslücken

    Viele Linux-Router mit Sicherheitslücken: Forscher von der Carnegie Mellon University und der Universität Boston haben viele Linux-Router mit automatisierten Werkzeugen untersucht und...
  4. IDS Suricata 3.0 mit vielen Verbesserungen

    IDS Suricata 3.0 mit vielen Verbesserungen: Das Entwicklerteam rund um die Open Information Security Foundation (OISF) hat sein Netzwerk-Einbruchserkennungs- und Verhinderungssystem...
  5. Keepassx 2.0 mit vielen Neuerungen

    Keepassx 2.0 mit vielen Neuerungen: Der freie Passwortmanager Keepassx ist knapp dreieinhalb Jahre nach dem initialen Start in einer stabilen Version 2.0 freigegeben worden. Die...