Abkürzungsverzeichnis mit LaTeX

Ich sitze gerade an der Formatvorlage für FHWT-Arbeiten und habe versucht, ein Abkürzungsverzeichnis einzufügen. Das gestaltete sich etwas umständlich, aber ich habe es jetzt endlich hinbekommen:

  1. Das Paket nomencl ist zum Erstellen eines Abkürzungsverzeichnisses vorgesehen, also sollte es installiert werden.
  2. Auf dieser Seite habe ich dann den LaTeX-Code zum Erstellen und Formatieren eines Abkürzungsverzeichnisses gefunden:\\usepackage{nomencl} \\let\\abbrev\\nomenclature \\renewcommand{\\nomname}{Abkürzungsverzeichnis} \\setlength{\\nomlabelwidth}{.25\\hsize} \\renewcommand{\\nomlabel}[1]{#1 \\dotfill} \\setlength{\\nomitemsep}{-\\parsep}
  3. Im Text oder an beliebiger Stelle (z.B. direkt vor dem Befehl zur Ausgabe des Abkürzungsverzeichnisses) können dann mittels folgendem Code die einzelnen Einträge definiert werden: \\nomenclature[prefix]{symbol}{description}. Dabei kann anstatt \nomenclature auch \abbrev verwendet werden, da dieser Befehl im Code unter Punkt 2 definiert wurde.
  4. An der gewünschten Stelle kann dann mit dem folgenden Befehl das Abkürzungsverzeichnis in das Dokument eingefügt werden: \printnomenclature. Wichtig: Damit die Liste der Abkürzungen überhaupt erstellt wird, muss vor dem Inhalt des Dokuments der Befehl \makenomenclature aufgerufen werden!
  5. Nun muss nur noch der Index generiert werden: Und hier kam es bei mir zu einem Fehler, da die Datei nomencl.ist nicht gefunden wurde. Dies ließ sich jedoch einfach durch ein Kopieren der Datei aus dem nomencl-Installationsverzeichnis in den Dokumentordner bzw. Angabe des vollständigen Pfades zur Datei beheben.
  6. Zum Schluss habe ich noch das Generieren des Index im TeXnicCenter als Postprozessor eingestellt, damit nicht jedesmal der Befehl auf der Kommandozeile ausgeführt werden muss (Beschreibung siehe hier). Man beachte die Hervorhebungen: Bei der aktuellen Version haben die Dateien für den Index eine andere Endung: n statt g. "%bm".<strong>n</strong>lo -s nomencl.ist -o "%bm".<strong>n</strong>ls
  7. Zuletzt musste dann noch das Abkürzungsverzeichnis als Eintrag im Inhaltsverzeichnis erscheinen. Das geht recht einfach über die Option intoc, die an \usepackage angehängt werden muss (von Seite 9 des Handbuchs): \\usepackage[intoc]{nomencl}

WordPress mit tidy

Den WordPress-Output vor der Auslieferung mit tidy vernünftig formatieren zu lassen ist (zumindest in meinem Fall) ein kleiner Aufwand… Ich musste folgendes tun, um dieses Blog als valides und gut lesbares (X)HTML ausgeben zu können.

  1. Zunächst habe ich mal nach einem PlugIn für WordPress gesucht, und bin letztlich bei diesem gelandet: Christopher Korns WordPress Hack, dass eigentlich nur einen Output Buffer startet und den Buffer mittels bestimmten tidy-Funktionen bereinigt, indem die index.php durch eine neue Version ersetzt wird.
  2. So weit so gut, die Installation von tidy konnte beginnen… und das hat nun etwas länger gedauert 🙁 Ich brauchte eine PECL tidy-Implementierung, die ich mit pear install tidy installieren konnte (vorausgesetzt natürlich man hat PEAR überhaupt installiert). Doch hier gab es dann verschiedene Fehlermeldungen (wie z.B. phpize not found), die ich nach einigem Suchen bei Google lösen konnte, indem ich einige benötigte Pakete inkl. ihrer Abhängigkeiten nachinstallierte: apt-get install php5-dev php5-cgi libtidy-dev tidy
  3. Nach einem Apache-Neustart kam dann der erste Test der ausgetauschten index.php… und es kam… nichts! Mhh… woran lag das nun? Wohl an unterschiedlichen PHP- und tidy-Versionen des Hack-Autors und mir. Daher habe ich den Hack etwas angepasst und meine index.php sieht nun wie folgt aus.
    function wp_clean ($buffer) { $config = array( ... ); return tidy_repair_string($buffer, $config, "UTF-8"); } if ($_GET['feed'] != (feed||rdf||rss||rss2||atom)) { ob_start("wp_clean"); } else { ob_start(); } define('WP_USE_THEMES', true); require('./wp-blog-header.php'); ob_end_flush();
  4. Das Array in Zeile 4 enthält die Konfiguration für tidy. Eine nette Seite mit möglichen Einstellungen ist diese hier. Meine Konfiguration sieht so aus: $config = array( 'indent' => TRUE, 'output-xhtml' => TRUE, 'output-xml' => FALSE, 'tidy-mark' => TRUE, 'wrap' => 0, 'wrap-attributes' => FALSE, 'wrap-script-literals' => FALSE, 'tab-size' => 4 , 'indent-spaces' => 4, 'indent-attributes' => FALSE, 'doctype' => 'strict', 'char-encoding' => 'utf8', 'numeric-entities' => FALSE, 'quote-marks' => FALSE, 'quote-nbsp' => TRUE, 'quote-ampersand' => TRUE, 'fix-backslash' => TRUE, 'break-before-br' => FALSE, 'uppercase-tags' => FALSE, 'uppercase-attributes' => FALSE, 'clean' => FALSE, 'logical-emphasis' => TRUE, 'drop-empty-paras' => TRUE, 'drop-font-tags' => FALSE, 'enclose-text' => FALSE, 'enclose-block-text' => FALSE, 'fix-bad-comments' => TRUE, 'add-xml-space' => FALSE, 'vertical-space' => TRUE, );
  5. ADD: Habe tidy erstmal abgeschaltet, da es mir entweder die Umlaute etc. in kryptischen Zeichen wiedergab oder spezielle Entities wie (“…”) zerstörte. Aber gut zu wissen, das es prinzipiell funktioniert 🙂 Und WordPress gibt ja per se schon valides (X)HTML aus, das einzige, was tidy schöner machen würde, wäre die Einrückung des Quelltextes…

Mein neues Blog

…bzw. das alte Blog auf neuer Software läuft nun endlich (wie man hier auch schon sieht)

Wie in meinem (noch zu vervollständigenden) Knowledge-Base-Eintrag hierzu, habe ich den Großteil der Umstellung hinter mich gebracht. Das Kategorisieren der Artikel war dabei wirklich ermüdend, aber es nützt ja nix: Wenn schon umsteigen, dann auch gleich richtig!

Die Links müssen noch importiert und verschiedene PlugIns installiert und getestet werden, aber vor allem muss ich das WordPress-Theme noch anpassen. Solange, wie ich das noch nicht geschafft habe, sieht diese Seite erstmal aus wie jede andere Standard-Wordpress-Seite. Aber das sollte für eine kurze Zeit verkraftbar sein…

Einstieg in LaTeX

Mein aktuellen C#-Projekt nutze ich als Grundlage zum Erstellen eines “Praxisberichts” für die FHWT. Darin werde ich die praktische Anwendbarkeit und den Nutzen von UML in einem kleinen Projekt untersuchen. In dem Zusammenhang werde ich mich nun etwas intensiver mit LaTeX auseinandersetzen. Auch im Hinblick auf meine Diplomarbeit, die ich nächstes Jahr schreiben muss, habe ich schon länger überlegt, mal ein “richtiges” Textsatzprogramm zu verwenden und nicht alles mit Microsoft Word zu machen. Das stresst mich schon bei kleinen Hausarbeiten, wenn mal wieder ungewollte Seitenumbrüche entstehen oder Bilder einfach nicht mehr vom Seitenrand entfernt werden können (und das trotz unserer wirklich fundierten Ausbildung auf Word). Nun denn, hier werde ich nun meine ersten Schritte mit LaTeX beschreiben.

  1. Installation der Software

    Die Installation verlief recht intuitiv, eine Schritt-für-Schritt-Erklärung gibt es dennoch hier.

    Das erste Problem tauchte dann aber auf, als ich das erste Beispiel kompilieren wollte: Dank eines Lizenzstreits ist “koma-script” nicht mehr in der MikTex-Distribution enthalten. D.h. ich musste es manuell nachinstallieren. Das wäre über den in MikTex integrierten Package-Manager auch recht einfach gewesen, wenn unsere Firewall die Verbindung zugelassen hätte 😉
    Ich benötigte also zunächst einmal eine Download-Quelle, die etwas schwierig zu finden war. Ich habe schlussendlich einen Packages-Mirror von der MikTex-Seite genommen und wurde im Verzeichnis macros/latex/contrib/koma-script/ fündig. Die enthaltene Installationsanleitung führte nicht zum gewünschten Erfolg, da MikTex das Package nicht fand.The required file texlatexkoma-scriptscrartcl.cls is missing.

    Nach laaangem Suchen, habe ich dann auch endlich den Ordner gefunden, in den die Dateien kopiert werden mussten: %ALLUSERSPROFILE%\Anwendungsdaten\MiKTeX\2.5\tex\latex\koma-scriptNun fehlte nur noch ein Update von MikTex’ Datei-Datenbank mittels initexmf -u -v (mit dessen Hilfe ich auch den obigen Speicherpfad herausgefunden habe) und die Kompilierung lief korrekt durch.
  2. Dokumentvorlagen
    Als nächstes habe ich dann die bereits erwähnte nette Anleitung weitergelesen und mich u.a. hier mit den grundlegenden Befehlen vertraut gemacht. Danach habe ich mich dann auf die Suche nach vorhandenen Formatvorlagen für Diplomarbeiten bzw. Hausarbeiten o.ä. gemacht und auch einige nette gefunden:

  3. Eigene Vorlage
    Um endlich etwas Praktisches machen zu können, habe ich mir dann die Formatvorlage der FHWT vorgenommen und versucht, sie in LaTeX abzubilden… t.b.c.

Verschiedenes

Nun bin ich schon seit knapp 2 Wochen dabei, mein neues Progrämmchen zu schreiben und am Freitag hatte ich dann das erste größere Erfolgserlebnis: Mein Client kann tatsächlich über Rechnergrenzen hinweg auf den Server zugreifen. Nicht wirklich weltbewegend, aber für mich ein erster großer Schritt 😀
Nachdem ich jetzt bald endlich mal mein Blog auf WordPress umstellen werde, folgen auch detaillierte Schilderungen meines bisherigen Entwicklungsprozesses. Dafür, dass ich vor 2 Wochen meine ersten Codezeilen in C# geschrieben habe, finde ich meine Ergebnisse eigentlich gar nicht schlecht:

  • Eine eigene Config-Klasse, die XML als Speicherformat verwendet. Über dieses Modul verwalte ich meine sämtlichen Anwendungen, da mir die C#-interne Konfigurationsmöglichkeit nicht ganz so zusagt.
  • Ein Modul, dass Kommutationswerte aus Excel-Dateien ausliest und im XML-Format speichert. Funktioniert super. Da ich das schon in VBA realisiert hatte, konnte ich den Code als Vorlage nehmen und die Umsetzung hat dann “nur” 2 Tage gedauert 😉
  • Die üblichen Test-Progrämmchen zum Zugriff auf MySQL, Windows-Funktionen, Dateien etc.
  • Und wie erwähnt mein Client-/Server-Programm, das die übrigen Funktionen verwendet.

So. Jetzt aber nichts wie weiter coden 😀

Achja: Oblivion habe ich mir natürlich gekauft und am WE noch ein wenig gezockt… hehe. Macht nicht ganz so süchtig wie Gothic, aber es geht… habe mir dann auch noch die neuen Screenshots von Gothic 3 angeschaut… Ich glaube, ich spare meinen Jahresurlaub auf für September 😉

Und gestern abend durfte ich mir dann noch zum krönenden Abschluss des Wochenendes William Shakespeares “Cäsar” auf DVD anschauen. Knapp 3 Stunden altenglisches Theater… mhh… meine Gefühle sind gemischt 😉 Interessant ist das wohl, aber ohne Untertitel (die es nur auf Englisch gibt) für mich leider nicht wirklich verständlich. Aber ich habe Teile der deutschen Fassung gelesen und Jaqueline unterstützt mich beim groben Verständnis der Handlung. Tja, es ist halt nicht so einfach zu verstehen wie “Lost” 🙂

Einstieg in C#

Nach langer Zeit endlich mal wieder ein Eintrag… Ich bin diese Woche schon wieder im Unternehmen, habe also mein letztes Vollzeitsemester beendet und bin ab jetzt nur noch am Wochenende in der FH. Nie wieder erst um 10:00 Uhr aufstehen… 😉

Nun denn. Ich habe die Zeit genutzt und mich in C# eingearbeitet, um mein IHK-Abschlussprojekt darin umzusetzen und zu erweitern. Da ich dafür zumindest grundlegende Kenntnisse in den Bereichen

  • Quellcode-Kommentare und Erstellen der Dokumentation
  • Design/Programmierung von Client/Server-Anwendungen
  • Einlesen/Verarbeiten von XML-Dateien
  • Anbindung von C# an Excel
  • Dateiverwaltung
  • Konfiguration von Anwendungen per XML

benötige, fällt die Einarbeitung etwas länger aus. Aber ich komme gut voran: Der erste Taschenrechner-Server läuft schon 🙂

Der größte Teil der Zeit ging bislang dafür drauf, herauszufinden, dass .NET-Anwendungen einem recht ausgefeilten Sicherheitskonzept unterliegen und man nicht mal eben z.B. einen Socket erstellen darf. Nein nein, dazu muss man erstmal die Dokumentation von Microsoft lesen und die erstellten Assemblys mit den entsprechenden Rechten versehen. Das hat mich Zeit und Nerven gekostet, ist aber im Nachhinein recht simpel und nachvollziehbar…

Zu Beginn meiner Arbeit habe ich auch noch mit Subversion bzw. der Implementierung TortoiseSVN rumgespielt, da die Versionierung in der (von mir verwendeten) Express-Version des Visual Studios nicht enthalten ist. Aber nach meinen bisherigen Tests kann ich damit alles machen (sogar die Excel-Funktionen nutzen).

Naja, ich werde mich dann mal an die XML-Verarbeitung machen, denke ich. Wenn’s was neues gibt, schreib’ ich’s auf. Bei der ganzen Arbeit habe ich noch nichtmal mehr Zeit für Oblivion… da gilt es auch noch Einiges nachzuholen 😀

The Elder Scrolls IV – Oblivion

WOW! Oblivion rockt! 😀

Habe mir das Spiel jetzt mal aus der Videothek geholt und angetestet, um zu entscheiden, ob ich es mir kaufe. Und ich muss sagen: das Ding ist echt der Hammer. Die Grafik haut einen echt um, sogar auf meiner schon 1,5 Jahre alten GeForce 6600GT. Die hatte ich damals (inkl. dem PC drumherum) extra für WoW angeschafft und sie leistet immer noch gute Dienste. Das HDR sieht verdammt gut aus: alles glänzt und strahlt im Sonnenlicht (Screenshots). Und die Ladezeiten halten sich auch in Grenzen. Zwar wird man ständig kurz durch den Lade-Bildschirm unterbrochen, wenn man bspw. ein Haus verlässt, aber das geht noch. Die Außenlevel laggen ein ganz klein bisschen, aber bei den Anforderungen war mir das eh vorher klar. Doch insgesamt kann ich unter 1024×768 das Spiel flüssig laufen lassen.

Die Charakterentwicklung ist ein wenig komplexer als bei Gothic, aber daran gewöhnt man sich recht schnell. Dafür hat man halt schier unbegrenzte Möglichkeiten. Ich bin im Moment in der Diebesgilde und Mitglied der “Dunklen Bruderschaft”, die einen nur aufnimmt, wenn man einen Unschuldigen getötet hat 😉 Supergenial gemacht, man wird dann in der Nacht beim Schlafen von einer dunklen Gestalt aufgesucht und überredet, Mitglied zu werden… Die Athmosphäre ist echt umwerfend realistisch. Überall wurschteln NPCs herum, die sich frei unterhalten und Quests anbieten etc. Echt ein absoluter Sucht-Garant. Muss aufpassen, dass ich noch Zeit zum Lernen für die Klausur am Samstag finde 🙂

Insgesamt ist Oblivion also ein Spitzenkandidat, um die lange Zeit bis September zu überbrücken… dann erscheint ja erst Gothic 3 :'(

Oblivion

Bin wieder da von der Insel 🙂 Lang war’s ja nicht gerade, aber die Gewohnheiten der Engländer habe ich erstmal kennengelernt. Und ich muss sagen, die gefallen mir ganz gut. Das einzige was stört ist die seltsame Einstellung zur Sauberkeit. Putzen ist bei denen wohl nicht so angesagt 😉 (und über das Essen kann man natürlich auch denken, was man will). Das mein erster Flug in einer äußerst kleinen Düsenmaschine stattfinden würde, hätte ich zwar nicht gadacht, aber so konnte man das Gefühl des Fliegens quasi hautnah erfahren 😉 Auf dem Rückflug war die Wolkendecke genau über Amsterdam geöffnet, sodass ich noch einen freien Blick über die ganze Stadt hatte. Das sah wirklich cool aus. Leider habe ich keine Fotos 🙁

Gestern habe ich mir in der Videothek direkt mal The Elder Scrolls IV – Oblivion vorbestellt und hoffe, dass es endlich mal zurückgebracht wird. Nach den zahlreichen Videos und Screenshots, die ich mir bislang reingezogen habe, macht das Spiel einen verdammt guten Eindruck. Und da ich ja noch bis September warten muss, bis das langersehnte Gothic III kommt, hätte ich nichts gegen ein anderes Spielchen einzuwenden (natürlich nur zum Zeitvertreib. Nichts geht über die Gothic-Serie ;))

Das Problem wird nur meine Hardware sein, denke ich. Wenn ich sicher sein könnte, dass das Spiel bei mir vernünftig (!) läuft, würde ich es sogar direkt kaufen. Aber die Mindestanforderungen sind schon derbst und in der PC Games, die ich extra angeschafft habe, steht was von nem 4GHz Rechner mit aktuellster Grafikkarte… mhh… mal schauen, wie Oblivion auf meinem 3,2GHz mit GeForce 6600GT läuft. Also bitte anonymer Ausleiher des Spiels: Bring es endlich zurück!

Ab auf die Insel

Es ist zwar keine warme Südseeinsel, sondern das kalte regnerische England, aber egal. In 2,5 Stunden fährt mein Zug und um ca. 19 Uhr deutscher Zeit werde ich dann in Birmingham landen. Mal schauen, was England so zu bieten hat… hehe 🙂

Das erste, was heute abend passieren wird, ist aber die nächste Folge von Lost zu schauen. Obwohl ich schon in Erfahrung gebracht habe, dass sie mal wieder nicht so wirklich viele Neuigkeiten bereit hält. Aber nach 2 Wochen Pause (da ABC sich offensichtlich entschlossen hat, die Lost-Jünger nicht mehr wöchentlich mit neuen Folgen zu versorgen) wird es mal wieder Zeit. Mhh… macht sich da schon eine leichte Abhängigkeit bemerkbar? Ich denke schon 😉

Referat zum Thema Port-Knocking

So. Das war jetzt aber erstmal das letzte Referat, das ich dieses Semester halten musste. Bzw. ich halte es erst morgen, aber die Ausarbeitung ist fertig. Die gibt’s hier zum Download: Referat zum Thema Port-Knocking

Ich denke, ich sollte mal bald eine Art “Arbeiten-Download-Seite” einrichten. Die Dateiverwaltung von b2evolution gefällt mir nämlich nicht so wirklich, aber das Thema hatte ich ja schonmal.

Das Thema meines Referates im Fach Datenschutz/-sicherheit war Port-Knocking, eine nette Absicherungsmethode um den nervigen Angriffen auf den SSH-Port etc. entgegenzuwirken. Es ist wirklich unglaublich wie viele Benutzer sich da nächtlich auf meinem Server anzumelden versuchen… 🙂

Aber egal… Hier meine Liste mit interessanten Links zu dem Thema: