Strict Standards: Non-static method phpbb_captcha_factory::get_instance() should not be called statically in /www/htdocs/w0065fdb/studium/phpBB3/posting.php on line 185

Strict Standards: call_user_func() expects parameter 1 to be a valid callback, non-static method phpbb_captcha_qa::get_instance() should not be called statically in /www/htdocs/w0065fdb/studium/phpBB3/includes/captcha/captcha_factory.php on line 38
[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4586: Cannot modify header information - headers already sent by (output started at /posting.php:185)
[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4588: Cannot modify header information - headers already sent by (output started at /posting.php:185)
[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4589: Cannot modify header information - headers already sent by (output started at /posting.php:185)
[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4590: Cannot modify header information - headers already sent by (output started at /posting.php:185)
Physik an der HU-Berlin • Antwort erstellen

Physik an der HU-Berlin

Planung, Übungen, Smalltalk

tex in Forumcode umwandeln

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.

BBCode ist ausgeschaltet
Smilies sind ausgeschaltet
Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: tex in Forumcode umwandeln

Re: tex in Forumcode umwandeln

Beitrag von 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. ^^

tex in Forumcode umwandeln

Beitrag von 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

Nach oben

cron