Prof. Dr. Franz Schweiggert Abteilung Angewandte
Informationsverarbeitung 09.11.2005
Norbert Heidenbluth Blatt 4
Allgemeine Informatik I für Mathematiker/Wirtschaftsmathematiker
(WS 2005/2006)
Abgabetermin: 16. November 2005
Dieses Übungsblatt demonstriert zunächst an einem praxisnahen
Beispiel (Bearbeiten eines LATEX-Dokuments) einige fortgeschrittenere
Funktionen des VIM. Ein zweiter Aufgabenteil zeigt, wie man die
elementaren Unix-Tools miteinander kombinieren kann (Stichwort:
Pipelines), um auf diese Weise ebenfalls alltägliche Arbeiten mit Daten
(hier wiederum am Beispiel des LATEX-Dokuments) ungemein effizient zu
erledigen. Ein (freiwilliger) Bonusteil vermittelt Interessierten einen
kleinen Eindruck vom Umgang mit LATEX-Dokumenten. Dieser Bonusteil ist
jedoch nicht Bestandteil unserer Vorlesung bzw. Übung, sondern
dient hier nur als Demonstration.
Auf unserem FTP-Server finden Sie (mal wieder) ein Tar-Archiv (die
Datei informatik.tar), das Sie herunterladen und auspacken
dürfen - na, Sie wissen ja Bescheid! Wieder einmal verfügen Sie nun
über 5 einzelne Dateien, die zusammen das LATEX-Dokument ergeben,
um das es in diesem Übungsblatt geht. Deshalb gleich die erste Aufgabe:
Auf dem letzten Übungsblatt haben Sie eine große Datei aus mehreren
kleinen erzeugt - unter Verwendung des VI. Eine deutlich schnellere und
elegantere Methode für diese Aufgabe liefert hingegen die Shell. Deshalb:
- Führen Sie die fünf einzelnen Dateien unter Verwendung der
Shell zu einer Datei namens informatik.tex zusammen.
Alle nachstehenden Aufgaben beziehen sich auf die soeben erstellte
``Gesamtdatei'' (informatik.tex).
- Auf den ersten Blick stellen Sie fest, daß der gesamte Text
ständig von ``Computerkunde'' spricht. Ihnen dämmert, daß es
wohl vielmehr ``Informatik'' heißen sollte. Ersetzen Sie daher
jedes Vorkommen des Wortes ``Computerkunde'' durch das Wort
``Informatik'' - aber natürlich nicht einzeln sondern
mit nur einem Kommando.
- Da dieser Text via ``Copy-und-Paste'' seinen Weg aus der Wikipedia
in das LATEX-Format gefunden hat, sind leider auch alle
[Bearbeiten]-Tags am Ende der einzelnen Abschnitte erhalten
geblieben, obwohl diese natürlich nun nur noch stören. Löschen
Sie diese daher, aber ebenfalls mit nur einem Kommando!
- Die Nachwirkungen einer ausschweifenden Uni-Party haben dazu
geführt, daß der Autor des Textes den Artikel ``der'' dummerweise
stets zu ``dre'' vermurkst hat. Korrigieren Sie dieses Mißgeschick
mit einem einzigen knackigen VIM-Substitute-Befehl.
Aber Achtung: das Wort ``Grundrechenarten'', das ebenfalls
in diesem Text vorkommt, soll natürlich nach dieser Operation
nicht zu ``Grunderchenarten'' und das Wort ``drehbar'' nicht zu
``derhbar'' gemacht worden sein!
- Die Zeilen 112 bis 127 sind mit zwei Tabstops eingerückt.
Machen Sie diese mit einem Kommando wieder linksbündig.
- Stattdessen entschließen Sie sich, die Zeilen 131 bis 144 um
einen Tabstop einzurücken. Erledigen Sie das wieder mit nur
einem Kommando, diesmal aber unter Verwendung von Markern.
- Am Ende des Dokumentes befinden sich rund 20 Zeilen, die mit
einem %-Zeichen beginnen. Dies sind sogenannte
Kommentarzeilen, die nicht in die Druckfassung des Dokuments
übernommen werden. Machen Sie aus diesen Kommentarzeilen durch
Entfernen der %-Zeichen ``richtige'' Zeilen - wie immer in
nur einem Kommando. Aber Achtung: Auch zu Beginn des Dokuments
befinden sich Kommentarzeilen. Diese sollen auch solche bleiben!
- Gehen Sie nun auf die Zeilen 168, 170 und 1721.
Dort haben sich jeweils zwei Zeichen eingeschlichen, die dort
nichts zu suchen haben. Löschen Sie diese auf die herkömmliche
Weise (also mit dem VI-Kommando ``x'').
- Na? Ist Ihnen etwas aufgefallen? Irgendwas nervt doch in diesen
drei Zeilen, die sich so ganz anders verhalten als die übrigen.
Woran liegt das?
- Als Gegenleistung für die Überlassung Ihrer Tagessuppe flüstert
Ihnen in der Mensa-Schlange jemand zu, daß es das Unix-Kommando
fmt gibt, das Ihnen bei der Behebung dieses Problems vielleicht
helfen könnte. Für weitere Erklärungen verlangt er nun auch Ihr
Stammessen. Aber das geben Sie nicht her, denn mit man fmt
bringen Sie ja auch so in Erfahrung, was das Kommando macht
(Den Hinweise in der Manual-Seite, daß diese nicht mehr auf
dem aktuellsten Stand sei, können Sie hier vernachlässigen.)
- naja, und natürlich wenden Sie es - aus dem VI heraus -
sogleich auch zur Problemlösung an!
Die nachstehenden Teilaufgaben sind nun nicht mehr mit dem vi/vim zu
bearbeiten, sondern direkt auf der Shell unter Verwendung geeigneter
Unix-Kommandos! Sie können für diese Teilaufgabe entweder Ihre
Lösung aus Aufgabe 6 verwenden, oder die Datei informatik.tex
von unserem FTP-Server herunterladen.
- Wieviele Zeilen beinhaltet Ihre gesamte Datei informatik.tex?
- Wieviele Zeilen der gesamten Datei enthalten das Wort ``Mathematik''
mindestens ein Mal?
- Lassen Sie sich alle Zeilen anzeigen, in denen zwar Wörter
vorkommen, die auf ``ik'' enden (z.B. ``Mathematik'',
``Physik''), die aber nicht das Wort ``Informatik''
enthalten.
- Okay, jetzt haben wir zwar diese Zeilen, aber eigentlich
interessieren uns nur die entsprechenden Wörter - am besten gleich
noch alphabetisch sortiert. Verbessern Sie
also die vorstehende Teilaufgabe dahingehend, daß Sie eine
- alphabetisch sortierte Liste aller im Text vorkommenden
Wörter erhalten, die
- auf ``ik'' enden, wobei aber
- das Wort ``Informatik'' hiervon ausgenommen ist und
- jedes Wort nur einmal aufführt, auch wenn es im
Text mehrfach vorkommt.
Zur Vereinfachung dieser Aufgabe ist es nicht weiter schlimm,
wenn Ihr Ergebnis dieser Teilaufgabe alle gesuchten Wörter
jeweils gefolgt von einem Satzzeichen oder einer Klammer enthält.
- Die Zeilen 7 bis 13 des Dokuments beinhalten Einstellungen für
das LATEX-Dokument, die unabhängig vom Inhalt sind und immer
wieder benötigt werden, wenn man mit LATEX arbeitet. Lassen
Sie diese 7 Zeilen mit Hilfe der passenden Unix-Kommandos in eine
Datei namens myLatexHeader.tex schreiben.
Aufgabe 8: Aufbereitung zum Drucken (5 Bonuspunkte2)
Nun haben wir zwar ein LATEX-Dokument, aber irgendwie müssen wir daraus
nun etwas Les- bzw. Druckbares erzeugen. Wer wissen möchte, wie man
ein LATEX-Dokument übersetzt, kann die nächten Schritte selbst
ausführen. Andernfalls - oder wenn Probleme auftreten - können Sie
sich die entsprechende DVI-Datei (informatik.dvi) von unserem
FTP-Server laden und die nächsten beiden Teilaufgaben überspringen.
Die 5 Punkte erhält, wer die dritte der drei folgenden Teilaufgaben
lösen kann - egal, ob mit eigenem DVI-File oder unserem auf dem
FTP-Server.
- Führen Sie das Kommando latex informatik.tex aus.
Wenn alles fehlerfrei durchläuft, sollten Sie nun mehrere
Dateien erhalten haben, die mit informatik. beginnen.
- Eine der entstandenen Dateien ist die Datei informatik.dvi.
Diese enthält das ``ge-TEX-te'' Dokument, das Sie sich
mit xdvi informatik.dvi & anzeigen lassen können.
- Erzeugen Sie aus der Datei informatik.dvi ein
Postscript-File, das die ersten beiden Seiten des Dokuments -
verkleinert auf eine Seite3 - enthält!
Für diese Aufgabe benötigen Sie (nur!) die folgenden Tools bzw.
Kommandos (die natürlich allesamt auf ihren Manual-Seiten
erklärt sind und in den Übungen noch erklärt werden):
- dvips (Tip: Verwenden Sie hier die
``Filter''-Option -f !)
- psnup
- psselect
- die Ausgabeumlenkung >
Dieses Postscriptfile können Sie sich mit dem Ghostview
(gv dateiname &) anzeigen bzw. mit
lpr dateiname -Pdrucker drucken lassen (wobei Sie natürlich
anstelle von dateiname den von Ihnen gewählten Namen der
Postscript-Datei nehmen und drucker durch den Namen
des Druckers (z.B. garamond) ersetzen müssen.
Viel Erfolg!
Fußnoten
- ... 1721
- Falls
Ihre Zeilennummerierung abweichend sein sollte: Dies sind die
Absätze im Abschnitt ``Bedeutung der Informatik in der Moderne''.
- ... Bonuspunkte2
-
Bonuspunkte zählen ganz normal als Punkte, werden aber nicht in die
Summe der insgesamt erreichbaren Punkte des Semester eingerechnet.
- ... Seite3
- So wie Sie es vom verkauften
Skript her kennen
Norbert Heidenbluth
2005-11-09