Viele .tex-Dateien mit Hevea umwandeln

N

nikaya

[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
 
Zuletzt bearbeitet von einem Moderator:
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
 
Mit der ueblichen Einschraenkung, dass das fuer Dateien mit Leerzeichen nicht funktionieren wird.

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
 
Hi,

Mit der ueblichen Loesung, dass man "$i" statt $i schreibt ;-)

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
 
Zuletzt bearbeitet:
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
 
Zuletzt bearbeitet:
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
 
@Debma
.txt != .tex
Es geht hier nicht um Textdateien, sondern um Tex-Dateien... ;)
 
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
 

Ähnliche Themen

Verzeichnis mit 1200 Dateien auf Verweise in Textdateien checken

Keine grafische Oberfläche (Debian Installation)

Benötige Hilfe- Dateien vergleichen

Teil einer Variablen auslesen und in neue Variable schreiben

Kurzzusammenfassung der Befehle und Progr. für die shell

Zurück
Oben