Änderungen und sonstige Wünsche das SfS-info betreffend bitte per e-mail an:
Sarah Gerster: Gerster@stat.math.ethz.ch , Subject: SfS-info.
Danke.
"Hardcopy": Bitte ja nicht vom Browser ausdrucken !!! Druckbare Version ist /u/sfs/info/sfs.pdf !
Als wir 1990 zum ersten Mal mehr als eine (Sun3) Workstation anschafften, hat Caterina Savi initiiert, dass wir die Namen dieser Workstations brauchen, um Statistikerinnen und Mathematikerinnen zu “verewigen”. Dabei haben wir uns auch auf Vornamen festgelegt.
Hypatia
war die berühmte Hypatia von Alexandria, eine der
ersten bekannten weiblichen Wissenschaftlerinnen überhaupt.
Weitere Informationen inkl. Literaturreferenzen zu allen unseren
Computernamen, bzw. der entsprechenden Wissenschaftlerinnen, sind in der
LaTeX-Datei /u/sfs/tex/BEISPIELE/SfS-hostnames.tex, deren
dvi (oder PostScript) man auch direkt anschauen kann, (via Befehl
xdvi
see Dvi-Files).
own file1 [ file2 ... ]
Make files "your own" that belong to someone else, but are in a directory
where you have write permission.
This is much slower than ‘chown’ (but works for everyone, not
only root).
ps2on1
gibt weitere Hilfe zum Gebrauch. see PostScript Tools
Bei dvi-files aber weiterhin 2on1
see Dvi-Files benützen.
man psnup
und pdfnup --help
geben weitere Hilfe zum
Gebrauch. see PostScript Tools
11:26: sophie{lutz}201> quota -v Filesystem usage quota limit timeleft files quota limit timeleft /sfs/u 263630 0 400000 8788 0 0
usage
heisst: Momentan belegter Diskplatz auf der /home Partition in
K-Bytes.
quota
heisst: Ihr solltet grundsätzlich unter dieser Grenze
bleiben. 0 bedeutet, dass keine quota gesetzt ist.
limit
heisst: Diese Grenze könnt ihr nicht überschreiten. Kommt ihr
in die Nähe vom Limit bekommt Martin eine Mail. Entweder wird dann das
Limit heraufgesetzt, oder ihr räumt auf.
Den Diskplatzverbrauch von anderen findet man im File
/usr/local/etc/Files+Disks/quot.home1.Mon (wenn heute Dienstag ist)
bzw. home2 statt home1.
‘spell < ascii.file’ bzw. für (La)TeX- Texte:Gibt dann Liste der Worte, die ‘spell’ nicht kennt. Für längere Dokumente lohnt es sich eine Liste richtiger Worte, die nicht im Englisch-Dix stehen, anzulegen (z.B. “Hampel”, “Statistik”, etc.) und dem spell-Programm zu übergeben.
‘detex mystuff.tex | spell’
‘man spell’ (Emacs: M-x man <RET> spell)
‘man detex’
Beispiel:sfstel welsh
Herrn \\A. Welsh\\The Faculties, Dept.Statistics\\The Australian National Univ.\\G.P.O. Box 4\\Canberra\\ 5 0
Recode
ist das Vielseitigste, ‘recode --help’ gibt schon eine gute
Übersicht und Hilfe.
‘tr.CR [-d]’ (transform "<CR>") translates "^M" to real Newlines
(appending a newline).M-x man <Ret>
munpack
)). Empfohlen ist allerdings ‘Decode’, s.unten.
Base64
und Quoted Printable
Programm-Teilchen.
Für komplexe Dinge verwende man
latex2html -help
gibt Kurzübersicht.
Manual ist in
file:/usr/local/app/latex2html/docs/manual/index.html (mit Netscape)
Das Programm ist Maus-/Menu- gesteuert (rechte Maus-Taste für Menu!) und gut so bedienbar; es gibt eine kurze `Manual page', –> ‘man xv’ bzw. ‘M-x man <RET> xv <RET>’. Die dort erwähnte, lange, aber nützliche Anleitung befindet sich bei uns unter /usr/local/usr/doc/packages/xv/xvdocs.ps.gz (mit ‘gv’ öffnen), auch im Ordner "X11" (in der Bibliothek).
‘xv’ ist nur Shareware (nicht “free”) und wird anscheinend nicht
mehr weiterentwickelt, daher siehe auch folgendes:
Die für das Seminar definierten Defaults (“Standard–Werte”) sind in den folgenden Files abgelegt. Viele unserer guten Befehle sind auch als Files (Shell Skripts) in /u/sfs/bin/ bzw. Perl Skripts in in /u/sfs/bin/perl/ definiert.
Dazu kommen die Definitionen von /usr/local/etc/aliases. Dies ist bei uns das “System Mailer” Alias-File (üblicherweise /etc/aliases' s. Manual ‘man aliases’). Im Gegensatz zum SfS-alias file ('mailrc') werden die Einträge in diesem File immer angeschaut, wenn bei uns Post verschickt wird, d.h. auch dann, wenn etwas von ausserhalb SfS kommt.
Wir haben dort einmal für alle "festen" Mitarbeiter einen ‘Vorname.Name’ Eintrag, und z.B. auch die Zeilen ‘kunsch: kuensch’, ‘Hans-Ruedi.Kuensch: kuensch’ und ‘Hans.Kunsch: kuensch’.
Zu unserer Bequemlichkeit gibt es dort auch die Aliase
‘staff’, ‘guests’, ‘students’, welche den drei
entsprechenden UNIX Benützergruppen entsprechen sollen (und automatisch
jede Nacht neu erzeugt werden),
dann auch ‘all: staff, guests, students’, und “handgemacht”,
‘sci-staff’ “scientific staff”, welches z.B. für Vorträge u.Ä.
verwendet wird, oder ‘prof’, ‘assist’, ‘beratung’, etc.
Anschauen z.B. mit ‘grep sci- /usr/local/etc/aliases’.
Das Passwort für unsere Unix (d.h. v.a. Linux) Computer kann selbst geändert werden, neu auch automatisch für Tarantella (sftpmath, und weitere D-Math spezifische zukünftige Services; aber *nicht* n.ethz) "online" auf https://isg.math.ethz.ch/passwd/
Als Regel gelte: Die folgenden Files sollen für eine(n) gewöhnliche(n) Benutzer(in) gleich sein wie für ‘sfs’.
Um das ursprüngliche Kde oder Gnome Setup (d.h. “Grafische Oberfläche”, d.h. “Desktop” mit Panel,Menus, etc) wiederherzustellen, ist folgendermassen vorzugehen:
Wenn das zu kompliziert scheint: Ausloggen und Martin telefonieren.
Die Utilities gzip
/ gunzip
komprimieren Dateien
und machen es wieder rückgängig:
‘gzip foo’ erstellt ein file “foo.gz”; “.gz” am Ende
zeigt immer (hoffentlich) ein komprimiertes File an.
Der Befehl ‘gunzip foo’ oder ‘gunzip foo.gz’
de-komprimieren beide, so dass das File wieder “foo” heisst.
Weniger empfohlen, aber etwas weiter verbreitet, funktionieren auch
compress
und uncompress
für .Z Dateien statt .gz.
‘zcat foo.gz’ oder ‘zcat foo.Z’ schreibt auf standard output, kann also irgendwohin ge-piped werden ohne dass je ein de-komprimiertes files auf der Disk sein muss. (siehe Beispiel unter 2)
prt /u/maechler/S/GRAPHICS/Postscript/colors.test.51.61.ps.Z
cd /u/sfs/ tar-dir X11
Vergleich zwischen Platzverbrauch
du -s X11
ll X11.tar.gz
tar-dir
steht im Wesentlichen für:
‘tar cfv - X11 | gzip > X11.tar.gz’ und untar-dir
für
‘zcat X11.tar.gz | tar xfv’
Fast alle unserer Workstations/PCs haben noch lokale Disks, die vor allem für
Swapping (und /tmp) gebraucht werden.
Daneben gibt es aber noch eine Partition (File-system)
/scratch. Diese Partition ist als Directory unter diesem Namen
sichtbar. Auf in diesem Directory abgelegte Files kann nur vom
entsprechenden Computer aus zugegriffen werden. Um ein Durcheinander zu
vermeiden, ist unter /scratch ein Directory mit dem Benutzernamen
einzurichten, z.B. /scratch/holzer, in dem die eigenen Files dann
abgelegt werden. Auf lokalen Disks abgelegte Files belasten die Quota
nicht, aber die Verwendung der lokalen Disks muss zuerst mit dem
Systemadministrator abgesprochen werden.
Eine Ausnahme bilden die scratchs der debs. Diese sind von *allen* unseren Rechnern aus (via 'automount') zugreifbar, und zwar unter /r/deb<n>, n=1,...,9.
Das detaillierte Info-Manual ist das Emacs-Info, welches wirklich sehr nützlich ist.
Beim heutigen Emacs werden die meisten wichtigen Funktionen via Menüs zur Verfügung gestellt; das Lernen vieler der im folgenden erwähnten Tastenkombinationen ermöglicht jedoch oft ein wesentlich effizienteres Arbeiten.
Für all jene, die zum ersten Mal mit dem Emacs arbeiten,
gibt es auch eine on-line Einführung in den Emacs das sogenannte
‘Tutorial’. Nachdem man mit dem Befehl ‘e’ oder ‘esh’
(see Nuetzliche Befehle) den Editor gestartet hat, kann mit ‘C-h t’
(‘<Control> h’ und dann ‘t’) oder via Menüs Help
,
Tutorial
die Einführung laden.
Von da an sollte alles selbsterklärend sein.
Die gängigsten Tastenkombinationen sind auf einer A4-Seite zusammengestellt,
der Datei /u/sfs/emacs/doc/refcard-A4-3col.ps.gz, die man ausdrucken
kann.
Zur Notation: Weil das Verwenden von Tastenkombinationen im Emacs zum täglichen Brot gehört, werden folgende Abkürzungen verwendet:
Im Emacs werden spezielle Modi (=“Modusse”) verwendet. Das heisst, je nach Applikation (Mail, LaTeX, ESS (see R und S im Emacs), ...) befindet sich ein `Buffer' in einem Modus, wo Emacs zusätzliche Tastenkombinationen zur Verfügung stellt, die für die Applikation speziell nützlich sind.
Mit ‘Prefix C-h’ , wobei ‘Prefix’ z.B. ‘C-c’, ‘C-x’ oder auch ‘[Gold]’ (see sfs-Keypad Tasten) sein kann, erhält man alle Befehle, die mit ‘Prefix’ beginnen.
Unter X-windows, Siehe X11, kann man mit der Maus arbeiten. Dies ist zunächst um “point” zu positionieren, dann aber auch für “Cut and Paste” mittels Maus-Klicks:
Will man eine Region löschen oder kopieren, die grösser als eine Seite ist, geht man folgendermassen vor:
Cut
) und mit ‘M-w’ speichert man
sie in einen Zwischenspeicher (= Copy
). Auf den Sun-Workstations, wo
sich die Tasten Copy
, Paste
und Cut
am linken Rand
der Tastatur befinden, können diese auch benützt werden.
Paste
)
Nun aber zu den Spezialitäten des Seminars für Statistik [SfS]:
Wir haben Cursor-Tasten und Funktionstasten speziell definiert,
Siehe sfs-Keypad Tasten, und /u/sfs/emacs/doc/vease.doc, wobei
vease.doc nur für vt100
-Terminals gebraucht wird.
Wird eine Datei im Emacs editiert, d.h. erstellt oder abgeändert, z.B. eine Datei Beisp, sichert Emacs den aktuellen Zustand etwa alle 100 Anschläge in das "autosave" File #Beisp#. Diese Datei verschwindet wieder wenn Beisp normal geschlossen wird.
Die letzte Version der Datei wird dabei im Backup-File Beisp~ abgelegt. Es ist möglich, nummerierte Backup-Versionen zu verwenden, see Backup, und die SfS-Unix Befehle ‘Gnum filename’ und ‘Gdiff filename’, see Nuetzliche Befehle.
Möchte man Files von einem ftp-Server holen, kann man das mit dem Emacs-Directory-Editor tun. Mit z.B. ‘C-x d /ftp.ifor.math.ethz.ch:’ wird der Inhalt des ifor-ftp-Servers direkt im Emacs-Dired angezeigt. Files kann man dann mit den gewöhnlichen Emacs-Befehlen kopieren.
Als “fremde” Person auf “fremder” Maschine `esh' benützen, see Fenster auf anderen Maschinen.
‘C-c s’ ruft ‘shell’, den Emacs shell-mode auf, oder aktiviert dessen *shell* Buffer. Man kann nun gewöhnlich mit Unix arbeiten. Statt ‘man ...’ soll aber ‘M-x man <RET>’ und statt ‘more’ soll ‘m’ gebraucht werden.
Man kann mittels ‘M-p’ den letzten, mit ‘M-n’ den nächsten Befehl holen und editieren. Oder man geht (z.B. mit Maus) zu einem früheren Befehl. Der wird einfach mittels <Return> nochmals ausgeführt.
Statt ‘C-c’ und ‘C-z’ (um UNIX Befehle abzubrechen) muss ‘C-c C-c’, bzw. ‘C-z C-z’ verwendet werden.
Man kann R oder S-plus direkt im Emacs aufrufen und zwar mit: ‘M-x R’. Gleichzeitig schaltet der Emacs dabei automatisch in den ‘Inferior ESS’ Mode.
Vorteile und Arbeitsweise im ESS-Mode: Man arbeitet im Emacs in einem geteilten Fenster (‘C-x 2’). Im einen Fenster lässt man R laufen (s.oben) und im anderen werden R Befehle “komponiert”. Alle Funktionen und sonstige Auswertungen schreibt man in dieses Fenster und speichert das so erhaltene File unter <filename>.R ab. Es ist wichtig, dass der Name mit “.R” aufhört, weil dann Emacs automatisch "weiss", dass hier R-Anweisungen und Funktionen stehen. Arbeitet man später an seiner Auswertung weiter kann das einmal kreierte <filename>.R – File geöffnet werden, worauf Emacs automatisch in den ESS-Mode umschaltet.
Diese Arbeitweise ist deshalb praktisch, weil via (ESS-Mode eigenen) Tastenkombinationen (alte und neue) R-Befehle und Funktionen direkt “in den *R* Buffer geschickt”, d.h. zur Auswertung in das im anderen Fenster laufende R geschickt werden können.
Wenn man im *R* also auch in foo.R “C-h m” schreibt und das Font-lock Zeug am Anfang raus-editiert, bekommt man eine gute Übersicht über die Tastenkombinationen.
Einige der wichtigsten dieser Tastenkombinationen sind (eine Referenzkarte dazu ist /u/www/www-docs/ESS/refcard.dvi oder auf http://stat.ethz.ch/ESS):
mkdir ~/S; cd ~/S cp /u/sfs/S/emacs-fun.outline-browser .
Und nun das File nach eigenem Geschmack editieren.
Default: /u/sfs/S/emacs-fun.outline (bitte nicht einfach abändern).
Will man – nachdem ein Befehl ausgeführt wurde – auch mit dem Cursor wieder im Fenster sein, wo das R läuft, benützt man statt ‘C-c C-f’ die Kombination ‘C-c M-f’; analog für ‘C-j,C-r’ und ‘C-j’.
So wie es im Emacs einen speziellen Mode gibt, der das Arbeiten mit S
vereinfacht, gibt es dies auch für (La)TeX. Emacs schaltet automatisch
in diesen Mode, wenn ein Filename mit .tex aufhört.
Am SfS verwenden wir den AUCTeX-mode, welcher in allen Details
beschrieben ist in AUCTeX-Info.
Zur normalen Benutzung genügen die beiden Menus ‘LaTeX’ und ‘Command’; wie immer kann mit ‘C-h m’ Kurzhilfe nachgeschaut werden. Einige besonders praktische Hilfsmittel:
xdvi
see Dvi-Files),Die zu überprüfende Sprache wird via Menüs ‘Tools’ und ‘Spell checking’, dann (z.B. ‘Deutsch’ gewählt. Default ist englisch. Überprüfen eines Wortes: Der Cursor muss vor oder im Wort, welches überprüft werden soll stehen. ‘M-$’ zeigt, wie das Wort richtig geschrieben wird (bzw. eine Liste von Möglichkeiten). Mit `0' (oder `1',...) wird dann korrigiert.
Überprüfen eines Textes: Mit ‘M-x ispell-buffer’, bzw. ‘ispell-region’ wird der ganze Buffer (Region) nach Schreibfehlern abgesucht. Richtige, aber dem "Speller" unbekannte Wörter können in ein "privates Wörterbuch" eingetragen werden. Dies funktioniert auch recht sinnvoll im LaTeX Siehe Nuetzliche Befehle, 'spell'.
C-q
C-q C-l
C-x ]
und C-x [
kann man
sich dann seitenweise vor- und rückwärts bewegen.
C-q 377 (z.B.)
‘
Shift’ <Mouse-1>
‘
Shift’ <Open>
C-x C-q "toggle-read-only"
<Meta> <-
<-
= “cursor” Taste)
<Meta> ->
->
= “cursor” Taste)
M-<Home>
M-<End>
Ins
M-x metamail-region (oder M-x metamail-buffer)
C-o
) einer der
Unixbefehle ‘munpack’ (mit Help-page (M-x man <Ret> munpack
))
oder das darauf basierende ‘Decode’.
/u/mae M-<Tab> S M-<Tab> N M-<Tab>
und es
steht geschrieben /u/maechler/S/NUMERICS/.
Dies ist nützlich, z.B. in .S files oder .tex files,
wenn man Files angeben muss. Man ist so, dank der “Bestätigung” von
Emacs, sicher, dass man sich beim Filenamen nicht vertippt hat.
[Props]
Taste
schaltet das ein und aus ("toggle").
Windows
-Taste (z.B. <Windows>-a
) einfacher ist.
Das folgende war eine Datei [x]ease.how,
für SfS-Anpassungen für Emacs 18 (bis ca. 1992).
Hauptproblem: Die Gold
-Taste ist neu ganz oben rechts die 4.Taste
(Num Lock), funktioniert aber immer noch.
This is your keypad for SPARC ----------------------------------- (EASE-Imitation in EMACS) | undel | deltEoL| deltEoL|(nothng)| | Pause | PrSc | Scroll | NumLock| | delnCh | delnW | delcLin|MvbyWord| |-----------------------------------| |(nothng)| | USER | | Middle line: name of the key. | = | / | * | - | Lower line: result of pressing | GOLD |Command |execUSER| | the key |--------+--------+--------+--------| Upper line: result of pressing |Reverse | Top |Ins-Over| | GOLD and then the key | 7 | 8 | 9 | | For more details, press |StartLin| /\ |PrevScrn| | C-h then k then a key |--------+--------+--------+ + | (C-h means press the <CTRL>-key |Set Flag|CopToBuf| Repl | | together with h) | 4 | 5 | 6 | | | < | FIND | > | | The keys Stop, Again, |--------+--------+--------+--------| etc. on the left keypad do what | Forward| Bottom |Ins-Over| | they say (i.e. Undo, Copy, | 1 | 2 | 3 | | Open-File, Paste, Occur, Cut). |EndOfLin| \/ |NextScrn| | |-----------------+--------| Enter | | | | | | 0 | . | | | MovebyWord | | | -----------------------------------
The mouse is provided by x-mouse.el. Below follows a list with the
actions for certain buttons on the mouse. A C-
(S-
) prefix means
klicking the mouse button while pressing the Control-key (Shift-key).
left : place point (the black rectangular cursor). middle : paste or "choose highlighted" right : save the text between point and the mouse pointer. C-left : gives the buffer-menu to select a buffer. C-middle : Pop-up menu "Text properties" C-right : Pop-up menu for local mode. Links, rechts : um zu markieren Double-click left : mark word Double Click Right : 'cut' + copy Click on 'Mode-line' Right : Buffer 'verschwinden lassen' [NICHT löschen!] Click on 'Mode-line' C-Middle: Vertikale Unterteilung
Larger cut and paste operations have to be done by setting a mark ‘C-<Space>’ and using the region between point and the last mark. The mouse-cut buffer is usually global and also local to emacs. Note that you must press the left button into a new X-window before a yank (pasting) from the global cut-buffer.
There are several keys on the typewriter-keyboard that do special things when they are pressed after the ‘GOLD’-key now (9/1997) on the ‘-’ key of the numeric keypad (utter right) on your keyboard
You'll get the full description of the GOLD key bindings by ‘GOLD C-h’, or look at the file /u/sfs/info/Emacs-GOLD-help. Here is an annotated list of the more useful commands:
"Tab"= "file name completion" -- in jedem File, auch dann wenn M-Tab etwas anderes macht (z.B. 'mail'). " " = (spacebar): UNDO "b" = buffer-menu (use "C-h m" for help) "c" = toggle-case-fold-search "d" = delete-window "e" = compile (call "make" on current file) "f" = fill-region "g" = german-on "G" = german-off "i" = insert-file "k" = kill-buffer "l" = goto-line "m" = ease:rmail+summary "o" = occur (find regexp patterns in file) "p" = (in 'Dired' only: prepare deleting all .dvi .log .blg files "P" = as ``p'', additionally marking .aux for deletion. "r" = revert-file (to its original state) "s" = save-buffer "g" = umlaut-on "U" = umlaut-off "v" = find-file-other-window "w" = write-file
Doing LaTeX –> see Info on AUC-tex (see TeX im Emacs).
(Umlaute and exchange of z and y):
Another way to create Umlaute is to use the function german-on (on key
<GOLD> g
) which turns ;
, '
, [
into ä, ö, bzw. ü.
The old definitions of these keys are under "GOLD ;", "GOLD '" and "GOLD [".
The Umlaute may be turned off with german-off (on key "GOLD G"). At
the same time the function german-on exchanges the characters y and z
to give a QWERTZ keyboard. Again german-off switches back to QWERTY.
C-c p
prints the current message.Q
(= q
plus “kill buffer”
– use for smail-like folders or when the same folder is used from
somewhere else!
M-x unrmail
.
‘R’ ist die freie (im GNU Sinne von “free Software”) Implementation der Sprache ‘S’, welche sonst noch als see S-plus verfügbar ist.
Bei uns empfohlen, via ‘M-x R’ im Emacs; ältere Versionen von ‘R’ kann man mit ‘M-x R-nummer’, z.B. ‘M-x R-1.6.2’ aufstarten. Für das Zusammenspiel von ‘R’ und ‘Emacs’ siehe R und S im Emacs.
Zur ersten Information und Hilfestellung ist das CRAN (`Comprehensive R Archive Network'), bei uns CRAN (mirror @ ETHZ), insbesondere die FAQ (Liste der häufigsten Fragen und Antworten), bei uns am besten via Emacs Info R-FAQ.
Zusätzlich gibt es auch drei E-mailing-Listen, auch in einer "Digest" Version, wo man nur 1 mal täglich Post bekommt, siehe CRAN.
Martin Mächler ist einer der Mitentwickler des “R Core Teams'` und darum besonders ansprechbar.
Es gibt die Möglichkeit, .R-Files als Batch Job abarbeiten zu lassen. Dies macht man am besten auf einer deb (also ssh debi, i=1,..,9). Der Befehl dazu lautet:
R_BATCH scriptfile.R Routput.Rout
Ausgeführt wird folgendes:
nohup nice +7 R CMD BATCH scriptfile.R Routput.Rout &
‘nohup’ steht für ‘no hang up’. ‘nice +7’ setzt die
Priorität herunter. Man kann dann die deb gefahrlos
verlassen und den eigenen Computer ausschalten. Die Berechnung laufen
weiter. Der gesamte Output von R wird
ins File ‘Routput.Rout’ geschrieben. Gibt man keinen Filenamen an,
kommt der R-Output ins File scriptfile.Rout (gleicher Name wie das
Input-File).
R wird im aktuellen Directory
gestartet und liest das .RData-File dieses Directories ein. Am Ende der
Berechnungen wird automatisch der ‘workspace’ ins File .RData
gespeichert. Wenn man das nicht möchte, schreibt man im Script-File am Ende
‘q("no")’. Mit den R-Befehlen ‘save’ und ‘load’ kann man zu
beliebigen Zeitpunkten
R-Objekte abspeichern bzw. wieder laden.
Dieses Unterkapitel soll ein Ort sein, wo man Erfahrungen rund um S (R und
S-plus)
austauschen kann. Dazu stehen die im Menu aufgezählten Oberbegriffe
zur Verfügung.
Auf Fragen, die im Zusammenhang mit der Arbeitsumgebung auftauchen
(z.B. emacs <–> Splus) soll nicht hier, sondern in den Kapiteln, welche
die Arbeitsumgebung beschreiben, eingegangen werden. Im Beispiel also
unter emacs(see R und S im Emacs).
Es existiert ein dreiseitiges Tutorial, das den StudentInnen den Einstieg ins S-Plus erleichtern soll (sehr empfohlen für die erste Übungsstunde):
/u/sfs/StatSoftDoc/S-einf/Doc/S-tutorial.dvi
Es wurde auch eine ungefähr 10-seitige Einführung für die
Unix- und Windows-Version von Splus geschrieben. Die Wahl der Version kann
im ‘.tex’-file mit \newif
angegeben werden. Das dvi-file davon
heisst
/u/sfs/StatSoftDoc/S-einf/Doc/S+unterlagen.dvi
Die Unterlagen zum Thema "S-Einführung" (in /u/sfs/StatSoftDoc/) werden ergänzt durch folgende Files
/u/sfs/StatSoftDoc/S-einf/Folien/Unix-B/S+einf-folien.tex (2h Einführung)
/u/sfs/StatSoftDoc/S-einf/Folien/Unix-B/S+ndk-einf-folien.tex (ausführlicher)
/u/sfs/StatSoftDoc/S-einf/Folien/Unix-B/S+ndk-erg-folien.tex
(Folien für eine
einstündige Ergänzung zu S-PLUS. Behandelt: Modellformeln, Attribute,
generische Funktionen, Data directories)
Abgesehen davon gibt es Notizen von Venables und eine Einführung in S-PLUS von B. Ripley (51 Seiten), die auch als Kursunterlagen gebraucht werden kann. Sie befinden sich in
/u/sfs/S/Statlib/sguide-ripley
Die dazugehörigen Datensätze können mit
library(MASS); data(xy)
attached werden.
Liebe SfSplus-ler !
An dieser Stelle sollen Funktionen, die man selber einmal geschrieben oder
kopiert hat und allen sehr nützlich sein können, zusammengestellt werden.
Damit diese Funktion auch von allen Benutzern am SfS gebraucht werden kann, muss sie im Directory /u/sfs/S/goodies.Data abgelegt werden. Unser goodies.Data wird automatisch “attached”. Mit dem Befehl ‘S-funs’ [oder ‘S-funs files’] kann man sich alle S-Funktionsdefinitionen angeben lassen – alphabetisch nach Funktionsnamen sortiert. Beispiel zum ausprobieren:
‘cd /u/sfs/S ; S-funs *’
str ist eine Funktion, um die ‘STRuktur’ irgendeines S - objektes in
kompakter aber nützlicher Form anzugeben. Mit ?str
[d.h. help(str)
]
bekommt man sogar online-help. Ich empfehle sehr, die dort angegeben
Kurz-Beispiele auszuprobieren.
lsf ist wie ls, aber listet nur S - funktionen. Besonders nützlich, wenn nicht alle Funktionen mit ‘p.’ oder ‘f.’ oder ‘?.’ beginnen.
‘ls.str’ und ‘lsf.str’ sind SEHR nützliche Funktionen, welche ein ‘ls’ oder ‘lsf’ mit ‘str(...)’ für jedes Objekt verbinden.
Einlesen von Files, wo die Variablen feste Positionen haben. Dazu existiert nun ein C-Programm, das ins S eingegliedert wurde.
u.extract(filename, position, what, missingValue ="")
Drei Prozent-Zahlen, die sich auf 100% ergänzen, können graphisch in einem gleichseitigen Dreieck als Punkt dargestellt werden. Diese Funktion zeichnet die Punkte für eine ganze Matrix, wobei nur die ersten beiden Prozent-Zahlen angegeben werden müssen.
‘formatC’ ist eine verbesserte Version der ‘format’ Funktion und
ist nun in unseren sfs-goodies vorhanden (/u/sfs/S/.Data). Sie ist sehr
nützlich, um in einem Plot real numbers auf eine vernünftige Art und
Weise darzustellen oder auch einfach für eine gute Print-Darstellung.
Man kann jetzt auch strings damit formatieren. Es gibt dazu eine gute
On-line help (?formatC
).
formatC(x, digits = NULL, width = max(0, digits) + 1, format = NULL,
flag = "", mode = NULL)
Genauere Beschreibung der Parameter siehe in der Funktion selber.
Diese Funktion zeichnet irgend eine Funktion f(x)
Mit ?plot.function
[d.h. help(plot.function)
] bekommt man
online-help.
Beispiele: (weitere Beispiele in help)
plot.function( sin, 0, 4*pi) plot.function(function(x) x * (x - 1)^2, -1, 2)
Diese Funktion zeichnet einen Scatterplot, wobei ein Farbvektor als Argument übergeben werden kann. Jedem Punkt wird dann eine bestimmte Farbe zugeordnet.
Diese Funktion erzeugt einen Scatterplot, wobei jeder Punkt ein anderes Label haben kann. Die Grösse der einzelnen Label kann frei gewählt werden.(Argumente labels=Labelvektor, cextext=Grössenvektor)
Die Funktion ‘u.Datumvonheute(.)’ (und somit auch
‘p.datum(.)’) hat ein neues Argument bekommen: ‘Zeit’; z.B. kann
ich mit p.datum(Zeit = 2)
auch Std. und Min. an den Rand eines
Plots schreiben lassen.
Zum Zeichnen von Treppen-Funktionen, kumulativen Verteilungen, u.Ä. ‘?plot.step’ gibt Hilfe und ein paar nette Beispiele....
p.wstPlot <- function(x, y, z, restricted, size = 1, ...)
{
# Purpose: Stahel's Residuen-Plot
# Author: ARu , Date: 11/Jun/91
# Aenderungen: MMae, 30/Jan/92
# ————————————————————————————————————–
# Arguments:
EXAMPLE :
x,y
- coordinates of points given by two vector arguments.
z
- gives orientation (by sign) and size (by absolut value) of symbol.
restricted
- absolute value which truncates the size. The corresponding symbols were marked by stars.
size
- the symbols are scaled so that 'size' is the size of the largest symbol in cm.
...
- additional arguments for the S-function ‘plot’
xx <- rep(1:10,7) yy <- rep(1:7, rep(10,7)) zz <- rnorm(70) p.wstPlot(xx,yy,zz, restr = 2, main = "i.i.d. N(0,1) random residuals") rm(xx,yy,zz)
# ————————————————————————————————————–
function(x, y, number, size = 0.125, add = FALSE, pch = 16, ...)
{
## Purpose: Produce a 'sunflower'-Plot
##
———————————————————————————————————
## Arguments:
Das Funktionen-Paar ‘ps.do’ und ‘ps.end’ stellt eine Art PostScript-Treiber via Ghostview zur Verfügung. Statt
postscript("foo.eps"); my.plot(); title("My!"); dev.off()
ist folgendes die bessere Wahl
ps.do("foo.eps", height=8) my.plot(); title("My!") ps.end()
Der Ghostview
(s. gv - ghostview) wird (nur einmal) aufgerufen;
ein geändertes Bild kann im selben Ghostview–Fenser wieder gesehen werden.
Zusätzlich werden die Parameter für ‘ps.options’ und
‘postscript’ “richtig” gesetzt, so dass
“Encapsulated” PostScript entsteht.
ps.latex ruft selber ps.do(..)
, setzt aber noch ein paar Dinge
geeigneter, so dass die resultierende Datei einfach im LATeX mittels
\epsfCfile{.7}{foo} % aus '/u/sfs/.../texab.sty .7 : Zoom von 70%
verwendet werden kann.
Der Autor (M.Mä) empfiehlt die ausschliessliche Benützung von
ps.latex
oder ps.do
statt einfachem postscript(.)
.
ps.do(..., do.color = T,...)
: Farb-PostScript
Man kann mit den Funktionen ps.latex
oder ps.do
auch
farbigen PostScript erzeugen, indem das Argument do.color = T
gesetzt und dann auch ps.end(do.color = T)
verwendet wird.
Dabei sind die folgenden Argumente von ps.do(.)
von Bedeutung:
dimnames(ps.colors.23)
sagt alles.
Z.B., colors = matrix(c(1:9/9, rep(1, 2 * 9)), ncol = 3)
[ nach Vorschlag von Chris Thorson, Statsci ]
ergibt 9 verschiedene Farben,
1=gelb, 2=hellgrün, 3=grün, 4=helles blau, 5=blau,
6=dunkelblau, 7=violett, 8=rosarot, 9=rot.
help(ps.paper.regions)
. Der Default ist der Anleitung
gemäss für den Farb–Drucker des RZs berechnet.
image(..)
.image.cold.hot <-
cbind(c(64:128/128,rep(1,64)), 0:128/128, c(128:64/128,rep(0,64)))
p.ts <- function(x, nrplots = max(1, min(8, n %/% 400)), overlap = nk %/% 16, main.tit = NULL, ...)
{ ## Purpose: ts[.]plot with multi-plots + Auto-Title ## — currently all on 1 page ## ————————————————————————————————— ## Examples: p.ts(sunspots) ## p.ts(sunspots, nr=1) # == tsplot(..) — both plots valuable! }
Diese Funktion ist einfach eine Verallgemeinerung – “wesentlich besser” –
von tsplot (== ts.plot in S-plus 3.2), v.a. für längere Reihen "a Must"
—> ?p.ts
gibt schönes Help
—> Das Beispiel mal ausprobieren !
lm
mmreg berechnet einen robusten Regressionsschätzer mit Bruchpunkt = 1/2. Diese S-Funktion beruht auf dem Vorschlag von Yohai, Stahel, und Zamar (1991) im IMA-Band 34.
Der Aufruf geht ähnlich wie bei der S-Funktion lm()
(siehe
Beschreibung im Funktions-"Kopf" oder in der on-line-Help mit ?mmreg
).
Bsp.:
> z <- mmreg(Fuel ~ Weight + Disp. , fuel.frame) > summary(z) > coef(z) > resid(z) > fitted(z) > z <- mmreg(Fuel ~ Weight + Disp.,fuel.frame,subset=(Type!="Van")) > summary(z)
rr
: an lm object, preferably generated by f.lm y
: y variable (optional) qq
: normal plot of standardized residuals ta
: Tukey-Anscombe (res vs. fit) tamod
: modified ta: abs(st.res) vs. fit hat
: res vs. hat x
: list of names of x-variables against which res are to be plotted xadd
: additional x s lowess
: add lowess to respective plots
pairs
mit verschiedenen ‘pch’ und/oder ‘col’
entsprechend einer Gruppierung
dd1
: first vector,
dd2
: second vector which
: is ‘T’ for indices for which first vector is used
Einheiten in x- und y-Richtung in ein bestimmtes Verhältnis setzen
setzt ‘par(..)’ auf default-Werte
Produziert "ausgeschmückten" Tukey-Anscombe plot von Regressions-Objekten
u.Ä. (lm
,...). Normaler Gebrauch: TA.plot(lm.result)
.
?TA.plot
gibt eine schöne online help mit Beispielen (Anfang davon):
DESCRIPTION: From a linear (or glm) model fitted, produce the so-called Tukey-Anscombe plot. Useful (optional) additions include: 0-line, lowess smooth, 2sigma lines, and automatic label- ing of observations. USAGE: TA.plot(lm.res, fit=fitted(lm.res), res=residuals(lm.res, "pearson"), labels= NULL, draw.smooth= n >= 10, main=mk.main(), show.call=T, show.2sigma=T, lo.cex=0.8, ...)
Scatterplot von zwei Variablen; der Wert einer dritten Variable ist durch
die Richtung eines Zeigers gegeben (wie bei einem Tachometer).
Natürlich gibt es dazu ein Help-File mit Beispielen. (siehe
?p.tachoPlot
)
DESCRIPTION: Puts a symbol (pointer) on a plot at each of the specified locations. USAGE: p.tachoPlot <- function(x, y, z, angle=c(pi/4,3*pi/4), size, method="robust", legend=T, show.method=T, ...)
‘mean.corr’ gibt den Mittelwert einer Zeitreihe und liefert eine korrekte
Schätzung des Standardfehlers des Mittelwertes unter Annahme eines
AR-Prozesses. (siehe ?mean.corr
).
DESCRIPTION: Estimates the mean of a time series or the difference of two time series and gives correct standard error (if the errors are assumed to form an AR process). USAGE: mean.corr(z, order, method="burg", aic=F, ar.coef=NULL) EXAMPLES: ## simulate AR(2) error error <- arima.sim(100, model=list(ar=c(0.5,0.2)), sd=2) z <- 2 + error mu <- mean.corr(z, order=2) ## estimation of the mean and variance summary(mu) ## summary of the estimation
Die Methode zur Schätzung des Standardfehlers ist in /u/keller/Projekte/Monn/bericht.dvi oder bericht.ps genauer beschrieben.
Die Funktion ‘hist.bxp’ zeichnet ein Histogramm mit horizontalem Boxplot
darunter und besitzt die gleichen Argumente wie hist
sowie
einige Argumente der Funktion boxplot
.
Help-File mit Beispiel(en) mit ?hist.bxp
.
An dieser Stelle ist Platz um auf gewisse, bereits bestehende S-Funktionen und ihre Eigenheiten oder ihre Vorzüge besonders hinzuweisen.
zero sucht eine Nullstelle einer Funktion mit einem Argument, z.B. f.null(x). zero aus library(examples) muss im .Data stehen. Gobale Parameter können aus der Funktion, die zero aufruft mit <<- und anschliessendem synchronize() übergeben werden. Bei Aufruf weiterer S-Funktionen aus f.null gibt es u.U. Probleme. Wenn eine Funktion editiert wurde und dann wieder zero läuft, gibt es einen S-PLUS Absturz. Also nach Möglichkeit alles nur in eine Funktion f.null reinpacken.
Diese S-Funktion wird jeweils beim Einsteigen ins S aufgerufen. Hier kann
man z.B. eigene Directories “attachen” die man in einer Auswertung immer
wieder braucht.
.First.local, ist der Name einer globalen .First() funktion, welche
immer aufgerufen wird, wenn Sie vorhanden ist.
Hier ein Beispiel, wie ein eigenes .First aussehen könnte / sollte :
.First <- function() { ## Purpose: Immer noch meinen Data data.frame attachen. ## Author: Martin Maechler, Date: Dec 1992 ## ---------------------------------------------------------------- attach(Data) #-- Data is a data.frame in my current search() - path ##-- Damit hole ich das "standard" SfS - .First noch : get(".First", where = "/u/sfs/S/goodies.Data/")() }
Das SfS - .First wurde etwas verbessert: Man kann jetzt zwei Optionen haben beim Starten von S(plus):
1) help.start(..) Das Window-online-Help system Default : TRUE 2) motif(..) "Das" Graphik Fenster. Default : FALSE
Die beiden Optionen werden beim Start von S aufgerufen, wenn die S-Variabeln I.like.help.start , bzw. I.like.motif TRUE sind. Natürlich kann das für jedes Projekt (Unter-directory) anders gesetzt werden.
Da die Audit-Files sehr gross werden können und von den meisten von uns gar nicht gebraucht werden, gibt es folgende Lösung:
Eine Funktion .Last
, die übrigens immer beim Verlassen von Splus
ausgeführt wird, löscht automatisch das entsprechende .Data/.Audit.
Da dies recht gravierend ist, gibt es in unsern `Goodies' bloss eine
Funktion Last
.
Um obiges Löschen zu aktivieren muss noch .Last <- Last
geschrieben werden;
das Verhalten wird auch von der globalen Variable Rm.Audit
bestimmt,
die defaultsmässig TRUE
ist.
symbols(x,y,circles=z,inches=0.1) grösster wert von z wird 0.1 inch gross, für mehrere Plots zum vergleichen: i-ter plot: inch.max_0.1 inch.circles_inch.max/max(z)*max(z.i) symbols(x.i,y.i,circles=z.i,inches=inch.circles)
Das neue S enthält die neuen Funktionen
Ich hole etwas aus: Wenn S startet und später durch explizites
‘attach(...)’ werden directories (neu: irgendeine “database”)
von S-objekten verfügbar gemacht. Um später den Zugriff effizient zu machen,
speichert S schon beim attach(..) allerlei Informationen ab über
diese Objekte. Dies gibt ein kleines “Problem” in der folgenden
Situation: Ich bin in UNIX und kopiere ein S-objekt von irgendwoher in
eines meiner momentan attach()ten directories, z.B. ins .Data.
S “weiss davon aber nichts”. Ein ls(...) wird mir zwar die neuen
Files zeigen (weil es nichts anderes als den UNIX ls
verwendet),
die neuen Objekte sind noch nicht in S's interner Tabelle.
Dies wird nun mittels z.B.
synchronize(1)
erreicht (im Falle, wo es um search()[1] geht).
synchronize()
(ohne Argumente) ist ähnlich wie im alten S.
help(synchronize)
gibt diese ganze Info. noch ausführlicher.
Als Graphikdevices stehen unter X11 zur Verfügung:
Speziell empfehlen kann man ‘motif()’. Sie alle dienen dazu Graphiken auf dem Bildschirm darzustellen. Um PostScript-Files von diesen Graphiken zu erzeugen, gibt es das Device ‘postscript()’.
Zur Zeit stehen 35 verschiedene Fonts zur Verfügung, die durch 'font=i' aufgerufen werden können. font=13 enthält die griechischen Buchstaben. Die Umlaute ae,oe,usw. können mit font=1 dargestellt werden. Die font Anweisung wird nur ausgeführt, wenn ps.preamble.ISO in der postscript-funktion übergeben wird.
Der Symbol-Font aus der Latin-Font Familie ist unvollständig! Deshalb müssen griechische Buchstaben mit dem Symbol-Font aus der standard Font Familie erzeugt werden. Bsp.
ps.options(setfont=expression(ps.setfont.std)) postscript(...) ...... text(-0.7, 4.75, ascii(121), font=13, cex=0.7)
erzeugt ein Psi an der Stelle (-0.7, 4.75).
Die Funktion
ps.show.fonts function(out.file = "test.ps.fonts.ps", font.nrs = seq(ps.fonts), ...)
erzeugt ein PostScript-File mit allen Fonts (Achtung: 18 A4 Seiten!!!), bitte mit gv anschauen! Nützlich ist die folgende eine Seite, auf der die ascii-codes der einzelnen Symbole abgelesen werden können:
prt /u/maechler/S/GRAPHICS/Postscript/ps.show.fonts-1stpg.ps
Die wichtigsten sind:
(font=1): ä ascii(224+4) Ä 192+4 ö 240+6 Ö 208+6 ü 240+12 Ü 208+12 é 224+9 è 224+8 (font=13): alpha 97 beta 98 gamma 99
Bsp. im S (inklusive anschauen im ghostview):
{ ps.options(setfont=expression(ps.setfont.std))#= ISO-latin FAILS w/ font 13 postscript("mytest.ps") plot(1:3, type="n") text(1:2+.5, 2, ascii(97:98), font=13, cex=1) #alpha, beta dev.off() ps.options(setfont=expression(ps.setfont.latin1)) #-- back to ISO-latin } !ghostview -magstep -2 mytest.ps & oder text(1.9,30,"15\260C") #- gibt Grad in Celsius an.
Unklar: Wie setzt man verschiedene Fonts zusammen? (Bsp. ‘400 um’
(mikrometer)).
Lösung: Die Funktion mixed.text
im
postscriptfonts
-package der Statlib kann nach
‘attach("/u/sfs/S/Statlib/postscriptfonts/.Data")’
benützt werden, inkl. online-Hilfe ?mixed.text
.
Die Grösse der Plotsymbole bei points
kann man nicht mit cex
,
sondern nur mit mkh
(in inches !) steuern:
points(x[bad], y[bad], pch=15, mkh=0.05)
library()
Ergibt eine Übersicht über alle zur Verfügung stehenden
“Libraries”. Zuerst die lokal bei uns installierten
(in /usr/local/app/splus/local/library/), dann die allgemeinen.
*Beispiele: examples
Alle grösseren Beispiele sind im S vorhanden und dokumentiert. Mit > library(help= examples) erhält man eine Dokumentation der Beispiele, mit > library(examples) attacht man die Beispiele und kann sie plündern.
* Weltkarte: maps
Mitlibrary("maps")
erhält man die Datenbanken ‘world’ und ‘world.thin’ mit allen Ländern (und Inseln !) der Erde. ‘world’ ist riesig und darf nur mit kleineren Regionen (z.B. ein paar Länder Europas) verwendet werden. ‘world.thin’ ist eine vergröberte Version, die man auch `ganz' verwenden kann. Ebenso kann man diverse Karten der Schweiz zeichnen:"schweiz" Aussengrenzen der Schweiz, Liechtenstein und 14 Seen "kantone" Kantonsgrenzen der Schweiz, Liechtenstein und 14 Seen "bezirke" Bezirksgrenzen der Schweiz, Liechtenstein und 22 Seen "gemeinden" Gemeindegrenzen der Schweiz und Liechtenstein sowie 22 Seen "zurich" Gemeindegrenzen des Kantons Zürich, Zürichsee, GreifenseeJeder Datensatz besteht aus Polygonen, wobei zu einer bestimmten Region (z.B. Kanton Freiburg) mehrere Polygone gehören können (Enklaven,Exklaven). Dazu gibt es auch Help-Files mit Erläuterungen. z.B.
help(Schweiz), help(zurich), help(gemeinden.daten), help(bezirke.daten), help(kantone.daten) help(zurich.daten)Beispiele findet man in: /u/maechler/S/MISC/maps-ex.S.
* Integration: integrate
Mitlibrary("integrate")
erhält man jetzt die Routinen zur Integral-Berechnung von Funktionen einer Variabeln (von Statlib).library(help="integrate")
zeigt ein Helpfile.
* Kriging:
Die von Renato Morelli geschriebenen S-Funktionen zur Berechnung des
Semivariogramms und für das 'universal Kriging', 'ordinary Kriging' und
das 'Block-Kriging' befinden sich im File /u/sfs/S/Kriging/Fkt.S und
können mit attach('/u/sfs/S/Kriging/.Data')
ins S geholt werden. (Siehe
auch /u/sfs/S/Kriging/README).
* Wavelets:
Discrete Wavelet Transform for S von Guy Nason & Bernie Silverman. Man kann sie nach Ausführung vonattach("/u/sfs/S/Wavelet/CURRENT/.Data")
benützen. Beispiel(e) in /u/sfs/S/Wavelet/CURRENT/Example.S. Auch eine On-Line Help ist vorhanden. 20 Seiten Dokumentation befinden sich bei Martin, bzw. können mitgz /u/sfs/S/Wavelet/dws.ps.z
angesehen werden.
* Flexible Discriminant Analysis:
Flexible Discriminant Analysis (fda) von Hastie & Tibshirani.
Die nötigen
"Utensilien" dazu befinden sich in /u/sfs/S/Statlib/fda/ und
können nach attach("/u/sfs/S/Statlib/fda/.Data")
gebraucht werden.
* W.Cleveland “Visualizing Data”: Visualizing.Data
Auf die Datensätze aus Cleveland's Buch "Visualizing Data" kann man mit
attach("/u/sfs/S/Visualizing.Data")
im S-Plus zugreifen.
In der Datei /u/sfs/S/Visualizing.Data.README findet man die
Details und eine Übersicht.
* MASS
"Modern Applied Statistics w. S-Plus" (Venables & Ripley) auch dabei sind "spatial" ('Point patterns' & 'Kriging') und "nnet" (Neural nets ...) Das File /u/sfs/S/New-libraries anschauen, oder ‘library()’ tippen.
* multinom glm(.) for multinomial log-linear models ("polytopuous" responses)
* classif: Various functions for classification (Ripley)
* spatial: Spatial statistics functions: 1) Kriging, 2) Point Patterns.
* ash: Average Shifted Histograms: Density estimation by Dave Scott
* nnet: Software for feed-forward neural networks with 1 hidden layer.
* mda: Flexible/Penalized/Mixture Discriminant Analysis (FDA/PDA/MDA)
In der FAQ-Liste (FAQ = Frequently Asked Questions and Answers) im /u/sfs/S/FAQ stehen einige Tips.
Wenn man apply mit grossen Matrizen und einer komplizierten Funktion benützt, kann es schief gehen ("bus error"). Ausweg: For-loop. In einem solchen loop bekam ich auch Probleme mit dem dynamic memory, wenn ich rbind benutzte, um die neuen Ergebnisse an die bereits berechneten anzuhängen. Was bei mir stets funktionierte, war zuerst eine matrix der richtigen dimension mit NA's zu füllen und dann die Ergebnisse aus dem For-loop zeilenweise zuzuweisen.
Beat, 16.8.1990: Ich mache es auch so wie 'Hansruedi, 7.8. 1990', nur bekomme ich auch dann Probleme mit dem dynamic memory.
RobETH, inklusive der Funktionen von Aine, ist nun im S(plus)
verfügbar. Mit der Funktion initROBETH() (ist in unseren goodies abgelegt)
werden die RobETH Subroutinen ans SPLUS angeschlossen. Hinweise über die
Dokumentation der Funktionen von Aine finden sich im File
/u/sfs/S/newrobeth/README.
Das zugehörige Buch von Alfio Marazzi (1993), Wadsworth, ist in unserer
Assistenten-Bibliothek und enthält die Dokumentation der RobBETH Subroutinen.
Alfio & Co. haben die S-Funktion lm() soweit abgeändert, dass damit die Koeffizienten auch robust geschätzt werden können:
lm(..., method='robust', ...)
Als Startwert wird ein S-Schätzer verwendet, und dann ?? (M-Schätzer vom Huber-Typ). Ob und wie Mallows oder Schweppe-Typ Schätzer benutzt werden können, weiss ich (noch) nicht. [Andreas Ruckstuhl]
Leider läuft die S-Funktion f.rreg(...) von Aine auch mit dieser neusten Version von ROBETH nicht mehr richtig (seit Frühling 92). Deswegen kann sie auch nicht mehr aufgerufen werden.
Martin hat jetzt auch am SfS “xgobi” installiert. ‘xgobi(..)’ und ‘?xgobi’ funktionieren vom S aus. Dokumentation etc ist (ausser online, s.unten) auf dem Web erhältlich
Source und alles ist jeweils in /usr/local/app/xgobi/CURRENT/.
Die On-line Hilfe mittels “Help” button, bzw. Mouse-3 ist allerdings auch sehr gut.
Dieses Programm kann mit ‘xlispstat’ aufgerufen werden. (besser im
Emacs mit ‘M-x run-xlispstat’).
Literatur:[Ex. bei Martin]
@book{Tier90, author = "Tierney, Luke", title = "Lisp-Stat: An Object-Oriented Environment for Statistical Computing and Dynamic Graphics", publisher = "John Wiley \& Sons", year = 1990}
Zum Ausprobieren: 2. Kapitel des Buches, “A Lisp-Stat Tutorial”. Die Daten werden mit ‘(load-data "book")’ geladen. In folgenden Demos kann man etwas von dynamischer Graphik sehen:
(load-example "bcdemo") ;;-- dynamische Box-Cox (power) Transformationen (load-example "abrasiondemo") ;;-- scatterplot brushing + rotation (load-example "tourdemo") ;;-- im Menu "Touring" anklicken -> 'Grand Tour' (load-example "regdemo") ;;-- einfache Regression: Punkte verschieben
Ein Interface zu S wird später mal installiert.
Caterina hat SAS auf unseren Sparcs auf der Cumuli mit X11 ausprobiert und ist sehr zufrieden damit. Wir werden daher auf eine Installation auf unseren Maschinen verzichten können.
Es funktioniert mit:
$ set display /create /node=mileva.ethz.ch /transport=wintcp $ create /terminal=decterm /detach #nicht unbedingt nötig!
im neuen Fenster:
$ SETUP_SAS (falls nicht schon im login initialisiert) $ SAS /decwindow (als device angeben)
Fehlermeldungen nicht beachten ! (Keys sind nicht unbedingt nötig !)
Drei schöne farbige, unabhängige Fenster werden dann erzeugt. Mit
proc gtestit; run;
kann auch die Graphik-Testroutine aufgerufen werden, die von selbst den richtigen xcolor device aufruft und in ein neues Graphik-Fenster zeichnet.
Extreme Value Analysis with XTREMES for Windows" ist auf unserem PC installiert. Ein Manual befindet sich im F6.
"A program for comparative multivariate data visualization" ist neu auf unserem PC installiert. Darin sind die folgenden Visualisierungsmethoden enthalten: Parallel coordinates, Andrew's curves, Scatterplot matrix, Permutation matrix.
Fürs Arbeiten mit TeX / LaTeX empfehlen wir exclusiv, den Emacs (mit ‘Auctex’ mode) zu benützen, see TeX im Emacs.
/u/sfs/tex/DOC/lshort-english/README
und drucke sich die Kurzanleitung in Büchlein-Form aus:
prt2 /u/sfs/tex/DOC/lshort-english/lshort-book.ps.gz nachher: Blätter in der Mitte heften und falten - fertig!
Deutschsprachige, weniger umfassende Version (nicht empfohlen) in /usr/local/app/teTeX/teTeX/texmf/doc/guides/lshort-german/
/u/sfs/tex/BEISPIELE/
/usr/local/app/teTeX/teTeX/texmf/doc/latex/base/*dvi (3 Manuals)
/usr/local/app/teTeX/teTeX/texmf/doc/latex/tools/ und auch info
über fast alle packages/styles:
/usr/local/app/teTeX/teTeX/texmf/doc/latex/<pkg>/*dvi.
/usr/local/app/teTeX/teTeX/texmf/doc/bibtex/btxdoc.dvi
Auch darin die FAQ (häufig gestellte Fragen und Antworten) in
/usr/local/app/teTeX/teTeX/FAQ/ und anderes mehr.
Meist *.dvi Files. Anschauen: im Emacs 'dired' mit ‘ ! xdvi <RET> ’.
xdvi
erlaubt, ein dvi-File anzuschauen und dabei zu überprüfen,
ob auch alles so aussieht, wie man es sich nachher wünscht.
Im allgemeinen funktioniert dies auch mit Graphiken, die in den Text
eingebunden sind (see Graphiken einbinden). Andernfalls
muss man dvips
(s.unten) aufgerufen und
dann mit dem gv
-Befehl (see gv - ghostview) das Resultat anschauen.
dvips
macht aus einem dvi–File ein PostScript–File. Dabei werden
alle Graphiken, die in dem Text erscheinen sollen, auch schon
eingebunden. Das druckreife PostScript-File kann man dann mit
‘gv <filename>.ps’ (see gv - ghostview) noch einmal anschauen und
schliesslich mit ‘prt’ ausdrucken. dvips.prt -pp 4-10
(oder dvips -Pprt -p 4 -n 10
) druckt z.B. die
Seiten 4 bis 10 aus. Mehr Information über Optionen zu diesem Befehl
erhält man, beim Aufruf von dvips --help
, oder im Manual,
siehe unten, Siehe Druckbefehle Latex.
2on1
wird ein neues .dvi
und daraus ein PostScript-File
hergestellt, das zwei A4 Seiten auf eine schreibt (und entsprechend
verkleinert). 2on1
ohne Argumente gibt Hilfe)
2on1
werden hier 4 A4 Seiten auf eine geschrieben.
(4on1
ohne Argumente gibt Hilfe)
2on1
aufgerufen (siehe den sh-Skript); ist
etwas kompliziert im Gebrauch.
dviselect 10:20 <file_in.dvi> <file_out.dvi>
dviselect =10:20 <file_in.dvi> <file_out.dvi>
dviselect *.1 <file_in.dvi> <file_out.dvi>
dviselect
sind in der Man-page.
Wir gehen davon aus, dass wir die Graphik im EPS (= Encapsulated
PostScript) Format haben. Dies ist z.B. der Fall für Dateien, die von R
oder S-plus via postscript(file='foo.eps')
oder besser
ps.latex("bar.eps", height=..)
, ps.latex, erzeugt wurden.
Nun müssen ein paar (La)TeX-Definitionen hineingenommen werden.
Im LaTeX mittels:
\usepackage{graphicx}
(Bemerke: _x_ am Ende!).
Das Package epsfig
sollte nicht mehr benutzt werden, da es nicht PDF
fähig ist.
Nun kann ein solches epsf-Graphik File an einer geeigneten Stelle mittels
\includegraphics{foo}
(ohne .eps
Endung, s.unten!) ins
(La)TeX-Dokument eingebunden werden, typischerweise in einem
figure
LaTeX-environment.
Dabei wird automatisch genügend Platz für das Bild reserviert.
Wir empfehlen allerdings, statt des Original LaTeX Befehls
\includegraphics
einen der folgenden vier am SfS definierten Befehle
zu verwenden: \epsFracFile
, \epsFracFileRot
,
\epsfCfile
, \epsfCfileRot
. Alle vier Befehle haben 2
Argumente: einen Skalierungsfaktor (<= 1) und den Filenamen. Rot am
Ende bedeutet, dass das Bild um 90 Grad rotiert wird. \epsfCfile
zentriert das Bild. Die Befehle sind in
/u/sfs/tex/tex/latex/texab.sty definiert.
In 95\% der Fälle wird etwas der folgenden Art die gewünschten Resultate ergeben:
.. \usepackage{graphicx} %-- VOR `texab' (wichtig, da verschiedene "ps") \usepackage{texab} %-- SfS (La)TeX ABkürzungenepsfig .. .. \begin{figure} \epsfCfile{.9}{foo} %-- .9 : Zoome auf 90\% der "\textwidth" \caption{Die Bild-Legende kommt hierher} \end{figure} |
Wichtig: den Filenamen foo.eps ohne die Endung schreiben. Dann kann
aus dem LaTeX-file auch direkt ein PDF-file erstellt werden, falls ein
foo.pdf bereits existiert (sonst mit eps2pdf foo.eps
erstellen), und zwar mittels des Befehls pdflatex
oder direkt im
Emacs mittels C-c C-c l <blank> <blank> p.
Viele ältere LaTeX Files enthalten noch die .ps oder .eps
Endungen. Peter Holzer's remove-ps
Perl Skript flickt diese Files
automatisch – für die oben erwähnten vier \epsf..file
Befehle.
(die Originale werden auf <filename>.tex.bac gesichert.)
Ein nützliches Beispiel zur Benutzung der \graphicx
Befehle ist
/u/sfs/tex/BEISPIELE/ps-example.tex. Die zugehörige PostScript
Datei kann mit ‘cd /u/sfs/tex/BEISPIELE; make’ erstellt werden.
Will man mehrere Grafiken nebeneinander resp. untereinander einbinden,
empfiehlt sich unter Umständen die Verwendung des Package subfigure
und des gleichnamigen Befehls \subfigure
. Ein nützliches Beispiel
befindet sich in /u/sfs/tex/BEISPIELE/subfigure-ex.tex.
Weitere viel genauere Dokumentation findet man im dvips
Manual
Dvips Manual.
Briefe mit LaTeX zu schreiben ist sehr einfach, da vieles
automatisch gesetzt wird.
Das Standard-Beispiel,
/u/sfs/tex/BEISPIELE/letter-sfs.tex, oder für englische Briefe
/u/sfs/tex/BEISPIELE/letter-sfs-Engl.tex, oder für private,
/u/sfs/tex/BEISPIELE/letter-private.tex als Vorlage nehmen.
Hier einige Details:
Bei englischen Briefen (E,ETHletter
) beginnen die Telephonnummern
automatisch mit ‘+41 1’; bei deutsch und französisch wird das
bisherige ‘ 01 / ’ beibehalten.
Wer nach Frankreich oder Deutschland schreibt, wird
gerne die internationale Vorwahl haben.
Dazu kann (irgendwo) vor ‘\begin{letter}’ geschrieben werden
\localphonefalse
% To make ``sfs'' using `` +41 1 '' phone prefix.
Adressetiketten können mit LaTeX auf dem Laserdrucker beschriftet werden. Ein kommentiertes Beispiel findet man in /u/sfs/tex/BEISPIELE/test-label-La.tex. Zusätzliche Infos sind in /usr/local/app/teTeX/texmflocal/doc/generic/midnight/labels.dvi und dort in weiteren .dvi files.
Unsere Literatur-/Referenzen Sammlungen, inkl. Assistenten-Bibliothek und werden im BIBTeX Format [siehe LaTeX Buch, appendix B] geführt. BIBTeX ist ein Standard-Format innerhalb der (angewandteren) Mathematik, um Literatur-Referenzen zu sammeln.
Die Art, wie man in der Statistik üblicherweise zitiert und referenziert, wird durch die "Harvard Family of Bibliography Style" abgedeckt. Werner Stahel (v.a.) hat dieses harvard noch erweitert und verbessert zu sfsbib. Dies ist sehr empfohlen für alle (inkl. Professoren).
Vorteile von sfsbib zu harvard:
Nota Bene: Defaultmässig wird auch annote
ausgedruckt.
Dies ist anders als bei harvard (und den meisten Styles).
All dies kommt nach ‘\usepackage{sfsbib}’
vor ‘\begin{document}’
Wenn z.B. das ganze 'annote'-Feld unterdrückt werden soll:
‘\renewcommand{\annote}[1]{}’
wenn vor dem 'annote' Feld etwas anderes als "Annote:" stehen soll, z.B.:
‘\def\citeAnnote{Bemerkung:}’
Dokumentation zu "Harvard" befindet sich in
/u/sfs/tex/BEISPIELE/bibtex/harvard.tex (.dvi-File mit xdvi
anschauen!) und Beispiele (für die sfsbib Version) in
/u/sfs/tex/BEISPIELE/bibtex/sfsbib.tex.
Kurzfassung:
\documentclass[12pt]{article} \usepackage{sfsbib} % ——– \begin{document} \bibliographystyle{sfsbib} % Optional : \citationstyle{dcu} \section{Introduction} Insight into the blabla \cite{HamF91}... is known \cite{HamFRRS86}. And so on, \cite{HamFRRS86} (was \verb|\cite{.}|), or also \citeasnoun{HamFRRS86} (was \verb|\citeasnoun{.}| !). ... \bibliography{myLit} \end{document}
Weitere Beispiele:
Eine weitere Möglichkeit ist der ‘chicago’ Bibliography Style. Dokumentation befindet sich (( wo????? )) Dieser Style bietet eine noch grössere Anzahl verschiedener Zitierstile an (man kann sich leicht darin verlieren!).
Um die Referenzen ins LaTeX-Dokument hineinzubringen, muss nach ‘latex’,
einmal bibtex
und nochmals (manchmal zweimal) ‘latex’
laufengelassen werden (im Emacs alles via ‘C-c C-c’).
Dabei muss bibtex
nur laufen gelassen werden, wenn eine neue Citation
(‘\cite{..}’) im LaTeX-File gemacht wird oder eine verwendete
Citation im *.bib File abgeändert wurde.
Am Seminar für Statistik sind schon einige *.bib Files vorhanden (siehe auch /u/sfs/bib/README):
Falls man jedoch ein eigenes *.bib File erstellen möchte, sind hier
einige Hinweise:
(Beschrieben im LaTeX-Buch (Anhang B) oder in der Beschreibung
BIBTeXing (–> mae, LaTeX-Ordner))
Emacs schaltet automatisch in bibtex-mode, wenn ein Filename mit .bib
endet. Das erlaubt, mit Spezial-Befehlen (C-c ...) oder Menu neue Einträge zu
machen, etc. Hilfe darüber mit C-h m
(wie immer..)
Mit C-c C-e type
kann eine Vorlage erstellt werden, wobei für
type
das Folgende stehen kann:
C-c C-e C-h
gibt die ganze Liste, die auch über das Menu abgerufen
werden kann.
Bsp <C-c C-e b> <C-c C-e C-a> @Book{, @Article{, author = "", author = "", title = "", title = "", publisher = "", OPTcrossref = "", year = "", OPTkey = "", OPTcrossref = "", OPTjournal = "", OPTkey = "", OPTyear = "", OPTeditor = "", OPTvolume = "", OPTvolume = "", OPTnumber = "", OPTnumber = "", OPTpages = "", OPTseries = "", OPTmonth = "", OPTaddress = "", OPTnote = "", OPTedition = "", OPTannote = "" OPTmonth = "", } OPTnote = "", OPTannote = "" }
Dabei steht an erster Stelle das Schlüsselwort: @Book{HamFRRS86, ...}
Bem: falls mehrere Autoren vorhanden sind, müssen diese durch ‘and’
getrennt werden, z.B.
author = "Frank R. Hampel and Elvezio M. Ronchetti and Peter J. Rousseeuw and Werner A. Stahel", ...
In der Referenzangabe ist dann der Citation Style für die gewünschte Darstellung verantwortlich:
"Hampel, F. R., Ronchetti, E. M., Rousseeuw, P J., and Stahel, W. A.".
Eine vollständige Angabe hat den Vorteil, dass immer die dem Citation Style entsprechende Darstellung rauskommt. Bemerkungen:
HamFRRS86
C-c C-c
das Überflüssige entfernt werden.
Dann neue Vorlage erstellen, u.s.w..
Mit ‘bibtest myLit’ (UNIX-Befehl) und dann v
kann man
das Ganze anschauen, Siehe btt-bibtest.
man btt
und die darin erwähnten Programme]
ist ein interaktives Progrämmlein, um in BIBTeX Datenbanken Einträge zu
finden, eine solche zu drucken, u.a.m.
btt
auf.
Dabei gibt es jetzt neu die Möglichkeit, den ‘sfsbib’ style zu bekommen.
‘bibtest’ (ohne Argumente) enthält Hilfe, inkl. Beispiel.
cis
, Siehe CIS, (und evt. anschliessendem
2bib
!) erstellt wurden. Beispiele:
book-bib /u/sfs/bib/Assbib.bib > SfS-books.bib ## --> all books in 'assistent' library put into 'SfS-books.bib'. book-bib /u/maechler/bib/master | tee Martin-books.bib
Folgende Bibliotheken sind bereits mit BibTeX aufbereitet worden und können bearbeitet bzw. durchsucht werden, siehe auch die Liste in see bib.
Wenn man mit bestimmten (oder allen) Referenzen aus einer BIBTeX
Datenbank (d.h. einem .bib File) eine Referenzliste erstellen will, bei
der noch zusätzliche Titel, Untertitel, etc. dazukommen sollen, ist das
zunächst nicht-trivial.
Zur eleganten Lösung dieses Problems hat Martin einen neuen
UNIX-Befehl kreiiert: ‘make-ref’ . Man benötigt nichts als das .bib File.
Tippen des Befehl ohne Argumente gibt on-line help, hier gekürzt:
make-ref Zeitr make-ref Zeitr cite-ex
Ein schönes Beispiel findet man in /u/maechler/tex/ref-list-stuff/.
Die Einträge kommen in der Reihenfolge des Zitierens, bzw. der .bib
Datei. Dafür müssen wir (im Moment) mit der Darstellung des 'unsrt'
bibliographystyle's auskommen.
Ausdrucken aller Einträge einer .bib Datenbank geschieht normalerweise
am besten mit dem Befehl bibtest.
Falls "crossref" im xyz.bib File vorkommen, müssen bei der Zitierung im uvw.tex File beide Referenzen vorkommen. Um sicher zu gehen, dass dies immer der Fall ist, kann die Kreuzreferenz mit \nocite der eigentlichen Referenz nachgestellt werden.
Beispiel, im LaTeX-File steht
Konkret soll nun ein Vorschlag von \citeasnoun{YohVSZ91} \nocite{StaWW91B} vorgestellt werden.
und im BIBTeX-File
@Book{StaWW91B, editor = "Werner Stahel and Sanford Weisberg", title = "Directions in Robust Statistics and Diagnostics (Part II)", year = 1991, .... } @InCollection{YohVSZ91, author = "Victor Yohai and Werner A. Stahel and Ruben H. Zamar", title = "A Procedure for Robust Estimation and Inference in Linear Regression", pages = "365--374", crossref = {StaWW91B} }
Ein Poster kann mit Latex als a0poster-Dokument erstellt werden. Am besten sieht man sich ein Beispiel-File an: /u/sfs/tex/BEISPIELE/poster.tex.
Wie üblich kann das Dokument kompiliert und damit in ein dvi-File umgewandelt werden (welches als Poster noch nicht so gut aussieht). Man sollte daraus mit dem dvips-Befehl ein ps-File erzeugen (dvips poster.dvi).
Um dieses ps-File auf A0 zu drucken kann folgender Befehl
verwendet werden:
vpp -destination=rzspez -device=hp1055 -form="a0.white" -note="tel 6326683" poster.ps
Bei der Option "note" sollte man seine Telefonnummer angeben. Manchmal gibt es Fragen in der Druckerei und die können so am Telefon schnell beantwortet werden.
Es kann bis zu 24 Stunden dauern, bis der Druck fertig ist (meistens geht es aber schneller). Abholen (und bezahlen) kann man das Poster im RZ E22 (Clausiusstr. 59)
Wir haben (seit 1990 !) 6 verschiedene PostScript-fonts, die statt den üblichen TeX fonts (für Text) verwendet werden können:
avantgarde, bookman, chancery (Zapf Chancery), ncs (New Century Schoolbook), palatino, times (Times Roman)
Man kann z.B. einfach ‘\usepackage{times}’ verwenden.
ACHTUNG: Im {\tt ...} font (der in allen 6 Fällen = Courier ist),
kommt nicht immer, was man will: z.B. nach den 3 Buchstaben ‘ < > " ’
wird das nächste Zeichen darüber geschrieben !!
Etwas mehr Details: siehe ???
ETHGen
erstellt worden;
http://www.weboffice.ethz.ch/templates/logo.html
Es sind alles GIFs in verschiedensten Grössen, man kann die Liste sehen via
via Netscape Menues [View]
und [Page Info]
.
wo auch noch mehr Allgemeines über CD (= Corporate Design) steht. Martin hat die Dateien (d.h. das Zip-Archive mit der "Windows"-Version ausgepackt und in /usr/local/etc/ETH-logos/ zur Verfügung gestellt. Wir brauchen nur die drei *.eps, (= "Encapsulated PostScript").
Ein schönes LaTeX Beispiel (1 Seite) ist /u/sfs/tex/BEISPIELE/ETH-logo-ps.tex.
Man sollte \usepackage{german8}
verwenden (oder
\usepackage{germanU}
für Unicode, siehe
Zeichensatzkonvertierung) , da `German' den `"'
umdefiniert, welches wiederum Probleme geben kann (z.B. mit `S-source' und mit
\pscompress von epsfig
).
Mit glatex kann das LaTeX mit deutschen Trennungsregeln
aufgerufen werden. Im Emacs TeX-mode geschieht das automatisch
(see TeX im Emacs).
Umlaute ä ö und ü, auch Ä,Ö,Ü, kann man dann direkt eingeben
(via <Windows>-a
, <Windows>-o, <Windows>-u, etc., see spezielle sfs Tasten),
muss (und soll) also nicht ‘\"a’ oder ‘"a’ verwenden.
S-code (d.h. “source” in R oder S-plus, also typischerweise *.R oder *.S Dateien) und sogar S-help (alter `Troff' Stil) files können ins LaTeX genommen werden. Wie es geht, steht in /u/sfs/tex/DOC/S-to-tex.how. (Wie es früher ging: Renato Morellis Dipl.arbeit und Andreas Ruckstuhls oder Markus Hürzelers Diss. sind Beispiele)
Kurzfassung:
S-to-tex mycode.R > mycode.tex
und dann im LaTeX file:
\usepackage{S-source} ... ... \Sinput{mycode} %%-- oder allenfalls mit Pfad \Sinput{/u/me/a/b/c/mycode.tex}
mat2tex(von Statlib) hilft Matrizen direct in TeX-format umzuwandeln;
?mat2tex
gibt Hilfe. Einfacher geht es aber mit der Library
xtable
.
C to LaTeX: Programme 'c++2latex' 'ansic2latex' 'krc2latex' zum “schön” Einbinden von C-code in LaTeX Dokumente. Siehe ‘M-x man c2latex’.
LaTeX–Aufgaben sollten idealerweise etwa so aussehen wie
/u/sfs/ueb/einfuehrung/aufgaben/ad-zelle.tex oder
/u/sfs/ueb/ndk/aufgaben/va-holz-saege.tex
\input....
) texab.sty und
jenes wiederum texab0.sty.
Wer Übungen schreibt, kann alle SfS-goodies (aus den texab{0}.sty)
verwenden. Beim uebung.sty gibt es auch eine Variante von
\begin{aufgaben} .... \end{aufgaben} nämlich \begin{aufgabenENG} .... \end{aufgabenENG}
Dabei sind einfach die Abstände wesentlich ENGer als bei ‘aufgaben’.
\ERW
, \VAR
, \COV
und \PR
. Des weiteren sind
auch die Befehle \VARH
und \COVH
(H für hat) sowie
\Bin
, \Norm
und \Pois
definiert. Indem an einen
Befehlsnamen ein "i" angehängt wird, muss man als erstes Argument noch
einen Index angeben, also gibt man z.B. bei \ERWi
als erstes
Argument noch das Mass an. Eine detaillierte
Beschreibung befindet sich in /u/sfs/info/compi.einfuehrung.dvi, der
Einführung zur Computerbenützung am SfS.
\begin{..}
und \end{...}
abzukürzen. So
kann LaTeX nicht mehr rechtzeitig feststellen, wenn \item
fehlen,
oder \end{..}
fehlen, vertauscht sind, etc. Mit anderen Worten: Das
ganze Syntax-Parsing
funktioniert nicht mehr so recht.
Dafür kann man im Emacs (LaTeX-mode, nicht TeX-mode !) mittels
C-c C-e ...
ein \begin{...} \end{...}
hineinschreiben lassen. Dies funktioniert auch mit aufgaben und
unteraufgaben !
\pagestyle{headings}\thispagestyle{empty}
stehen, und nach ‘\ueberschrift{...}’ muss
\markueb
Ein gutes Beispiel dazu (wie immer) in /u/sfs/tex/BEISPIELE/uebung-mit-titel.tex.
\usepackage{parskip}
.
Noch flexibler ist ‘parskipM’, das erlaubt, den Abstandsfaktor zu setzen, z.B. ‘\def\ParFact{0.4} \doparskip’.
\special{landscape}
vor
\begin{document}
einfügen oder man verwendet den
‘a4quer’-style.
\R
\Nat
\Z
und \Q
mit dem 'texab' style sehen jetzt gleich aus wie im 'msbm' style.
‘gcc’ = GNU CC = "Der beste ... C compiler" und einziger ansi C compiler ist jetzt installiert. Sollte im Prinzip den gewöhnlichen "cc" vollständig ersetzen, da er anscheinend auch ziemlich schnelleren Code erzeugt, und eben ansi-C kompatibel ist. Dokumentation: ‘man gcc’' und (v.a. für genaueste Details) auch im "TeXinfo" format, d.h. mit dem Emacs info browser oder TeX: Wir haben einen 190 Seiten Ausdruck (noch nicht in Ordner).
Unter Solaris gibt es von Sun “professionelle” (ansi) Compiler in
/opt/SUNWspro/bin/, und ‘cc ...’ ruft diesen.
Es wird behauptet, dass er noch besseren Code als gcc
erzeuge.
Unter Linux ist der (Fortran 77) Fortran Compiler ‘g77’, und ‘f77’ ist ein Alias. Seit 2005 gibt's ‘gfortran’, ein Fortran90 (bzw. 9x) kompatibler Compiler, der auch Fortran77 erlaubt, und prinzipiell etwas strikter ist, d.h. jedenfalls für neue Projekte zu verwenden.
Aufruf: ‘f77 myfile.f -o myfile’ oder ‘f77 -c mysub.f’, wobei das erste gerade linkt und das Programm myfile erzeugt, und das zweite nur ein (`relocatable') object-file mysub.o erzeugt. Weiteres auf der man-page (in Emacs ‘M-x man [Ret] f77 [Ret]’).
In S: dyn.load(.)
und dyn.load2(.)
linken
mit den neuen libraries (inklusive neue C - math library !)
(see Libraries).
Es gibt einige Files in ‘/usr/local/lang/SC3.0/READMEs/*’,
welche zum Teil über korrigierte (und bestehende) Bugs/Probleme Auskunft
geben.
WICHTIG: Es könnte sein, dass Fortran Routinen neu kompiliert werden müssen, um mit S zu funktionieren.
Um die Struktur und Syntax eines (komplexeren) Fortran Programmes zu checken und analysieren (sogar einen “Call Tree” zu erzeugen), gibt's das nützliche Programm ‘ftnchek’ mit verschiedensten Argumenten, siehe man-page (in Emacs ‘M-x man [Ret] ftnchek [Ret]’).
— wurde abgeschafft — Man kann aber Pascal nach (ANSI) C übersetzen lassen (mit ‘p2c’, see Uebersetzer in C) und so einen Pascal-Compiler “simulieren”.
ist die Sprache, in der ein Grossteil von Emacs und alle Erweiterungen, wie z.B. ‘ESS’ (see R und S im Emacs) in *.el Dateien geschrieben sind. In Emacs stellt ‘M-x ielm’ einen interaktiven Emacs-Lisp Interpreter zur Verfügung. Ausserdem gibt's ‘M-:’ um einzelne Befehle auszuführen. Ausführliche Info im detaillierten Info-Manual Emacs-Lisp-Info, oder direkt im Source-Code in /usr/local/app/emacs/SRC/emacs-<version>/lisp/ und /usr/local/share/emacs/site-lisp/.
Perl (:= “Practical Extraction and Report Language”) hat schon
sehr ausführliche On-line Dokumentation via "Manual pages".
Sowohl M-x man perl
als auch
die "Info" Version davon, Perl-Manual,
C-h i
und m perl
im Hauptmenu,
sind ein ausführliches Referenzmanual.
Das "Camel book" (Standard-Werk) ist meist bei den Computer-Büchern
(in unserer Bibliothek).
author = {Larry Wall and Randal L. Schwartz}, title = {Programming PERL}, publisher = {O'Reilly \& Associates}, year = 1991
Auch auf dem Web gibt es ebenfalls unzählige nützliche Informationen.
z.B. die Perl Home Page, http://www.perl.com/perl/
here
oder das Perl Institute, there.
Beispiel Skripts findet man in
Im Emacs ergeben .pl Files und solche, die mit #!/usr/local/bin/perl beginnen, automatisch 'perl-mode' und entsprechende Einfärbung.
Mit perl -de 0
kann der Debugger mit "0" Skript, d.h. ohne
Perl-Programm aufgerufen werden.
Nun kann man Perl interaktiv benützen (nur (?) für 1-Linien Befehle !);
mit 'h
' kann man die Befehle sich zeigen lassen. "p
" steht
für 'print' und muss fast immer verwendet werden, um Variabeln anzuschauen.
Edit
&
Copy
und Ausschneiden mit der Maus.
Um IMSL-Routinen in Code einzubinden, beim “Linken” ‘-limsl’ angeben
(alte Version :‘-lIMSLmath -lIMSLstat’ bzw. ‘-lIMSLsfun’).
Martin hat auch einige S-funktionen
(in /u/maechler/S/C-Progs/IMSL/, welche ein Interface zu IMSL
versuchen via dyn.load
.
Bei Gelegenheit will MM diese noch mehr dokumentieren...
Siehe IMSL.
-lnrc
verwenden.
Diskette einschieben, Befehl ‘floppy’ in einer shell ausfuehren: der Inhalt der Diskette befindet sich nun in /mnt/msdos und kann dort wie in einem gewöhnlichen Directory bearbeitet werden.
CD ins entsprechende Laufwerk einschieben (Öffnen und Schliessen des Laufwerks mittels des Knopfs rechts drunter). Befehl ‘cdrom’ oder ‘cdrom1’ (je nachdem, was funktioniert) in einer shell ausführen: der Inhalt befindet sich nun in /mnt/cdrom oder /mnt/cdrom1.
USB-Stick einstecken, Befehl ‘usbdrive’ in einer shell ausfuehren: der Inhalt befindet sich nun in /mnt/usbdrive und kann dort wie in einem gewöhnlichen Directory bearbeitet werden.
Der Befehl xbp
(nur auf
Jessica und sehr langsam!) ist ein menu-geführtes X11-Programm,
welches bequem erlaubt,
Dinge des “Net–Backup” der ETH-Informatikdienste wieder zu holen.
Einfach File auswählen und Restore/Restore selected files...
ausführen. Der
“Net-Backup” geschieht mit Roboter-gesteurten Tapes über Nacht zum RZ.
Wichtig: Wenn die VPP-Verbindung unterbrochen ist, kann man das
Kabel im Serverraum, welches zum Drucker geht umhängen und stattdessen das
Kabel mit
der Beschriftung "printen hypatia" nehmen. Dann ‘prt -direct’ verwenden.
Drucker umhängen
Bemerkung: Schwarz-weiss Folien entweder auf Papier drucken und dann
kopieren, oder Folien in Druckerschacht für weisses Papier legen und mit
‘prt -w <file>’ bedrucken.
Will man auf dem Farblaserdrucker im LEO D11 etwas ausdrucken, muss man
zuert temporär CUPS aktivieren.
Fuer fast alle (bash Benützer): . /u/sfs/adm/printerD11.sh
Fuer die csh Benuetzer: source /u/sfs/adm/printerD11.csh
Dann kann man aus dieser Shell die gewünschte Applikation (evince, firefox,
...) starten und via Print Dialog das File im LEO D11 ausdrucken. Bitte
darauf achten, dass kein Drucker im HG angewählt wird.
Mit den Funktionen ps.do oder ps.latex aus unseren
`goodies', see ps.latex,
können bequem Farb-PostScript-Files erzeugt werden.
Sie funktionieren via Aufrufe von ps.options
und postscript
.
Mehr dazu online unter
help(postscript)
und ?ps.options
oder in der Funktion selbst.
Mit der Definition eines Farbenvektors (z.B. ps.colors [der Default])
bzw. einer Farbenmatrix (z.B. ps.colors.23) kann “jeder beliebige”
Farbton im PostScript erzeugt werden. Im folgenden Beispiel sind es Rottöne:
> farben <- matrix(c(0:9/9, rep(1,10), c(0,rep(1,9))), ncol=3) ## 10 Farben: 1: schwarz, 2:10 : orange bis rot > ps.do(file="Bild.ps", do.color = T, colors=farben) > p.plot(...) ; ... > ps.end( do.col = T) > ! prt.color Bild.ps # für A4 Papier > ! prt.Cfolie Bild.ps # für Folie
Siehe Farbige Ausdrucke. ==> Abholen im RZ E21.
Mit ps.col
bekommt man aber defaultmässig schon eine ganz gute
Farbpalette.
prt
wandelt ein <filename>.dvi–File in
ein PostScript–File um und schickt es auch gleich vollständig auf unserem
Laser-Drucker.C-c C-c +
Print hat);
Ausdrucken von (La)TeX (d.h. *.dvi) Files, wenn man Spezielles will:
z.B. Nur bestimmte Seiten, Vergrösserung, Verkleinerung, 10 Kopien.
Beispiele (funktionieren auch im Emacs, bei C-c C-c Print
):
- ‘dvips.prt -c2 foo.dvi’
- Druckt 2 Kopien (1 extra)
- ‘dvips.prt -n3 foo.dvi’
- Nur die ersten 3 Seiten
- ‘dvips.prt -p5 -n3 foo.dvi’
- ‘dvips.prt -p5 -l7 foo.dvi’
- ‘dvips.prt -pp 5-7 foo.dvi’
-p5: Start bei S.5 -n3: Nur 3 Seiten -l7: "Last" = S.7- ‘dvips.prt -x800 foo.dvi’
- Verkleinere auf 80% (800/1000)
‘dvips --help’ gibt Kurz-Übersicht über alle Optionen. Siehe auch Manual-page (‘man dvips’). Ein ‘dvips’ Manual ist bei Martin. Oder on-line mittels "xdvi /usr/local/tex/src/dvips/dvips.dvi"
Der Befehl ‘gv’ (verbesserte Version von ‘ghostview’) gibt die
Möglichkeit
PostScript-files zuerst am Bildschirm so anzuschauen, wie der effektive
Laserausdruck dann auch aussehen wird.
Häufig ist das nützlich bei Graphiken, die im R erzeugt wurden.
Auch TeX–Files, mit eingebundenen Graphiken (see Graphiken einbinden)
können angeschaut werden, nachdem aus dem dvi-File mit dvips
(see Dvi-Files) ein PostScript-File erzeugt wurde. So lässt sich
überprüfen, ob die Graphiken in der richtigen Grösse am richtigen Ort
sind.
Mit dem Befehl ‘gz’ können komprimierte (see Files komprimieren) PostScript-Files im Ghostview angeschaut werden. Zum Beispiel: gz beispiel.ps.Z
psselect -p2-3 m1.ps | prt -
erzeugt ein File, welches nur die 2. und 3. Seite von m1.ps enthält und schickt das Resultat gerade zum Printer.
Eine weitere Möglichkeit besteht darin, im ‘gv’(see gv - ghostview) Seiten
auszuwählen (mit Maus und 'm' in der Seiten-Liste) und dann mit Menus
<File> und <Save marked Pages> diese auf ein neues File zu schreiben.
psselect
.
ps2on1
gibt Online-Hilfe. Es gibt verschiedene
Verkleinerungs-Varianten; ideal ist es natürlich möglichst wenig zu
Verkleinern. Wer diesen sh
-Skript anschaut (‘mwh ps2on1’)
sieht, dass einfach das allgemeine Programm pstops
aufgerufen wird. Für
A4-Format eignet sich in der Regel der Faktor -k .5 gut.
man psnup
gibt Hilfe.
‘psnup -2 ...’ ist eigentlich nur noch die spezielle Variante
‘ps2on1 -k 0 ...’; beruht auch auf pstops
. Es gibt
auch den Befehl ‘pdfnup’.
man psbook
):
psbook beispiel.ps > beisp-book.ps ps2on1 beisp-book.ps > beisp-book.ps-2 prt2k beisp-book.ps-2
Obiges ps2on1
ruft – wie gesagt – effektiv pstops
auf.
Unter Umständen müssen für ein Büchlein andere pstops
-Parameter als
jene von ps2on1
gewählt werden.
‘PDF’ ist das neue (seit ca. 1996) portable Dokumenten-Format, mit welchem Adobe, die Firma, die PostScript kommerzialisiert hat, uns beglückt. Im Gegensatz zu PostScript ist es nicht mehr ein ASCII Format, dafür hat es vor allem zwei grosse Vorteile:
Im Moment haben wir unter ‘acroread4.0’ noch eine neuere Version zur Verfügung, die etwas mehr kann (und andere Bugs hat).
Es stehen einige Möglichkeiten zur Verfügung auf Laserwritern, Pen-Plottern oder Matrixdruckern Files auszudrucken.
Default-mässig werden vom Print-Befehl prt
(see Druckbefehle) alle
Files auf den Printer auf dem Stock geschickt, auf dem sich auch der Computer
befindet, wo der Befehl ausgefuehrt wurde. Mit prt -dest=LEOC12
filename
resp.\ prt -dest=LEOD filename
resp.\ prt -dev=L5635
filename
kann der gewünschte Drucker
explizit angegeben werden.
Fotografie, Laboratorium für physikalische Chemie: Vreni Baumann, 2 4321, Walter Jaeggi, 2 4395
Dia-Service (Testbetrieb)
Die Gruppe Fotografie bietet einer eingeschränkten Benutzergruppe einen Belichtungs-Service für computer-generierte Graphiken an.
Anforderungen
Die zu verarbeitenden Graphiken müssen als PostScript- oder SUN-Raster-Dateien
vorliegen und sind daher nicht an eine spezielle Computerarchitektur gebunden.
Die Dateien werden per Anonymous FTP an den Host DIASERVICE
(DIASERVICE.ethz.ch) zugeschickt. Ein Transferprogramm für unix-computer
ist auf DIASERVICE vorhanden.
Ausführung
Die Graphik-Dateien werden vom Belichtungs-Service entgegengenommen und dem
Dia-Belichter zugeführt. Das Standard-Vorlagenformat beträgt A4 im Hochformat.
Graphiken in einem anderen Format als A4 werden automatisch zentriert und
möglichst gut in das Dia eingefügt. Dabei kann es allerdings geschehen, dass
Teile der Vorlage nicht belichtet werden. Der Belichtungsservice führt auf
keinen Fall Änderungen oder Korrekturen an den Graphik-Files durch. Zur
Kontrolle sollten die Graphiken auf einem lokalen PostScript-Drucker ausgedruckt
oder mit einem Hilfsprogramm auf dem Bildschirm kontrolliert werden.
(z.B. Ghostview)
Die Dias werden in Glas gerahmt und liegen jeweils 3 Arbeitstage nach Eintreffen
des Auftrages im Servicelabor bei Frau Baumann (Tel. 2 4321, CHN E 1.1, Mo-Fr
8oo - 17oo) zum Abholen bereit. Der Belichtungs-Service ist eine reine
Dienstleistung und akzeptiert weder Express- noch Belichtungsaufträge in einem
von uns nicht unterstütztem Graphik-Format.
Anmerkungen
Informationen können auch über Anonymous FTP abgefragt werden (Info-File).
e-Mail service@ppc.lpc.ethz.ch
1. Erzeugen eines PostScript Files: Wie ein PostScript File erzeugt wird, hängt vom Programm ab, mit dem man arbeitet. In jedem Fall muss aber im 'Apfel-Menu' unter Auswahl der Laserdrucker ausgewählt sein. In Word kann man im Print-Menu die Option 'PostScript Datei' anklicken. Nachdem man auf 'OK' geklickt hat, erscheint eine Dialogbox, wo man angeben kann, wie das PostScript File heissen und wo es abgespeichert werden soll.
2. Drucken des PostScript Files: Im 'Apfel-Menu' startet man dann das Programm MacVPP und klickt auf 'send file'. Es erscheint wieder eine Dialogbox, wo man das unter 1. erzeugte PostScript File auswählen muss. Danach klickt man 'OK', wodurch das File ausgedruckt wird (was leider ziemlich lange dauert).
damokles - winnt und Beratungs-PC
Einfach im jeweiligen Programm den Befehl "Print" oder "Drucken" anwählen,
Papiersorte auswählen (grau oder weiss, Default ist grau) und OK
klicken. Der Ausdruck erfolgt via VPP auf dem Laserdrucker im LEO D-Stock.
tarantella - Windows2000 (inkl. Weisbach)
Von tarantella
kann auch via File/Print auf die VPP-Drucker ausgedruckt
werden. Wie man den Default-Drucker setzten kann, steht auf
http://www.math.ethz.ch/isg/faq.
Man kann aber auch auf ein "Druck-File" drucken: In der Print-Dialogbox die
Option Print to file
anklicken, und dann auf Y:... speichern (oder was auch immer dem
Home-Directory unter Unix entspricht). Eine "Druck-Datei" bekommt
per default die Endung .prn (bzw .PRN) und kann mit dem universellen
Druckbefehl ‘prt’ ausgedruckt werden.
*.prn–Dateien sind den PostScript–Dateien sehr ähnlich. Ein neuer (11.11.02) Befehl ‘prn2ps’ (ein Perl-Script) erstellt aus einer *.prn–Datei eine unproblematische PostScript Datei (schreibt auf "STDOUT", daher unten das ">"):
prn2ps mein_filename.prn > neuer_name.ps
Mit dem Befehl ‘prt.fax’ kann man Briefe, ja sogar PostScript-Files (und damit Bilder) faxen. Das geht grundsätzlich immer, auch ins Ausland.
Der Befehl ‘prt.fax’ ist ein alias für: ‘prt -notify=$VPPDEST -size11’
Es können ASCII-, PostScript- und (TeX- bzw.) Dvi-Files gefaxt werden mit dem Befehl:
prt.fax -dest=<Telefonnummer
>@FAX -note="<Name Empfänger
>" <file
>
Beispiel:
prt.fax -dest='6321086'@FAX -note="'Brief an sfs'" sfsBrief.dvi
Achtung: Für externe Telefonnummern (auch Ausland) keine ‘0’ am
Anfang. Für ETH-interne Nummern muss man die 7-stellige Nummer angeben:
also 632 xx xx.
Das X–Windows system, welches in der Version 11 das Unix Windows
System geworden ist, wurde am MIT
als Projekt “Athena”
seit ca. 1992 vom X-Consortium entwickelt
und ist “Free Software, das heisst man kann den Source code
bekommen und installieren (alles in C).
Auf dem “Grund system” werden nun diverse “Window Manager” (WM) und “Toolboxes” entwickelt.
Die Benützerumgebung wird dabei durch die Setupfiles .Xdefaults, .xinitrc,.twmrc, /u/sfs/X11/xinitrc.all und /u/sfs/X11/Xdefaults festgelegt (see Setupfiles). In diesen Files ist ein praktischer Grundstock bereits abgelegt. Will man aber noch eigene Spezialitäten (wie z.B. einen schwarzen Hintergrund) kann man dies im .xinitrc und .Xdefaults noch selber hinzufügen.
Verschiedene Programme die nur unter X11 laufen:
‘man xtetris’ und ‘man xmartin’ geben Hilfe; der CD-player hat kein on-line help, das File /usr/local/X11R5/contrib/clients/xcdplayer/README erklärt aber die Buttons.
Wer auf einer fremden Maschine, z.B. deb arbeiten will,
lässt `von dort' ein Fenster öffnen via
Rechte Maus auf 'Hintergrund' -> Menu [Local Hosts] -> [deb]
Als fremde Person auf einer fremden Maschine (Wenn ich z.B. als ‘gelpke’ auf ‘nanny’ arbeite, aber aus irgendwelchen Gründen als ‘sfs’ auf ‘deb’ einen emacs öffnen will) ist es etwas komplizierter; es gibt zwei Möglichkeiten:
nanny{sfs}307% xrsh deb xterm -ls
#xterm window erscheint
deb{sfs}301% esh
nanny{sfs}309% rsh deb
deb{sfs}301% setenv DISPLAY nanny:0.0
deb{sfs}302% esh
nanny{sfs}309% xrsh -pass EMACSLOADPATH deb emacs
TCP/IP mit ‘ssh’ und ‘ftp’ kann von unsern Workstations sogar in die ganze Welt vorgedrungen werden.
Aus Sicherheitsgruenden ist bei uns der tcpwrapper aktiviert, weshalb ein ganz freier Netzwerkverkehr (rlogin, telnet, ftp) zwischen den Workstations vom Internet und den Workstations vom Seminar für Statistik nicht mehr möglich ist:
rlogin gatekeeper.math.ethz.ch resp. ssh gatekeeper.math.ethz.ch
Von dort aus kann man sich dann auf eine beliebige Maschine innerhalb des Statistik-Netzwerkes einloggen.
Wenn man schon via VPN im ETH Netzwerk eingeloggt ist, kann man alternativ
auf ‘pytharski.math.ethz.ch’ einloggen. Von dort kann man dann weiter
auf eine beliebige Maschine einloggen. Der Vorteil besteht darin, dass man
kein one-time Passwort eingeben muss.
sftp sftpmath.math.ethz.ch
erledigen. Für Windows kann man z.B. den Client WinSCP verwenden.
ftp ftp.stat.math.ethz.ch
Bemerkung : Wie man sieht, entstehen keine Einschränkungen für den Netz-
werkverkehr von der Statistik nach ausserhalb !
klog sfs
(und
anschliessend das übliche SfS-Passwort) eingibt.vmware-sfs
) laufen, so kann man direkt auf die den StudentInnen zur
Verfügung gestellten Daten zugreifen, am einfachsten via /u/sfs/ueb/datasets/Systat_AFS/.
Unsere Home-Page ist kurz http://stat.ethz.ch/
Sie hat auch für uns nützliche Links, z.B. zum NEBIS, dem Online-Katalag des Bibliotheksverbundes inklusive ETH-Bibliothek.
‘imslhelp’ gibt ein sehr übersichtliches online Help zur neuesten
installierten Version der Fortran-Library.
Neben Hinweisen zu den Algorithmen gibt es auch viele Beispiele.
Die Funktionen können problemlos aus dem C aufgerufen werden. Es ist
ebenfalls möglich, C Funkionen, die IMSL-Routinen verwenden, aus dem Splus
aufzurufen (Tips und Beispiele können bei Markus Hürzeler nachgefragt
werden).
Es gibt 7 Ordner im LEO D5 (Besprechung/Beratung) mit der ausführlichen Dokumentation. Zusätzlich sind auch noch "Quick Reference Cards" (kleine Büchlein) auf diesen Ordnern. Diese geben noch eine bessere Übersicht.
Die Ordner beziehen sich zwar NICHT auf die neueste Version von IMSL, Hans-Ruedi Künsch, Markus Hürzeler und Martin Mächler haben sie aber bis jetzt ohne Probleme verwenden können. Neue Ordner sind recht teuer und wir brauchen ja IMSL nicht zu häufig.
Die neuesten Dok. sollten immer bei
Frau Heidi Theiler, ID Kommunikationssyst., RZ G23.0 zur Einsicht (und evt. Kopieren von ein paar Seiten) bereit sein.
Bem: In der Statlib gibt es die ganze CMLIB, eine sehr grosse Library von verschiedensten Subroutinen-Bibliotheken. LinPack / BLAS sind dabei nur ein sehr kleiner Teil. Diese Bibliothek kann im Emacs direkt angeschaut werden mit:
/statlib@lib.stat.cmu.edu:/cmlib/README /statlib@lib.stat.cmu.edu:/cmlib/doc/Summary
Siehe ftp im Emacs-Dired, see Libraries.
Es gibt das Telefonbuch auf dem Web (nur ETH-intern !) mit einer recht guten Benützeroberfläche. Link von unserer www-Homepage.
Unter /sfs/a/A/ sind die verschiedensten archivierten Dateien aka archives zu finden, z.B. die Ueberbleibsel ehemaliger Mitarbeiter in /sfs/a/A/SfS-staff/ (welches identisch ist mit /u/sfs/Archives/) oder ehemaliger Diplomandinnen oder Semesterarbeiter in /sfs/a/A/SfS-students/.
Unter Hosts-Net findet man das Menu
‘Rutgers(Dix,..)’. Es stellt das On-Line Informationssystem der
Rutgers Uni (New Jersey, USA) zur Verfügung. (‘telnet
hangout.rutgers.edu’)
Den ‘Oxford Dictionary’ und die Bibel können folgendermassen geholt werden:
"li" (Library, information resources, etc) und dann "r" (Reference --> Online dictionary and other reference material.) führen nun zum On-line Referenz-Material: "D" (Dictionary --> Concise Oxford Dictionary, 8th Ed.) "F" (Familiar --> Oxford Dictionary of Familiar Quotations (and Modern Q.)) "R" (Religion --> Bible, Book of Mormon, Koran)
Mit ‘cis’ kann man (fast) alle Literatur erhalten, die eine bestimmte Person geschrieben hat, oder alle Artikel und Bücher über ein bestimmtes Gebiet in schönem BIBTeX Format: Dafür muss im neuen “Web”-CIS Formular das Format von ‘HTML’ auf ‘BibTex’ geklickt werden.
Seit Februar 2004 haben wir eine 4-Stationen-Lizenz. Das heisst Zugriff NUR von einer dieser 4 Maschinen : deb, deb2, di, jessica. Am besten verwendet man einen "leichtgewichtigen" Web-browser
ssh deb2 konqueror www.statindex.org/CIS/psqlQuery
Man kann auch mozilla (statt "konqueror") verwenden, der ist aber noch langsamer — auf Jessica muss jedoch (im Moment) mozilla verwendet werden.
Es gibt auch eine Gratis-Version die auf jedem Computer
funktioniert. Allerdings bekommt man dort nur Artikel bis 1997:
http://query.statindex.org/CIS/OldRecords/queryOld
In /u/sfs/mail+addr/IMS-directory befinden sich die Adressen (inkl. e-Mail Adresse und FAX-Nummer) der IMS Mitglieder. [IMS =? Institute for Mathematical Statistics]
‘M-x Members’ (oder nur ‘M-x Me [TAB]’) im Emacs
M-x Me [RET] Hampel [RET]
NOTA BENE: Man verlässt das Programm mit ‘x’, sucht mit ‘s’, bekommt Hilfe mit ‘?’ Um vom Beginn der ganzen Data base zu suchen ‘<’ vor der Suche tippen.
Emacs erlaubt ein "Fullscreen"-Interface zu einfachen Datenbanken, via dem sogenannten Forms-mode, zu dem es einiges detailliertes Info-Manual gibt: Forms-Mode.
Für die grosse Adress-Datenbank ist die Benützerschnittstelle im Moment noch unvollständig beschrieben in /u/sfs/addr/sfs-database/README. (in obigem Directory sind auch viele entsprechende Dateien).
DATENBANK --- Eingabe und Anderungen : Im Emacs "C-c a" --------- ====================== ~~~~~ Beschreibung der Dateien hier (= /u/sfs/zukost/dbase/ ) in FILES ~~~~~ Datenbank - Befehle (in der Unix - Shell) [-> /u/sfs/bin/perl/ ] ~~~~~~~~~~~~~~~~~~~ print-db Erzeugen einer "formattierten" Datei, z.B. für Etikettendruck select-db Auswählen einzelner "Records", dh. DB-Einträge show-db Anzeigen am Bildschirm check-db Haben alle Einträge der DB die richtige Anzahl Felder? fields-db Wie heissen die "Feld" (field) Namen der DB?
Die obigen Befehle (ohne Argumente) sollten selber noch etwas Online-help geben.
In /u/rey/SfS_alle/tel.tex befinden sich die Adressen der Mitglieder des SfS und einige wichtige zusätzliche Adressen von Personen aus anderen Instituten der Uni und ETH. Das oben erwähnte Directory (und File) ist für alle von der Gruppe 'sfsstaff' lesbar.
Neben dem sfs.info-File, in dem Sie gerade blättern, gibt es auch noch wenige andere Informationsfiles. Neue Informationen sollten aber nach Möglichkeit in das Source-file von SfS-info, /u/sfs/info/texinfo/sfs.texinfo, eingetragen werden. Dazu schreibt man eine e-mail mit dem geänderten Eintrag und dem ‘Subject: sfs-info’ an Sarah Gerster.
Die AMS subject classification, welche z.B. auch für die Annals gebraucht wird, ist on-line UND als LaTeX / DVI file bei uns vorhanden: /sfs/a/A/AMS/ 724 Oct 21 1994 README-SfS —this file— 2582 May 24 1993 WHERE-from <<< Die Quelle (FTP) 300377 May 24 1993 asciiclass.new <<< zum drin Wuehlen... 6914 May 24 1993 class.intro <<<<< INTRODUCTION >>>>> 2603 May 24 1993 class.tex_header 358876 May 24 1993 classes.tex 385788 Oct 21 1994 latexclass.dvi <<< Anschauen mit xdvi (65 S.) 144858 May 24 1993 latexclass-2on1.ps.gz <<< für Drucker (33 S.) 3145 May 24 1993 latexclass.tex 2627 May 24 1993 texclass.tex 684 May 24 1993 tstMhead.tex
Hier stehen diverse Dinge, welche nicht zu einer obigen Kategorie gehören.
Fur den Fall, dass es tatsächlich nicht anders geht und man wirklich Windows braucht, gibt es unter Tarantella die Windows-Server ‘Windows2000’ und ‘Statistik Weisbach’ (mit Systat). Ein Tarantella-Konto bekommt man bei Alan Butler (ISG D-Math). Tarantella wird gestartet mit ttwebtop.
Beratungsformulare sollen auch auf dem Computer abgelegt werden. Deshalb soll man nach jeder Beratung an den Computer sitzen und ‘C-c b’ und ‘C-c C-o’ einzutippen und dieses elektronische Formular entsprechend der Papierversion (soweit gefragt) zu übertragen. Die Tabulator-Taste (meist links von Q) bringt einen von Feld zu Feld. Shift-Tab bringt einen zurück. Abschliessen mit ‘C-c C-x’ Weitere Befehle:
Den Taschenrechner findet man im X11 unter der linken Maustaste. Man kann auch mit dem numerischen Keypad damit arbeiten. Die Ziffern , . und + - * / = tun, was man von einem Rechner erwartet.
Die von Christian Schleiffer im Herbst 1987 gestartete Sammlung und Dokumentation von nützlichen/interessanten Datensätzen ist nun schliesslich auch auf unsern SUN's angekommen. Zu finden im Directory: /u/sfs/ueb/datasets. Es gibt im Prinzip File–Paare foo.dat - foo.doc, Die Dokumentation in *.doc ist dabei in ein Formular einfüllbar, welches in AA.maske vorhanden ist.
Es gibt momentan drei Unter - directories mit teilweise UN-dokumentierten Datenfiles:
hpgraf (Daten von Hans-Peter Graf, Diss. 1984: Selbstähnliche Prozesse) kart no_docu
Zum Teil sagen die Namen der Files allerhand, trotzdem wäre es wohl sehr nützlich noch kurze *.doc files zu den Daten zu erzeugen, oder wenigstens etwas mehr in die jeweiligen README Dateien zu schreiben.
Weitere interessante Datensätze sind im /u/sfs/Archives-Data/ in eigenen Unterdirectories. So gibt es dort:
Chatterjee-H-S-Data Chatterjee-Price-Data Everitt-Data Hand-et-al.Small-Data Rice-J-A-Data Rousseeuw-Leroy-Data Rousseeuw-Leroy-PROGRESS Rousseeuw-MVE-Data Rousseeuw-clusfind-Data Sen-Srivastava-Data
Kommentare zu den jeweiligen Datensätzen sollten auch hier entweder in einem README oder noch besser in einem .doc file zu den jeweiligen Datensätzen eingetragen werden.
Mit dem Befehl ‘uebgrep’ kann man Aufgaben zu gewissen Stichworten suchen. Beispiel:
uebgrep Asymptotik /u/sfs/ueb/Math.Stat/aufgaben
sucht in der Aufgabensammlung zur ‘Mathematischen Statistik’ nach Übungen zur Asymptotik. Lässt man die Pfadangabe weg, wird in /u/sfs/ueb/*/aufgaben, d.h. in allen ‘aufgaben-directories’ gesucht.
Um einen Überblick über alle Datensätze zu bekommen, gibt es den Befehl ‘Summary’ (nur in /u/sfs/ueb/datasets definiert). Shell-Fenster breit genug einstellen, sonst wird der Output unübersichtlich!
Der Webauftritt wurde 2003 an der ETH durch die Verwendung von Silva vereinheitlicht. Um eine Silva-Seite zu bearbeiten, schreibt man einfach /edit hinter die URL (Internet Adresse). Danach gibt man ‘nethz’ login und Passwort ein. Hat man die Berechtigung, die entsprechende Seite zu ändern, kommt man zum Silva Managment Interface. Oben findet man die 5 Hauptmenüpunkte Contents, Prieview, Metadata, Access, Publish. Eine Silvaseite besteht aus drei Spalten. Der Haupttext kommt in die Mitte, links wird automatisch eine Navigation erstellt und rechts kommen "wichtige Boxen" hin. Wählt man bei einem Paragrafen ‘annotated’, so kommt er in einer Box in die dritte Spalte. Ebenso sollte alles was in ‘box feeder’ definiert wurde, von allen folgenden Seiten geerbt werden und auch in der rechten Spalte angezeigt werden. Falls das nicht klapp, kann man bei ‘Metadata’ bei comment boxes3:show schreiben. Um eine neue Vorlesungsseite zu erstellen, kopiert man am besten eine alte und passt sie dann an. Hat man eine Seite verändert, muss man sie publizieren (‘Publish’), damit sie auf dem Netz sichtbar wird. Publizierte Seiten erscheinen im Interface in blauer Schrift, nicht publizierte in roter. Um eine publizierte Seite im Interface anzuschauen oder zu ändern, muss man auf ‘create new version’ klicken. Die Adresse/id einer Seite kann nur geändert werden, wenn die Seite nicht publiziert ist (d.h. vorher publizierte Version schliessen). Eine Übungsserie im ‘PDF-Format’ kann mit Select... Silva File zu den \Assets hinzugefügt werden. Weitere Informationen findet man unter http://www.math.ethz.ch/kurs/.
Viele dieser Spezialitäten kann der Normalbenutzer mittels einer Datei
~/.procmailrc für sich aktivieren.
Achtung: Dies ist in dem Sinn heikel, dass bei Tippfehlern
Post verloren gehen kann!
Wer automatisch per e-mail an Vorträge ermahnt werden will (ein Arbeitstag vorher, und am morgen des Tages selber), soll sich eine Datei ~/calendar folgendermassen erzeugen:
cp /u/sfs/calendar ~/calendar
Bitte: alle (neuen) Vortrags-Ankündigungen in die Datei /u/sfs/info/calendar eintragen, mit amerikanischem Datum-Format (Monat/Tag). Das ‘calendar’ versteht kein deutsch, d.h. z.B. ‘Dec’ anstelle von ‘Dez’ schreiben. Normalerweise läuft in der Nacht ein crontab Job, der E-mails verschickt. Falls dies aus irgendwelchen Gründen schief läuft, kann man das calendar auch "von Hand" mit ‘Do-calendar’ laufen lassen.
Werner Stahel u.a. verwenden ‘calendar’ auch als persönlichere elektronische “Agenda”. Dafür gibt's unter Linux allerdings auch raffinierte Tools (mit GUI).
Dies ist die einfachste Situation: Z.B. möchte ich, der Benutzer ‘maechler’, alle elektronische Post an ‘maechi@gmx.ch’ weiterleiten lassen. Ich muss einfach die Datei ~/.procmailrc mit folgenden Linien kreiieren; dabei gibt's zwei Varianten
# Fuer Emacs: -*- mode: sh; -*- ## Alles zu maechi@gmx.ch: :0 ! maechi@gmx.ch
# Fuer Emacs: -*- mode: sh; -*- ## Alles zu maechi@gmx.ch __ zusätzlich __ ("c" = carbon-copy): :0 c ! maechi@gmx.ch
Die typische Situation ist hier, dass jenen Leuten, die z.B. Christina Künzli eine E-mail schicken, während ihrer Ferienabwesenheit automatisch eine "Antwort" geschickt wird.
Martin Mächler (u. Hanspeter Scherbel u.a.) findet dies ein bisschen unanständig für jene Benutzer, welche bei (aktiven) Mailing-Listen subskribiert sind (also kein Problem für Ch.Künzli). Hier wird das Program ‘vacation’ nützlich, welches auch via ‘procmail’ benützt wird. JedeR BenützerIn hat typischerweise im ~/.procmailrc schon eine nicht-aktivierte Vorlage (mittels ‘#’ aus-kommentiert); sonst siehe /u/sfs/.procmailrc
Hier muss zusätzlich noch die Meldung aufgesetzt werden, die verschickt werden soll, dies in der Datei ~/.vacation.msg. Es empfiehlt sich, Christinas Vorlage zu nehmen und dann abzuändern (dabei wird ‘$SUBJECT’ jeweils vom ‘vacation’ Programm eingesetzt):
cp /u/sfs/adm/dot.vacation.msg ~/.vacation.msg
Nun noch als Letztes den ‘vacation -I’ Befehl einmal laufenlassen. Dies bewirkt, dass eine Datenbank eröffnet wird, wo gespeichert wird, wem die .vacation.msg schon geschickt wurde. Diese wird dann erst nach einer Woche (default) wieder neu geschickt bei wiederholter Post von derselben Person. ‘M-x man vacation’ (auf Solaris!) ergibt noch mehr Info.
Hier muss ‘procmail’ intensiv verwendet werden; damit kann auch obiges (Weiterleiten, automatische Antwort) gemacht werden, auf sehr flexible Weise, allerdings ist dies bei weitem die komplexeste Angelegenheit. Neben einem ~/.forward, welches unbedingt (Tippfehler!) so erzeugt werden soll
sed s/maechler/$USER/g /u/sfs/adm/dot.forward.for.procmail > ~/.forward
braucht's noch eine ~/.procmailrc Datei und typischerweise auch ein ~/Mail/procmail/ Directory, und Erweiterungen im ~/.vm, damit automatisch alle “Inboxen” auch richtig geholt werden. Im Moment hat Peter (user ‘holzer’) einen ganz simplen Setup, mit nur zwei Inboxen; eine für alles direkt an ihn adressierte, die andere für den Rest. Martin hat ein komplexeres mit 8 Inboxen, für ‘kralidis’ wurde es so aufgesetzt, dass fast alles einfach weitergeleitet wird mit wenigen Ausnahmen, die zusätzlich hier in die Inbox kommen.
Wer an solchem interessiert ist, sollte sich wohl mit Martin in Verbindung setzen oder die man pages procmail, procmailrc, procmailex studieren.
Will man einen eigenen E-Mail Client verwenden (z.B. auf dem Notebook), so findet man entsprechende Anleitungen für die Konfiguration auf der Intranet Seite des D-Math. (http://intranet.math.ethz.ch/support/faq/email_ssl/). Achtung: Der Servername muss für SfS-User geändert werden. Z.b. kurz bei Martin nachfragen.
Über Webmail (https://webmail.stat.ethz.ch) kann man auch ausserhalb des SfS (z.B. von zu Hause aus) auf seine Mails zugreifen. Mit der Default-Einstellung sieht man aber im Webmail nur die "neuen" Mails. Dies kann man ändern, indem man das File ~/.mailboxlist editiert und dort alle Mail-Ordner auflistet, die von Webmail aus sichtbar sein sollen. Als Beispiel siehe /u/maechler/.mailboxlist. Alternativ kann dies auch direkt im Webmail via den Folder Link erledigt werden.
Wir haben etliche (Statistik) Zeitschriften ("Journals") abonniert, und archivieren sie jetzt auch hier. Folgendes ist eine Tabelle der Zeitschriftenbestände und ihrer Standorte:
Name des Journals von bis D5 ab Winde
American Statistician 1970 A 1 1970 - Annals of Applied Probability 1991 A1/2 1996 1 Annals of Probability 1973 A2 1996 1 Annals of Statistics 1973 A3 1996 2 Bernoulli 1995 A4 1995 - Biometrics 1970 A4 1996 4 Biometrika 1962 A4 1996 4 Econometrica 1967 A5 1996 5 International Statistical Review 1972 A5 1972 - J. Agricultural Biological and Environment Stat. 1996 B1 1996 - JCGS: J. Computational and Graphical Stat. 1992 B1 1992 - JASA: J. the American Statistical Association 1958 B2 1996 6 Journal of Multivariate Analysis 1971 B3 1996 7 JRSS B: J. Royal Stat.Soc. (B) Stat. Methodology 1957 B3 1996 7 JRSS C: J. Royal Stat.Soc. (C) Applied Stat. 1963 B4 1996 7 Statistical Science 1986 B4 1995 6 Statistical Theory and Method Abstracts 1980 B5 1996 9 Technometrics 1959 B5 1996 9 Time Series Analysis 1986 B6 1996 9 Annals of Mathematical Statistics 1930 1972 - - 8 Communications in Stat. (Simul. and Comp.) 1983 1994 - - 3 Communications in Stat. (Theory and Meth.) 1983 2000 - - 3 Journal of Applied Stat. 1985 1991 - - 7 Revue de Statistique Appliquée 1967 2000 - - 7 SIAM 1956 1993 - - 10 South African Stat. Journal 1967 1985 - - 9 Statistics (Math. Operationsf.) 1970 1993 - - 10 Statistics in Medicine 1986 2001 C1/2 1986 -
Research Reports am SfS werden via anonymous FTP der "Welt" zugänglich gemacht. Idealerweise könnte das ganze fürs WWW noch attraktiver gestaltet werden.
Idee/Ziel:
Implementation:
Via Internet sind nun alle Research Reports erhältlich via
unsere Homepage und "Research Reports" oder direkt in
ftp://ftp.stat.math.ethz.ch/Research-Reports/
.
Auf unsern Computern direkt in /u/ftp/Research-Reports/
).
Dort ist auch eine Datei INDEX (/u/ftp/Research-Reports/INDEX) mit etwas Infos für die Welt UND für jeden RR EINem Kurz-EINTRAG im Stile von 62: Hans R. Künsch (Sep.1990): Robust Methods For Credibility
Bis jetzt (Januar 2006) haben wir die ISO-latin1 Codierung verwendet
(für Umlaute im Deutsch). Neuerdings setzt sich aber die Codierung
Unicode oder UTF-8 immer mehr durch (siehe
http://www.unicode.org/standard/WhatIsUnicode.html) und wurde zum
Standard für RedHat Linux. Neuere LaTeX Versionen unterstützen auch
Unicode codierte Files. Dazu muss man das neue germanU
verwenden: \usepackage{germanU}
.
Im Emacs sieht man in der Status Bar ganz links, wie das File codiert ist:
“1” für ISO-latin1 und “u” für Unicode. Erstellt man ein neues .tex
File ist dieses immer noch ISO-latin1 (und man kann german8 verwenden). Um
die Codierung zu ändern wählt man Options -> Mule -> Set Coding
Systems -> For saving this buffer
. Mit Tab
bekommt man die
Auswahlliste und kann utf-8 oder iso-latin-1 wählen.
recode ..ibmpc file
, s. man
page.
recode ibmpc.. file
, s. man
page.
funny.chars
: Give funny characters of a "text" file;
rm.umlaut.chars
: REMOVE 8-bit Umlaut - chars from a "text" file
Auf gewissen Wunsch hin habe ich die Sound-files, die sich bei mir (d.h. auf /local/sophie/ ) angesammelt haben besser verfügbar gemacht: Mit dir /u/maechler/sounds/AU/*.au sieht man die Liste dieser neuen Files; die Standard-files (die beim “Kafi” z.T. zur Geltung kommen), sind in /usr/demo/SOUND/sounds abgelegt (auf hypatia).
In X11, beim mittleren Maus-Knopf-Menu unter “More ...” findet man
x_soundtool
(1) und x_gaintool
(2)
Sie kann man benützen, um solche Files abzuspielen (1) oder nur, um die
Lautstärke zu regulieren (2). Weitere Infos mittels
man soundtool
oder man gaintool
.
Was am SfS los war, kann im /u/sfs/info/sfs_history nachgelesen und festgehalten werden. Dies soll auch ein informelles Gästebuch des SfS sein und zusätzlich Anekdoten und Ähnliches enthalten.
Das File wird mit ‘ehistory’ editiert, wobei die Neueinträge immer am Anfang eingefügt werden.
Studierende, als auch Mitarbeiter der ETH Zürich können über IDES Software beziehen. Dazu loggt man sich auf der Seite https://ides.ethz.ch mit seinem nethz Login und Passwort ein. Im Katalog kann die gewünschte Software gesucht und bestellt werden. Sollte die Software kostenpflichtig sein, muss man im Verlauf des Bestellvorgangs einen Financier wählen (aus der Organisationseinheit, zu der man gehört). Nach erfolgreicher Bestellung wird die Software im Download-Bereich hinterlegt und kann von dort aus direkt installiert werden. Allfällig notwendige Authenifizierungscodes erhält man in einem separaten Email.
Die folgenden Unterkapitel bauen aufeinander auf. Die ersten beiden
Unterkapitel geben eine Einführung und sind unbedingt zu lesen, wenn man
mit TeXinfo noch nicht vertraut ist.
Alle anderen Unterkapitel dienen mehr als “Nachschlagewerk” und werden
sicherlich immer wieder gebraucht.
Ausfühliche Informationen finden sich im TeXinfo-Manual, das bei Martin
eingesehen werden kann.
TeXinfo ist eine Sprache, die dem TeX relativ ähnlich ist. Mit ihr wurden gewisse TeX-Befehle zusammengefasst und auf viele verzichtet. Dies alles mit dem Ziel das Aufarbeiten und Zusammenfassen von irgendwelchen Informationenen zu erleichtern und diese einem grösseren Publikumskreis in einer übersichtlichen und ansprechenden Art zugänglich zu machen. Das geschieht auf zwei Arten:
Als Ausgangsfile dient ein *.texinfo-file. Bei uns heisst es sfs.texinfo und ist unter /u/sfs/info/texinfo zu finden. Dieses wird dann auf zwei Arten von dem vorhandenen Makefile weiterverarbeitet. Dabei entsteht einerseits ein *.info-file, – bei uns sfs.info – das die On-Line Information liefert und andrerseits das *.dvi, – bei uns sfs.dvi – welches ausgedruckt werden kann.
Befehle im TeXinfo werden immer durch ein vorangehendes “@” gekennzeichnet, so wie man sich das vielleicht aus dem TeX vom ‘\’ gewöhnt ist.
Hier wird nur die grobe Gliederung des TeXinfo-files angegeben, ohne dabei auf Details einzugehen. Wichtig ist hier nur zu sehen, welche Teile sich in einem TeXinfo-file aufeinander folgen.
``Top'' Besteht aus zwei Teilen: == 1. Definition von Filename und Titelseite 2. Hauptmenu, in dem die Kapitel Kopf des TeXinfo-Files aufgelistet sind |
Kapitel 1 Erstes Kapitel |
Kapitel 2 Zweites Kapitel |
Kapitel X Letztes Kapitel |
Index In unserem File: sfs.texinfo sind es zwei: Verschiedene 1. Concept index (Stichwortverzeichnis) Stichwortverzeichnisse 2. Funktion index (File-, Funktionen- und Befehls-Namen) |
Hier werden noch zwei Inhaltsverzeichnisse Schluss des TeXinfo-Files erstellt: ``contents'' und ``shortcontents'' und das TeXinfo-File abgeschlossen: ``bye'' |
Das ganze lässt sich auch hierarchisch darstellen. Hier wird dabei schon angedeutet, dass die einzelnen Kapitel dann wieder in Unterkapitel (usw.) unterteilt sind.
Top | ----------------------------...-------------------------------- | | | | | Chapter 1 Chapter 2 Chapter X Index Contents | | | C & F -------- -------- -------- | | | | | | Section Section Section Section Section Section 1.1 1.2 2.1 2.2 X.1 X.2
Anhand eines Beispiels soll gezeigt werden, wie ein Kapitel aufgebaut ist. Dabei werden wieder zwei Darstellungsarten gewählt.
Dieser Informationsbaum kann sich bis ins vierte Glied verzweigen. Es werden also folgende Ebenen unterschieden:
Top Ist sozusagen der Stamm des Des Informationsbaums Kapitel 1. Ebene (chapter) Unterkapitel 2. Ebene (section) Abschnitt 3. Ebene (subsection) Unterabschnitt 4. Ebene (subsubsection)
In unserem Beispiel wird nur bis in die dritte Ebene geschachtelt. Alles
weitere geht völlig analog.
Zuerst also die Verzweigungen und Inhalte hierarchisch dargestellt:
Chapter 1 | Menu | ------------------------------------------------- | | | Section 1.1 Section 1.2 Section 1.3 | | | Index-Eintrag Menu Index-Eintrag | Text ------------ Text | | Subsection Subsection 1.2.1 1.2.2 | | Index-Eintrag Index-Eintrag Text Text
Im TeXinfo-file folgen sich die einzelnen Elemente, die in diesem Baum dargestellt sind, wie es hier unten aufgeführt ist.
Hier werden zwei Dinge festgelet 1. In welchem Zusammenhang steht das Kapitel Kopf des ``chapters 1'' d.h. welches ist das vorgänige und welches das nachfolgende Kapitel 2. Titel des Kapitels |
Einleitende Bemerkung (fakultativ) nicht mehr als etwas 3 Zeilen |
Wie auf der Ebene ``Top'' durch das Menu eine Menu Übersicht über die vorhandenen Kapitel gegeben wurde, geschieht hier das gleiche für die Unterkapitel. |
Kopf der ``Section 1.1'' Analog zum Kopf des Kapitels, nur auf der Ebene Unterkapitel |
Index-Eintrag Falls ein Eintrag in die Stichwortverzeich- nisse geschehen soll, muss das hier angegeben werden |
Text Information, die unter dem Titel dieser Section effektiv festgehalten werden soll |
Kopf der ``Section 1.2'' Analog zum Kopf des Kapitels, nur auf der Ebene Unterkapitel |
Wie auf der Ebene ``chapter'' durch das Menu eine Übersicht über die vorhandenen Menu ``sections'' gegeben wurde, geschieht hier das gleiche für die ``subsections''. |
Kopf der ``Subsection 1.2.1'' Analog zum Kopf des ``chapters'', nur auf der Ebene ``subsection'' |
Index-Eintrag Eintrag in die Stichwortverzeichnisse |
Text Information, die unter dem Titel dieser Subsection effektiv festgehalten werden soll |
Kopf der ``Subsection 1.2.2'' Analog zum Kopf des ``chapters'', nur auf der Ebene ``subsection'' |
Index-Eintrag Eintrag in die Stichwortverzeichnisse |
Text Information, die unter dem Titel dieser Subsection effektiv festgehalten werden soll |
Kopf der ``Section 1.3'' Analog zum Kopf des Kapitels, nur auf der Ebene Unterkapitel |
Index-Eintrag Falls ein Eintrag in die Stichwortverzeich- nisse geschehen soll, muss das hier angegeben werden |
Text Information, die unter dem Titel dieser Section effektiv festgehalten werden soll |
Man sieht: Der effektive Informationstext erscheint immer erst am Ende eines Astes. Auf jeder weiterführenden Stufe hingegen tritt an Stelle des Textes ein Menu, das über die nächst tiefere Stufe Auskunft gibt. Dafür wird an den Stellen, wo die Information steht, mindestens ein Eintrag (=Suchbegriff) in das Stichwortverzeichnis gemacht.
Es erklärt sich hier schon teilweise, wie und v.a. wo neue Einträge ins TeXinfo-file eingefügt, bzw. überholte gelöscht werden können. Will man unter dem Oberbegriff des Kapitels eine neue “Section” einfügen hängt man diese einfach nach der letzten Section an (hier “Section 1.3”) (Natürlich kann eine neue Section auch irgendwo eingeschoben oder an den Anfang gestellt werden). Das gleiche gilt analog für jede tiefere Ebene der Hierarchie.
In den nächsten drei Abschnitten werden die einzelnen Teile, Kopf, Menu, Index-Eintrag, usw. konkret beschrieben.
Der Kopf eines “chapters”, einer “section”, “subsection” oder “subsubsection” wird auch Knoten (node) genannt. Es sind die Orte, wo sich der Informationsbaum verzweigt oder man am Ende eines Astes ankommt. So ein Knoten besteht idealerweise aus vier Zeilen. In diesem Beispiel betrachten wir den “Node” eines “chapters”.
@node Chapter 2, Chapter 3, Chapter 1, top @comment node-name, next, previous, up @chapter Titel des Kapitels 2 @c *********************************************************************
Auf die Befehle @comment
bzw. @c
folgen Kommentarzeilen.
Somit sind die 2. und 4. Zeile nicht notwendig, aber zur Bewahrung der
Übersicht sehr hilfreich. Je nachdem auf welcher Ebene man sich befindet,
wird in der 4. Zeile entweder “***”, “===”, “—”, oder “...”
verwendet.
Die erste Zeile ist wohl die wichtigste. Durch sie wird das “chapter” (die “section” etc.) in die Umgebung eingebettet.
In der dritten Zeile wird definiert, ob hier ein “chapter', eine “section”, eine “subsection” oder eine “subsubsection” folgt. Anschliessend folgt der Titel.
Hier noch eine Bemerkung, die direkt aus dem Manual über TeXinfo entnommen wurde:
Please Note: `Next' refers to the next node at the same hierarchical level in the manual, not necessarily to the next node within the TeXinfo file. In the TeXinfo file, the subsequent node may be at a lower level–a section-level node may follow a chapter-level node, and a subsection-level node may follow a section-level node. `Next' and `Previous' refer to nodes at the same hierarchical level.
Es ist sehr hilfreich für den Benützer, wenn die abgelegte Information
auch in einem Schlagwortverzeichnis schnell zu finden ist. Über dieses
Verzeichnis (Concept Index) ist es in der On-Line-Version dann möglich via
Mausklick direkt zur gesuchten Information zu springen, ohne den Baum zu
durchstöbern.
Hier im sfs.texinfo-file unterscheiden wir nur zwei verschiedene
Verzeichnisse. Das Stichwortverzeichnis und das Verzeichnis von File-,
Funktions- und Befehlsnamen.
Am Ende eines Astes, also dort, wo effektiv die Information steht, fügt man direkt nach dem Kopf die Index-verweise ein. Und zwar mit:
@cindex
lohnt sich, pro `Anfangsbuchstabe' höchstens ein Index
zu wählen, da die Verweise ja im Stichwortverzeichnis dann alphabetisch
sortiert sind.
Verzweigt sich der Infobaum an einer Stelle, so sollte nach einer eventuellen Kurzeinleitung der Befehl ‘menu’ gesetzt werden. Er bildet ein Paar mit dem Befehl ‘end menu’.
Das sieht also folgendermassen aus:
(fakultative Vorbemerkung) @menu @end menu
Die Einträge in dieses Menu-Feld erledigt der Emacs (see Texinfo-Mode). Man hat also nur dafür zu sorgen, dass die beiden obigen Zeilen vorhanden sind.
Querverweise, englisch `cross-references' werden zu X-references, wenn "cross", das Kreuz, durch "X", ein schiefes Kreuz, ersetzt wird.
Will man im Text auf eine andere Stelle im TeXinfo-file verweisen, dienen dazu die Befehle ‘@ref{node-name}’, ‘@xref{node-name}’ und ‘@pxref{node-name}’. Sie werden folgendermassen in den Text eingefügt:
Der Emacs-Editor (
@pxref{Emacs}) kann auch noch ...
Die obige Zeile setzt dabei voraus, dass es in dem TeXinfo-file einen Node mit Namen “Emacs” gibt. Sie erzeugt im gedruckten File dann folgenden Einschub:
Der Emacs-Editor (
see Chapter 2 [Emacs], page 6) kann auch noch ...
Unterschiede zwischen diesen Referenzen: @xref erzeugt ein "See ...", @ref ist wie '@xref' aber ohne "See", @pxref mit klein geschriebenem "see".
Hervorheben von Wörtern, Befehlen, File-namen, Directory-namen
@emph
@strong
@b{
text}
@i{
text}
@code{
text}
text
im fixed-width Font. Geeignet um ganze
Funktionsaufrufe hervorzuheben
@samp{
text}
@subheading
Titel@file{
filename} , @samp{
Befehl}
@t{}
und setzt den filename bzw.
den ‘Befehl’ oder was es dann ist zwischen einfache Anführungszeichen.
@key
@key{RETURN}
.
@kbd
@kbd{C-x @key{ESC}}
Strukturieren des Textes: Hier verwendet man in den einzelnen Punkten die Notation “@Befehl TEXT @end Befehl”. Das heisst, dass der TEXT eingeschlossen sein muss von @Befehl und @end Befehl und zwar folgendermassen:
@<Befehl> TEXT @end <Befehl>
@format
text @end format
Der Text wird im normalen Font (Roman) geschrieben und Zeilenumbrüche werden aus dem Source-File übernommen. Der Text wird nicht eingerückt.
@display
text @end display
Der Text wird im normalen Font (Roman) geschrieben und Zeilenumbrüche werden aus dem Source-File übernommen. Der Text wird eingerückt.
@quotation
text @end quotation
Der Text wird im normalen Font (Roman) geschrieben und auch “umgebrochen”, d.h. Zeilenumbrüche werden aus dem Source-File nicht übernommen. Der Text wird eingerückt.
@example
text @end example
Der Text wird im fixed-width Font geschrieben und Zeilenumbrüche werden aus dem Source-File übernommen. Der Text wird eingerückt.
@*
Aufzählungen, Nummerieren
@table @<Zusatz>
@table @<Zusatz> @item Erster Eintrag Erklärungen zum ersten Eintrag @item Zweiter Eintrag Erklärungen zum zweiten Eintrag @end table
Dabei muss man noch einen Zusatz hinzufügen, der näheres über den Stil oder die Art der Einträge aussagt (sind z.B. alles File-namen), oder alle Einträge speziell hervorhebt. Als Zusätze können folgende Befehle verwendet werden:
@samp
auf alle Einträge an.
@file
auf alle Einträge an.
@code
@ftable @<Zusatz>
@table
, aber zu jedem item gibt es automatisch einen
Eintrag in den Index.
@itemize @<Zusatz>
@itemize @<Zusatz> @item Text zum ersten Punkt. @item Text zum zweiten Punkt @end itemize
WICHTIG: nach @item
darf hier nichts stehen! Also anders als bei
@table
. Was dort geschriegen steht wird für das *.info-file
sonst einfach ignoriert.
Als Zusätze können hier @bullet, @minus
und @result
verwendet werden.
@enumerate
@enumerate @item Text zum ersten Punkt. @item Text zum zweiten Punkt @end enumerate
Hier können keine weiteren Zusätze verwendet werden.
Was zusammen gehört soll zusammen bleiben
@w{
text}
text
durch einen Zeilenumbruch
auseinandergeschnitten wird.
@group
text @end group
@goup
und @end group
soll durch einen
allfälligen Seitenumbruch nicht getrennt werden.
@node
name, next, prev, up@chapter, @section, @subsection, @subsubsection
title@comment
bzw. @c
@cindex
@findex
@xref{
node-name}
@pxref
@menu und @end menu
@page
@@
@{ , @}
Folgende Befehle sind im TeXinfo-Mode speziell nützlich:
C-c C-u C-a
C-c C-u RET
C-c C-u C-e
C-x [
C-x ]
C-c C-s
30:@chapter Arbeiten mit Texinfo 53:@section Aufbau eines Texinfo-Files 84:@section Aufbau und Grobstruktur des TeXinfo-Files 98:@subsection Aufbau des ganzen TeXinfo-Files 159:@subsection Aufbau eines Kapitels ...usw. bis: 714:@section Installieren einer neuen Info-Version 735:@section Tips und worauf man achten muss
Dabei gibt die vorgestellte Zahl die Zeilennummer an, in der das Kapitel,
die Section oder was es gerade ist, anfängt.
C-c C-c C-n
@node @comment node-name, next, previous, up
und setzt den Cursor gleich hinter das @node.
C-c C-c C-{i,e,s,f,...}
i,e,s,f,...
stehen, kann im Help-Mode vom Emacs (mit C-h m) noch
nachgeschaut werden.
C-c C-u C-a :
All Menu update und C-c C-u C-e :
Every Node update, Siehe Texinfo-Mode.sfs.info
, so
dass der ganze Befehl nachher heisst:
Wenn das Kompilieren geklappt hat, kann man das sfs.texinfo wieder
einchecken (C-x v v
). Zum Installieren der neuen Version führt man
make install
aus. Dies erstellt das .dvi und das .html File und
kopiert alles in die richtigen Directories.
C-x v v
)
C-c C-u C-a
und C-c
C-u C-e
)
make -k sfs.info
C-u C-h i sfs.info
(nachher Buffer killen?)
C-x v v
)
make install
~
: Emacs Backup-Files@{ , @}
: Spezialzeichen@@
: Spezialzeichen@*
: Text#
: Emacs Backup-Files2on1
: Dvi-Files4on1
: Dvi-Filesaliases
: SfS Defaultsapply
: apply und for-loop@asis
: Befehleaxe
: Nuetzliche Befehlebase64-decode
: Nuetzliche Befehlebibtest
: btt-bibtestbook-bib
: btt-bibtest@b{
text}
: Textbtt
: btt-bibtestbtt (BIBTeX Tool)
: btt-bibtest@bullet
: Befehlecalendar
: VortragsankuendigungC-c C-c C-{i,e,s,f,...}
: Texinfo-ModeC-c C-c C-n
: Texinfo-ModeC-c C-s
: Texinfo-ModeC-c C-u C-a
: Texinfo-ModeC-c C-u C-e
: Texinfo-ModeC-c C-u RET
: Texinfo-Mode@chapter, @section, @subsection, @subsubsection
title: File@cindex
: File@code{
text}
: Text@comment
bzw. @c
: Filecompress
: Files komprimieren.cshrc
: SetupfilesC-x [
: Texinfo-ModeC-x ]
: Texinfo-Modedata.dump()
: data.dump und data.restoredata.restore()
: data.dump und data.restoredeb-show
: Nuetzliche BefehleDecode
: Nuetzliche Befehle@display
text @end display
: Textdos2unix
: Zeichensatzkonvertierungdvidvi
: Dvi-Filesdvips
: Dvi-Filesdvips.prt
: Druckbefehle Latexdviselect
: Dvi-Filese <file>
: Nuetzliche Befehle.emacs
: Setupfilesemail
: Nuetzliche BefehleE-Mail Client
: E-Mail Client@emph
: Text@enumerate
: Texteps2pdf
: PostScript Toolsesh
: Nuetzliche Befehle/etc/aliases
: SfS Defaults/etc/hosts
: SFS-InfosEthics2bib
: btt-bibtestethtel
: Nuetzliche Befehleethtel <Name>
: Nuetzliche Befehle@example
text @end example
: Textf2c (Fortran --> C)
: Uebersetzer in Cf77
: Fortran@file{
filename} , @samp{
Befehl}
: Text@findex
: File.First [S(plus)]
: .Firstf.lm
: f.lmf.log
: f.logformatC()
: formatC@format
text @end format
: Textfrom
: Nuetzliche Befehlef.rreg
: rreg@ftable @<Zusatz>
: TextGdiff
: Nuetzliche Befehlegimp (GNU Image Manipulation Program)
: Nuetzliche Befehleglatex
: German-LaTeXgnome_init
: Gnome/Kde SetupGnum
: Nuetzliche Befehlegoodies.Data
: SfS Goodies@group
text @end group
: Textgtex
: German-LaTeXgv
: gv - ghostviewgz
: gv - ghostviewhelp
: Nuetzliche Befehlehist.bxp
: hist.bxpIBM2ascii
: ZeichensatzkonvertierungIBM2ascii
: Nuetzliche Befehleimslhelp
: Libraries@itemize @<Zusatz>
: Text@i{
text}
: TextKafi
: Nuetzliche Befehle@kbd
: Textkde_init
: Gnome/Kde Setup@key
: Textkill
: Nuetzliche Befehlekilll
: Nuetzliche Befehlekuickshow
: Nuetzliche Befehlekview
: Nuetzliche Befehle.Last [S(plus)]
: .Lastlatex2html
: Nuetzliche Befehlelibrary()
: S-library() slm (robust)
: lmlog
: Nuetzliche Befehle.login
: Setupfiles.logout
: Setupfileslower und lowerVMS
: Nuetzliche Befehlelsf()
: lsfls.str() und lsf.str()
: ls.str und lsf.strmailrc
: SfS Defaults.mailrc
: Setupfilesmake.bibtex.keys
: btt-bibtestmake-ref
: Referenzlistemcopy
: Externe Speichergerätemdir, mcopy, mcd u.a.
: Externe Speichergerätemean.corr
: mean.corr@menu und @end menu
: File@minus
: Befehlem (more)
: Nuetzliche Befehlemmreg
: mmregmotif()
: Allgemeinesmotif()
: Graphiken erstellenmunpack
: allgemeine Emacs Tastenmunpack
: Nuetzliche Befehle@node
name, next, prev, up: Fileopenlook()
: Allgemeinesown
: Nuetzliche Befehlep2c (Pascal --> C)
: Uebersetzer in C@page
: Fileplot.function()
: plot.functionplot.step
: plot.steppostscript()
: postscriptp.pairs
: p.pairsp.plot.col()
: p.plot.colp.plot.lm
: p.plot.lmp.plot.text()
: p.plot.textprocmail
: E-mail Vorsortieren.procmailrc
: E-mail Vorsortieren.procmailrc
: E-mail Spezialitaetenprt -1
: allgemeine Druckbefehleprt2
: Druckbefehle Latexprt2k
: Druckbefehle Latexprt.Cfolie
: allgemeine Druckbefehleprt.CfolieRZ
: allgemeine Druckbefehleprt -col
: allgemeine Druckbefehleprt.colorRZ
: allgemeine Druckbefehleprt.fax
: Faxprt <file>
: allgemeine Druckbefehleprt <file>
: Nuetzliche Befehleprtman <filename>
: allgemeine Druckbefehleprtman <filename>
: Nuetzliche Befehleprt -w
: allgemeine Druckbefehleps2on1
: PostScript Toolsps2on1
: Nuetzliche Befehlepsbook
: PostScript Toolsps.do
: postscriptps.do
: Graphiken einbindenps.do
: ps.latexps.end
: ps.latexps.latex
: postscriptps.latex
: ps.latexpsnup
: PostScript Toolspsnup, pdfnup
: Nuetzliche Befehlepsrev
: PostScript Toolspsselect
: PostScript Toolspstops
: PostScript Toolsp.sunflowers
: p.sunflowersp.tachoPlot
: p.tachoPlotp.triangle()
: p.trianglep.ts
: p.tsp.wstPlot
: p.wstPlot@pxref
: Fileqp-decode
: Nuetzliche Befehle@quotation
text @end quotation
: Textquota -v
: Nuetzliche BefehleR BATCH Jobs
: R BATCHrecode
: Zeichensatzkonvertierungrecode
: Nuetzliche Befehlerecode, tr.CR, trIBM2tex, IBM2ascii
: Nuetzliche Befehle@result
: Befehle@samp{
text}
: Textsfstel
: Nuetzliche Befehleshell
: shellSilva
: Silvaspell
: Nuetzliche Befehlespiff
: Nuetzliche Befehlessh
: Nuetzliche Befehlestr()
: str@strong
: Text@subheading
Titel: Textsymbols()
: symbolssynchronize()
: synchronize@table @<Zusatz>
: TextTA.plot
: TA.plottar tardir untardir
: Files komprimierentop
: Nuetzliche Befehletr.CR [-d] (transform <CR>)
: ZeichensatzkonvertierungtrIBM2tex
: Nuetzliche BefehletrIBM2tex [-d]
: Zeichensatzkonvertierung.twmrc
: Setupfilesu.Datumvonheute()
: u.Datumvonheuteu.dev.default
: u.dev.defaultuebgrep
: Uebgrepu.extract()
: u.extractu.merge
: u.mergeuncompress
: Files komprimierenunix2dos
: Zeichensatzkonvertierungu.setaspect
: u.setaspectuuencode
: allgemeine Emacs Tastenvacation
: Abwesenheits-Antwort.vacation.msg
: Abwesenheits-Antwortvulcanize
: Nuetzliche BefehleWebmail
: Webmail@w{
text}
: TextX11()
: Allgemeinesxcalc
: Taschenrechnerxcdplayer
: Verschiedene X11 Programme.Xdefaults
: X11 Setupxdvi
: Dvi-Files.xinitrc
: Setupfiles.xinitrc und .xinitrc.all
: X11 Setupxmartin
: Verschiedene X11 Programme@xref{
node-name}
: Filex_soundtool
: Musicxtetris
: Verschiedene X11 Programmexv
: Nuetzliche Befehlezero()
: zero—
ps.do(..., do.color = T,...)
: Farb-PostScript