Physik an der HU-Berlin

Planung, Übungen, Smalltalk

tex in Forumcode umwandeln

Fragen und Anregungen zum Forum.
In diesem Forum können auch Gäste lesen/schreiben

tex in Forumcode umwandeln

Beitragvon Stefan K » So 2. Nov 2008, 22:10

In der Hoffnung, euch zu motivieren eure Übungsaufgabenlösungen zu veröffentlichen. Ich selbst nutze/weiterentwickle das Skript seit dem letzten Semester. Wer also seine Übungen sowieso in tex macht und bash und sed installiert hat, kann damit seine Lösung so umwandeln, dass das Forum sie ansprechend anzeigt. Denn den Code einfach reinzukopieren funktioniert leider nicht immer.

Man muss zwar immernoch drübergucken, aber meist sind nur noch Kleinigkeiten manuell zu machen. Und es Ist natürlich auf meinen Schreibstil und meine Abkürzungen angepasst.

Code: Alles auswählen
#! /bin/bash
#
# Umwandeln von LaTeX-Code in Forum-Code
#
# Ein primitives sed-Script, dass hauptsaechlich an der richtigen Stelle die
# [tex]-Marken einfuegt und einige Befehle in mimeTeX-lesbare Form umwandelt.
#
# Stefan Kriwanek
# rev. 2008-10-18
#
# Was es (z.B.) nicht kann:
# \intertext-Umgebungen, die über mehr als eine Zeile gehen, oder \(\)-Umgebungen enthalten
# $$ $$ anstatt der \[ \] oder $ $ anstatt \( \)
#
# Aufruf mit
#   tex2mimetex.sh datei.als.tex [datei.als.mimetex]
#
#

if [ $# -ge 1 ]
then
  ff1=$1
  if [ $# -eq 2 ]
  then
    ff2=$2
  else
    ff2=${ff1}.mimetex.txt
  fi
# Das Leerzeichen hinter jedem Eintrag ist wichtig.

# Kommentarzeilen
  sstat=$sstat'-e /^%/d '
# Kommentare, die nicht am Anfang stehen.
  sstat=$sstat'-e s;[^\]%.*$;; '
 
# Mathe-Umgebungen
  sstat=$sstat'-e s;\\\(\[\|(\);\[tex\];g '
  sstat=$sstat'-e s;\\\(\]\|)\);\[/tex\];g '
  sstat=$sstat'-e s;\\begin{\(align\|gather\|eqnarray\|equation\)\*\?};\[tex\]&;g '
  sstat=$sstat'-e s;\\end{\(align\|gather\|eqnarray\|equation\)\*\?};&\[/tex\];g '
  sstat=$sstat'-e s;\\begin{proof};\[i\]Beweis.\[/i\]; '
  sstat=$sstat'-e s;\\end{proof};\[i\]q.e.d.\[/i\]; '
  sstat=$sstat'-e s;\\begin{itemize};\[list\]; '
  sstat=$sstat'-e s;\\end{itemize};\[/list\]; '
  sstat=$sstat'-e s;\\item;\[\*\]; '
  sstat=$sstat'-e s;\\intertext{\([^{}]*\)};\\\\\\text{\1}\\\\; '
  sstat=$sstat'-e s;\\qedhere;; '
#
  sstat=$sstat'-e s;\\section{\([^{}]*\)};[size=150]\1[/size]; '
  sstat=$sstat'-e s;\\subsection{\([^{}]*\)};[b]\1[/b]; '
  sstat=$sstat'-e s;\\subsubsection{\([^{}]*\)};[b][i]\1[/i][/b]; '
  sstat=$sstat'-e s;\\\(frac\)[\x20\x09\]\([^{]\)\([^{]\);\\\1{\2}{\3};g '
  sstat=$sstat'-e s;\\\(frac\)[\x20\x09\]\([^{]\){;\\\1{\2}{;g '
  sstat=$sstat'-e s;\\\(frac\)[\x20\x09\]{\([^{}]*\)}\([^{]\);\\\1{\2}{\3};g '
# '\ ' -> ' '
  sstat=$sstat'-e s;\\\x20;\x20;g '
# Umlaute
  sstat=$sstat'-e s;\\\"a;ä;g '
  sstat=$sstat'-e s;\\\"o;ö;g '
  sstat=$sstat'-e s;\\\"u;ü;g '
  sstat=$sstat'-e s;\\\"A;Ä;g '
  sstat=$sstat'-e s;\\\"O;Ö;g '
  sstat=$sstat'-e s;\\\"U;Ü;g '
  sstat=$sstat'-e s;\"a;ä;g '
  sstat=$sstat'-e s;\"o;ö;g '
  sstat=$sstat'-e s;\"u;ü;g '
  sstat=$sstat'-e s;\"A;Ä;g '
  sstat=$sstat'-e s;\"O;Ö;g '
  sstat=$sstat'-e s;\"U;Ü;g '
# (Leerzeichen ist \x20, Tab ist \x09)
  sstat=$sstat'-e s;\\ss[\x20\x09\\];ß;g '
  sstat=$sstat'-e s;\\ss$;ß;g '
# eigene Kommandos muss er auch wissen
  sstat=$sstat'-e s;\\dd\([tx]\);\\frac{\\text{d}}{\\text{d}\1};g '
  sstat=$sstat'-e s;\\dd^;\\text{d}^;g '
  sstat=$sstat'-e s;\\dd\\;\\text{d}\\;g '
  sstat=$sstat'-e s;\\dd\(\x20\|\x09\|$\);\\text{d}\x20;g '
  sstat=$sstat'-e s;\\pt\(\x20\|\x09\|$\);\\partial_;g '
  sstat=$sstat'-e s;\\pt{};\\partial\x20;g '
  sstat=$sstat'-e s;\\pp{\([^{]*\)}{\([^{]*\)};\\frac{\\partial{\1}}{\\partial{\2}};g '
  sstat=$sstat'-e s;\\ppt{\([^{]*\)};\\frac{\\partial{\1}}{\\partial{t}};g '
  sstat=$sstat'-e s;\\stackvec{\([^{}]*\)};\\begin{pmatrix}\1\\end{pmatrix};g '

# Die Forum-Software möchte immer geschweifte Klammern haben, auch wenn bloß ein Zeichen gemeint ist, sonst gibt's falsche Formatierungen
  sstat=$sstat'-e s;\\\(ddot\|dot\|mathbb\|sqrt\|text\|vec\)[\x20\x09]\([^{]\);\\\1{\2};g '
# eigene
  sstat=$sstat'-e s;\\\(pt\)[\x20\x09]\([^{]\);\\\1{\2};g '

  sed $sstat < $ff1 > $ff2
else
  echo  "Zu wenig Parameter"
fi
Stefan K
Full Member
Full Member
 
Beiträge: 57
Registriert: So 4. Nov 2007, 11:51

Re: tex in Forumcode umwandeln

Beitragvon Elessao » Mo 3. Nov 2008, 00:25

Definitiv eine colle Sache, die ich auch nutzen würde, wenn ich genügend Zeit hätte, um die Übungszettel zu TeXen ... :roll: Skript schreiben trainiert zwar in der Hinsicht, in TeX zu schreiben, bis jetzt hatte ich aber immer noch mehr Zeit durch Zettelsammlungen. Vielleicht sollte ich es noch einmal ausprobieren - hab im 1. Semester ziemlich schnell damit aufgehört. ^^
Elessao
Full Member
Full Member
 
Beiträge: 34
Registriert: Mi 7. Nov 2007, 18:06


Zurück zu Technisches

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron