Unix mini-HOWTO voor medewerkers Alfa-Informatica

Vragen, opmerkingen, aanvullingen naar:
kleiweg@let.rug.nl

Laatste wijziging:
7 februari 2005 (minimale wijziging)
Dit spul is oud, mogelijk te oud

Dit is de lijst met grote en kleine weetjes voor het gebruik van Unix door medewerkers bij Alfa-Informatica. De meest recente versie van dit document kan gevonden worden op: http://www.let.rug.nl/~kleiweg/faq/

Let op: Het volgende geldt alleen voor HP-UX.

Inhoud


Environment variabelen

PATH

Je moet in je ~/.profile de variabele PATH definiëren. Er zijn vier verschillende manieren om het standaard PATH te zetten. Welke je kiest bepaalt welke versies van verschillende programma's je gebruikt.

Zo zet je het standaard PATH voor HP-UX:

    export PATH=`/usr/bin/cat /etc/PATH`

Als je liever de GNU versies van programma's gebruikt dan de standaard HP versies, maar wel de HP C compiler, dan zet je het PATH zo:

    export PATH=`/usr/bin/cat /etc/GNU_PATH`

Als je liever de GNU versies van programma's en de GNU C compiler gebruikt, dan zet je het PATH zo:

    export PATH=`/usr/bin/cat /etc/GCC_PATH`

Als je liever de GNU versies van programma's en de GNU C compiler voor Linux gebruikt, dan zet je het PATH zo:

    export PATH=`/usr/bin/cat /etc/EGCS_PATH`

Uiteraard kun je een user bin-directory toevoegen:

    export PATH=`/usr/bin/cat /etc/GCC_PATH`:$HOME/bin

MANPATH

Voor de juiste werking van het programma man moet je het volgende in je ~/.profile zetten:
    export MANPATH=`/usr/bin/cat /etc/MANPATH`
Als je PATH naar de GNU-versies van programma's wijst, dan kun je MANPATH naar de bijbehorende manpages laten wijzen:
    export MANPATH=`/usr/bin/cat /etc/GNU_MANPATH`
Als je ook in je userdirectory manpages toevoegt kun je zoiets gebruiken:
    export MANPATH=`/usr/bin/cat /etc/MANPATH`:$HOME/man  

ISO Latin 1

iso-8859-1

Voor wie er zeker van is dat zijn of haar browser ISO Latin 1 (iso-8859-1) correct weergeeft is hier een volledig overzicht in HTML.

ISO Latin 1 is ook in PostScript beschikbaar.

Om te kijken of een applicatie (editor, xterm, etc.) de juiste tekenset voor ISO Latin 1 gebruikt kan één van de volgende testbestanden gebruikt worden, en worden vergeleken met de uitvoer van het PostScript bestand:

Voor het testen van de beschikbare fonts op de X server kan gebruik gemaakt worden van het volgende programma:

/users1/kleiweg/bin/xfonts

Spellingscontrole Nederlands

Er is een Nederlandse woordenlijst voor spellingscontrole met het programma ispell aanwezig. Vanuit Emacs is het gebruik simpel: Geef eerst het commando ispell-change-dictionary en kies voor nederlands8 (let op: niet nederlands), en gebruik daarna de gebruikelijke commando's ispell-word, ispell-region en ispell-buffer.

De lijst nederlands8 gaat er van uit dat de ISO Latin 1 karakterset wordt gebruikt.

Gebruik van ISO Latin 1 in GNU Emacs

Om de ISO Latin 1 karakters zichtbaar te maken (bv é i.p.v. \351), voeg het volgende toe aan .emacs:
    ;;; Karaktercodes 160 t/m 255 zichtbaar
    (standard-display-european t)

Voor het intypen van letters met accenten kan iso-accents-mode gebruikt worden. (Een alternatief is double-mode.) Deze zet je aan met het commando iso-accents-mode (eerst M-x). Weer uitschakelen doe je door opnieuw dit commando te geven. Als iso-accents-mode aanstaat kun je door simpele toetscombinaties letters met accenten invoeren, bijvoorbeeld: 'e geeft é. Voor een compleet overzicht van geldige lettercombinaties type je de reeks: C-H F iso-accents-mode RET

Gebruik van ISO Latin 1 in XEmacs

Voor het intypen van letters met accenten in XEmacs kan, behalve het onder Gebruik van ISO Latin 1 in GNU Emacs besproken iso-accents-mode, gebruik worden gemaakt van x-compose. Daartoe voeg je in .emacs toe:
    (load-library "x-compose")
Vervolgens kun je met rechter-alt knop gevolgd door bv "u accenten en dergelijke krijgen.

Eventueel moet je zorgen dat je rechter alt knop goed gedefiniëerd is: dat gaat met het xmodmap commando. Plaats in het bestand .xmodmaprc:

remove Mod1 = Mode_switch
remove mod1 = Alt_R
keysym Alt_R = Multi_key
Vervolgens voeg je dan het volgende commando toe in een of ander start bestand (.dtprofile of .x11start als je fvwm gebruikt):
xmodmap $HOME/.xmodmaprc

euro De Euro

Unicode

Het symbool voor de euro is opgenomen in Unicode als U+20AC.

iso-8859-15

Het eurosymbool is opgenomen in tekenset iso-8859-15, ook bekend als Latin9. Het is de bedoeling dat iso-8859-1 uiteindelijk vervangen wordt door iso-8859-15. Hier is een overzicht van de verschillen tussen iso-8859-1 en iso-8859-15.

LaTeX

Om het symbool voor de euro in LaTeX te krijgen gebruik je het volgende:

Head:
\usepackage{eurofont}
Body:
\euro
\euros{12.34}
Het commando \euro genereert het eurosymbool.

Het commando \euros{12.34} genereert het eurosymbool met de waarde 12.34. Het eurosymbool wordt links van de waarde geplaatst, tenzij eurofont geladen is dmv \usepackage[right]{eurofont}.

Wanneer PostScript-fonts gebruikt worden (bijv.: \usepackage{times}) dan wordt het eurosymbool ook met een PostScript-font weergegeven. De PostScript-euro ziet er beter uit dan de Metafont-euro.

Omrekening

Met euro.el kunnen in GNU Emacs / XEmacs waarden omgerekend worden tussen Euro en valuta van de deelnemende landen.

Printen

Zie Printing Information

SGML (en HTML)

Bewerken en parsen van SGML (dus ook HTML) met PSGML in Emacs

PSGML is een pakket voor Emacs waarmee SGML documenten geschreven en gecontroleerd kunnen worden, als de juiste DTD's aanwezig zijn. Er zijn DTD's geïnstalleerd voor HTML 3.2, HTML 4.0 en HTML 4.01. Wie PSGML wil gebruiken dient het volgende in .emacs te plaatsen:
;;; SGML
(setq load-path (cons "/users1/kleiweg/emacs/psgml" load-path))
(autoload 'sgml-mode "psgml" "Major mode to edit SGML files." t)
(setq
    sgml-validate-command
    "nsgmls -s -degru -wall -m/users1/kleiweg/sgml/catalog -m/users1/kleiweg/sgml/HTML4.01/HTML4.cat -m/users1/kleiweg/sgml/HTML4.0/HTML4.cat /users1/kleiweg/sgml/%s %s")
(setq sgml-custom-dtd '(
    ("HTML 3.2"
     "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\">"
     sgml-declaration "html.decl"
     sgml-omittag t
     sgml-shorttag nil)
    ("HTML 3.2 - Deprecated"
     "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Deprecated//EN\" [
<!ENTITY % HTML.Deprecated \"INCLUDE\"> ]>"
     sgml-declaration "html.decl"
     sgml-omittag t
     sgml-shorttag nil)
    ("HTML 4.0"
     "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\"
        \"http://www.w3.org/TR/PR-html40/strict.dtd\">"
     sgml-declaration "HTML4.0/HTML4.decl"
     sgml-omittag t
     sgml-shorttag nil)
    ("HTML 4.0 Transitional"
     "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"
        \"http://www.w3.org/TR/PR-html40/loose.dtd\">"
     sgml-declaration "HTML4.0/HTML4.decl"
     sgml-omittag t
     sgml-shorttag nil)
    ("HTML 4.0 Frameset"
     "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Frameset//EN\"
        \"http://www.w3.org/TR/PR-html40/frameset.dtd\">"
     sgml-declaration "HTML4.0/HTML4.decl"
     sgml-omittag t
     sgml-shorttag nil)
    ("HTML 4.01"
     "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"
        \"http://www.w3.org/TR/html40/strict.dtd\">"
     sgml-declaration "HTML4.01/HTML4.decl"
     sgml-omittag t
     sgml-shorttag nil)
    ("HTML 4.01 Transitional"
     "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"
        \"http://www.w3.org/TR/html40/loose.dtd\">"
     sgml-declaration "HTML4.01/HTML4.decl"
     sgml-omittag t
     sgml-shorttag nil)
    ("HTML 4.01 Frameset"
     "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Frameset//EN\"
        \"http://www.w3.org/TR/html40/frameset.dtd\">"
     sgml-declaration "HTML4.01/HTML4.decl"
     sgml-omittag t
     sgml-shorttag nil)))
(setq
    sgml-catalog-files
    '("/users1/kleiweg/sgml/catalog"
      "/users1/kleiweg/sgml/HTML4.01/HTML4.cat"
      "/users1/kleiweg/sgml/HTML4.0/HTML4.cat"))
(setq
    sgml-ecat-files
    '("/users1/kleiweg/sgml/DTD.ecat"
      "/users1/kleiweg/sgml/HTML4.01/DTD.ecat"
      "/users1/kleiweg/sgml/HTML4.0/DTD.ecat"))
(setq
    sgml-omittag-transparent
    t)

;;; HTML
(setq auto-mode-alist
  (append '(("\\.html$"      . sgml-mode)
            ("\\.html\\.nl$" . sgml-mode)
            ("\\.html\\.en$" . sgml-mode)
            ("\\.htm$"       . sgml-mode)
           ) auto-mode-alist))
De belangrijkste commando's:
Shift+rechter muisknop
Geeft pop-up menu met een lijst van geldige tags die op plaats van de tekstcursor ingevoegd kunnen worden.
Shift+rechter muisknop, als de tekstcursor in een tag staat
Geeft pop-up menu met een lijst van geldige attributen die aan de tag toegevoegd kunnen worden
C-C C-O
Parse het document, plaatst cursor bij eerstvolgende fout.
&ea Alt-Tab
Voltooiing van HTML code beginnend met &ea
Voor meer informatie, kijk op http://www.let.rug.nl/~kleiweg/psgml/psgml_toc.html

Gebruik van ISO Latin 1 in HTML

Wil je dat ispell je Nederlandse documenten kan verwerken, dan kun je geen HTML codes voor speciale tekens in je tekst gebruiken. Een woord als re&euml;el wordt door ispell niet herkend. Gebruik daarom de volledige ISO Latin 1 karakterset tot het document definitief is voltooid, en het gebruik van ispell niet meer nodig is.

Tijdens het testen van je document kun je gerust 8bit ISO Latin 1 tekens gebruiken, omdat Netscape standaard dezelfde tekenset gebruikt. Voor een definitieve versie is het echter verstandig om de 8bit tekens om te zetten in 7bit codes. Emacs functies die hiervoor zorgen zijn latin-to-html-buffer en latin-to-html-region, beiden te vinden in:

  /users1/kleiweg/emacs/lathtml.elc

Bij het gebruik van deze functies moet je even oppassen als je document al HTML opmaakcodes bevat, want de functies kunnen ook de volgende reeks symbolen vertalen:

< > & "
Wanneer je de functies gebruikt en er wordt bijvoorbeeld een '<' aangetroffen, dan krijg je de vraag:
  Convert to HTML? Y)es N)o R)est Q)uit
Toets je Y dan wordt dit teken veranderd in de reeks &lt;, toets je N dan wordt het niet veranderd. Toets je R dan worden vanaf dit punt zonder vragen niet alleen alle '<' veranderd, maar ook alle '>', '&' en '"'. Dit is handig als eerste stap als je een ongeformatteerd tekstbestand wilt omzetten naar HTML, maar desastreus als er al HTML codes in het document staan. Tenslotte, toets je Q, dan worden de vier genoemde symbolen verder genegeerd, maar worden wel automatisch alle 8bit tekens omgezet naar HTML codes.

Taalondersteuning op het Web

Op het World-Wide Web kunnen documenten in meerdere talen aangeboden worden. In welke taal je een document ontvangt hangt af van de configuratie van de browser. Als je in je browser hebt aangegeven dat je voorkeurstaal Nederlands is, dan ontvang je (indien aanwezig) een Nederlandse versie van het document waarom je verzocht. De homepage van Alfa-Informatica maakt gebruik van deze techniek.

Hieronder volgen twee voorbeelden voor het instellen van de browser. Nederlands is de eerste keus, Engels de tweede keus.

Gebruikers van Lynx:

Start Lynx, en type `O' om in `Options Menu' terecht te komen. Maak daarin de volgende verandering:

    preferred document lan(G)uage: nl; q=1.0, en; q=0.9

Gebruikers van Netscape 4:

Klik op Edit -> Preferences -> Navigator Languages. Klik op `Add' en vul in bij `Others':

    nl; q=1.0
Nogmaals, en vul in:
    en; q=0.9
Verwijder andere entries, en zorg ervoor dat `nl' bovenaan komt te staan. Zie dit voorbeeld.

Het is onder Netscape niet voldoende om Nederlands en Engels uit de beschikbare lijst te selecteren en in de juiste volgorde te zetten, veel http servers trekken zich niets van de volgorde aan om te kijken welke taal het belangrijkste is, maar beslissen op basis van de q-waarde.


Netscape

Mail

Wie Netscape Mail wil gebruiken dient in Netscape onder preferences mail server op te geven dat een externe movemail applicatie gebruikt moet worden, en wel de volgende:
/opt_local/opt/netscape/bin/movemail
De overige instellingen spreken voor zich.

Houd rekening met het volgende: Het gebruik van movemail door Netscape verplaatst berichten uit de INBOX in een Inbox in de mail-directory onder de home directory. Hieruit zijn de berichten niet meer leesbaar met andere mail programma's. Eerst moeten ze vanuit Netscape uit Inbox handmatig naar een andere folder worden geplaatst.

Helpers

Op HP-UX bij Letteren kunnen in Netscape de volgende helpers gedefiniëerd worden (Navigator Applications):

Images

GIF, JPEG, X Bitmap
[Navigator]
De meeste image formaten
[Application] xv %s
[Application] xpaint %s
``Text'' documenten
PostScript
[Application] gv %s
Portable Document Format (PDF)
[Plug-in] nppdf.so (start Netscape met de -no-install optie, anders is de tekst onleesbaar)
[Application] acroread %s (werkt niet voor embedded PDF)
TeX DVI Data
[Application] xdvi %s
Onbekend
[Application] xterm -e less %s
Video
MPEG
[Application, nog niet aanwezig?] mtv -z %s
  geluid uit: optie -a0
Overigen
[Application] xanim -Ss2 %s
  geluid uit: optie -Ae
  groter beeld: optie -Ss3, -Ss4
Audio

(Niets)

Virtual reality

VRML
[Application, nog niet aanwezig?] vrweb -URL '%u' -remote %s

gcc

Het volgende betreft het gebruik van gcc op de machine odur. Bericht van Shoji over problemen met gcc (25 Feb 1999):
The reason is that I have updated gcc/g++ from 2.7.2.2 to 2.8.1 and removed 2.7.2.2 which had shared libraries. So all programs which were compiled with old gcc/g++ must be recompiled.

However some of programs like only version 2.7.2.2. So I have reinstalled version 2.7.2.2 into /opt_local/opt/gcc-2.7.2.2.

If you want to use version 2.8.1 (linked to /opt_local/opt/gcc) you must set PATH=/usr/local/bin:$PATH

if you want to use version 2.7.2.2 you must set PATH=/opt_local/opt/gcc-2.7.2.2/bin:/usr/local/bin:$PATH

Also if you want to use EGCS(Linux gcc/g++) version you must set PATH=/usr/local/egsc/bin:/usr/local/bin:$PATH