home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 August / PCWorld_1999-08_cd.bin / doc / HOWTO / Danish-HOWTO < prev    next >
Text File  |  1999-03-02  |  32KB  |  1,057 lines

  1.   The Linux Danish/International HOWTO
  2.   Niels Kristian Bech Jensen, nkbj@sslug.dk
  3.   v2.5, 20 February 1999
  4.  
  5.   This document describes how to configure Linux and various Linux
  6.   applications for Danish locale standards such as keyboard, font,
  7.   paper-size etc. It is hoped that Linux users from other places in
  8.   Western Europe will find this document useful too.
  9.   ______________________________________________________________________
  10.  
  11.   Table of Contents
  12.  
  13.  
  14.   1. Introduction
  15.  
  16.   2. Keyboard setup
  17.  
  18.      2.1 Loading a keytable
  19.      2.2 Getting the AltGr key to work under X11
  20.         2.2.1 Making {, [, ] and } work under Metro-X
  21.      2.3 Dead keys and accented characters
  22.         2.3.1 Removing dead key functionality
  23.         2.3.2 Invoking dead key functionality
  24.      2.4 Making $ (the dollar sign), ° (oslash) and ╪ (Oslash) work
  25.         2.4.1 $ (the dollar sign)
  26.         2.4.2 ° (oslash) and ╪ (Oslash)
  27.  
  28.   3. Display and application setup
  29.  
  30.      3.1 Loading the ISO-8859-1 font on the console
  31.      3.2 The Euro symbol
  32.      3.3 Characters you can display under Linux
  33.      3.4 International character sets in specific applications
  34.  
  35.   4. Miscellaneous problems
  36.  
  37.      4.1 Time zone
  38.      4.2 A4 papersize
  39.      4.3 Text file formats for other platforms
  40.  
  41.   5. Locale support in libc 5.4.x and higher
  42.  
  43.   6. Programming tips for X11
  44.  
  45.   7. Getting X11 applications to speak Danish
  46.  
  47.   8. Information resources
  48.  
  49.      8.1 Other documents of relevance
  50.      8.2 FTP and Web sites
  51.  
  52.   9. Credits and legal stuff
  53.  
  54.      9.1 Legal stuff
  55.  
  56.  
  57.   ______________________________________________________________________
  58.  
  59.   1.  Introduction
  60.  
  61.   All European users of almost any operating system have two problems:
  62.   The first is to tell the computer that you have a non-American
  63.   keyboard, and the second is to get the computer to display the special
  64.   characters. To make matters worse some applications will also consider
  65.   you an exception if you are not an American and require special
  66.   options or the setting of environment variables.
  67.   Under Linux you change the way your computer interprets the keyboard
  68.   with the commands loadkeys and xmodmap. loadkeys will modify the
  69.   keyboard for plain Linux while xmodmap makes the modifications
  70.   necessary when the handshaking between X11 and Linux is imperfect.
  71.  
  72.   To display the characters you need to tell your applications that you
  73.   use the ISO-8859-1 (a.k.a. Latin-1) international set of glyphs. This
  74.   is not always necessary, but a number of key applications need special
  75.   attention.
  76.  
  77.   This HOWTO is intended to tell Danish users how to do this. If you
  78.   continue to have problems after reading this you can try the German
  79.   HOWTO, the Linux Keyboard and Console HOWTO or the ISO 8859-1 National
  80.   Character Set FAQ. Many of the hints contained herein are cribbed from
  81.   there. See section ``Other documents of relevance'' for pointers to
  82.   these documents. You should also send me a mail describing your
  83.   problems.
  84.  
  85.   A final problem is that error-messages, menus and documentation of the
  86.   applications are mostly in English. There is a GNU project under way
  87.   to address this problem. You can see what it is all about by
  88.   downloading the file ABOUT-NLS or the package gettext-0.10.tar.gz (or
  89.   any later version) from your favourite mirror of the GNU archive. This
  90.   project needs volunteers for the translations. Send a mail to da-
  91.   request@li.org with the body ``subscribe'' if you want to contribute
  92.   to the Danish part of the project. The documentation in the gettext
  93.   package describes how to use such translations in your own programs.
  94.  
  95.  
  96.   2.  Keyboard setup
  97.  
  98.   2.1.  Loading a keytable
  99.  
  100.   You have two tools for configuring your keyboard. Under plain Linux
  101.   you have loadkeys and under X11 you have xmodmap.
  102.  
  103.   To try out loadkeys type one of these two commands:
  104.  
  105.   loadkeys /usr/lib/kbd/keytables/dk.map
  106.  
  107.  
  108.   or
  109.  
  110.   loadkeys /usr/lib/kbd/keytables/dk-latin1.map
  111.  
  112.  
  113.  
  114.   The difference between the two keymaps is that dk-latin1.map enables
  115.   `dead' keys while dk.map does not. Dead keys are explained in section
  116.   ``Dead keys and accented characters''. The program loadkeys and the
  117.   keymaps are part of the package kbd-0.??.tar.gz which (with differing
  118.   version numbers ??) is available with all Linux distributions.
  119.  
  120.   Usually loadkeys is executed at boot-time from one of the scripts
  121.   under the directory /etc/rc.d/. Details vary between distributions.
  122.  
  123.   (Note for non-Danish readers: Support for other languages is enabled
  124.   in a similar manner. Use es.map for Spanish keyboards etc.)
  125.  
  126.   Versions of XFree86 up to and including v3.1.2 will normally follow
  127.   the keymap used by plain Linux, but you can modify keyboard behavior
  128.   under X11 with xmodmap. Usually the X11 initialization process will
  129.   run this command automatically if you have a file called .Xmodmap in
  130.   your home directory.
  131.  
  132.  
  133.   In XFree86 v3.2 and higher you should have the following Keyboard
  134.   section in your /etc/XF86Config file (it is made automatically by the
  135.   program XF86Setup if you choose a Danish keytable):
  136.  
  137.   Section "Keyboard"
  138.      Protocol        "Standard"
  139.      XkbRules        "xfree86"
  140.      XkbModel        "pc101"
  141.      XkbLayout       "dk"
  142.      XkbVariant      "nodeadkeys"
  143.   EndSection
  144.  
  145.  
  146.  
  147.   The only keyboard variant available at the moment is "nodeadkeys", but
  148.   dead keys can still be made to work. See section ``Dead keys and
  149.   accented characters'' for more information on this.
  150.  
  151.  
  152.   2.2.  Getting the AltGr key to work under X11
  153.  
  154.   For versions of XFree86 up to and including v3.1.2 you should edit the
  155.   file /etc/X11/XF86Config (or possibly /etc/XF86Config) and make sure
  156.   the line
  157.  
  158.   RightAlt    ModeShift
  159.  
  160.  
  161.   appears in the Keyboard section. Usually you can do this by uncomment¡
  162.   ing the appropriate line. In XFree86 v3.1.2 you can use AltGr as an
  163.   alias for RightAlt.
  164.  
  165.   The AltGr key should work as expected in XFree86 v3.2 and higher if
  166.   you choose Danish keyboard support.
  167.  
  168.  
  169.   2.2.1.  Making {, [, ] and } work under Metro-X
  170.  
  171.   You can't input the characters ``{'' (<AltGr><7>), ``['' (<AltGr><8>),
  172.   ``]'' (<AltGr><9>) and ``}'' (<AltGr><0>) under the Metro-X server.
  173.   This bug has been observed under versions 3.1.5 and 3.1.8 of the
  174.   server.
  175.  
  176.   To correct this bug you have to edit the file
  177.   /usr/X11R6/lib/X11/xkb/symbols/dk and change the lines
  178.  
  179.   key <AE07> {    [               7,           slash      ]       };
  180.   key <AE08> {    [               8,       parenleft      ]       };
  181.   key <AE09> {    [               9,      parenright      ]       };
  182.   key <AE10> {    [               0,           equal      ]       };
  183.  
  184.  
  185.   to
  186.  
  187.   key <AE07> {    [               7,           slash      ],
  188.                   [       braceleft,        NoSymbol      ]       };
  189.   key <AE08> {    [               8,       parenleft      ],
  190.                   [     bracketleft,        NoSymbol      ]       };
  191.   key <AE09> {    [               9,      parenright      ],
  192.                   [    bracketright,        NoSymbol      ]       };
  193.   key <AE10> {    [               0,           equal      ],
  194.                   [      braceright,        NoSymbol      ]       };
  195.  
  196.  
  197.  
  198.  
  199.   2.3.  Dead keys and accented characters
  200.  
  201.   Dead keys are those that do not type anything until you hit another
  202.   key. Tildes and umlauts are like this by default under plain Linux if
  203.   you use the dk-latin1.map keymap. This is the default behaviour for
  204.   these keys under Microsoft Windows as well.
  205.  
  206.  
  207.   2.3.1.  Removing dead key functionality
  208.  
  209.  
  210.   ╖  Removing dead key functionality under plain Linux and XFree86
  211.      v3.1.2
  212.  
  213.      Under plain Linux type
  214.  
  215.      loadkeys dk.map
  216.  
  217.  
  218.  
  219.   ╖  Removing dead key functionality under XFree86 v3.2 and higher
  220.  
  221.      Put the following line in the Keyboard section of your
  222.      /etc/XF86Config file:
  223.  
  224.      XkbVariant      "nodeadkeys"
  225.  
  226.  
  227.  
  228.  
  229.   2.3.2.  Invoking dead key functionality
  230.  
  231.  
  232.   ╖  Invoking dead key functionality under plain Linux
  233.  
  234.      Under plain Linux type
  235.  
  236.      loadkeys dk-latin1.map
  237.  
  238.  
  239.  
  240.   ╖  Invoking dead key functionality under X11R6 sessions
  241.  
  242.      First you must make sure you are running XFree86 v3.1.2 or higher.
  243.      Download and install everything related to the newest release if
  244.      you have a lower version number. Neither compose nor dead keys will
  245.      work in X11R6 applications unless these are compiled with support
  246.      for accented (8-bit) character input. An example of such an
  247.      application is GNU emacs version 19.30 (or higher.)
  248.  
  249.      Some X11 applications still do not support this input method.
  250.      Eventually this situation might improve, but until that happens you
  251.      can either hack your applications or submit polite bug reports to
  252.      the  program authors. The latter approach is often the most
  253.      efficient. See section ``Programming tips for X11'' for some advice
  254.      on what needs to be done.
  255.  
  256.      Next you will have to map a key to Multi_key (Compose.) The Scroll
  257.      Lock key is most likely already mapped as such if you use XFree86
  258.      v3.1.2 (you can verify this with the program xev,) and it is easy
  259.      to map the right Control key by uncommenting the appropriate line
  260.      in the Keyboard section of the XFree86 configuration file (often
  261.      /etc/XF86Config.) If you wish to use some other key, or if you are
  262.      using XFree86 v3.2 or higher and want to change the default, you
  263.      should put something like
  264.  
  265.      keycode 78 = Multi_key
  266.  
  267.  
  268.   in your ~/.Xmodmap file. The statement in the example defines Scroll
  269.   Lock as the Compose key. The default Compose key in XFree86 v3.2 and
  270.   higher is <Shift><AltGr>.
  271.  
  272.   XFree86 v3.2 and higher comes without support for the dead keys on the
  273.   standard Danish keyboard. To get this support you have to change a few
  274.   lines in the xkb_symbols "basic" section of the file
  275.   /usr/X11R6/lib/X11/xkb/symbols/dk. The lines
  276.  
  277.   key <AE12> {    [           acute,           grave      ],
  278.                   [             bar,     dead_ogonek      ]       };
  279.   key <AD12> {    [       diaeresis,     asciicircum      ],
  280.                   [      asciitilde,     dead_macron      ]       };
  281.  
  282.  
  283.   should be changed to
  284.  
  285.   key <AE12> {    [      dead_acute,      dead_grave      ],
  286.                   [             bar,     dead_ogonek      ]       };
  287.   key <AD12> {    [  dead_diaeresis, dead_circumflex      ],
  288.                   [      dead_tilde,     dead_macron      ]       };
  289.  
  290.  
  291.  
  292.   After these changes you can get support for dead keys by removing the
  293.   line
  294.  
  295.   XkbVariant      "nodeadkeys"
  296.  
  297.  
  298.   from the Keyboard section of your /etc/XF86Config file.
  299.  
  300.   (Note for non-Danish readers: There are files for many local keyboard
  301.   maps in /usr/X11R6/lib/X11/xkb/symbols.)
  302.  
  303.   The available keystroke combinations are listed in
  304.   /usr/X11R6/lib/X11/locale/iso8859-1/Compose. There are some bugs in
  305.   that file you will want to fix:
  306.  
  307.   ╖  The line reading
  308.  
  309.      <dead_tilde> <space>                    : "~"   tilde
  310.  
  311.  
  312.   should be changed to
  313.  
  314.   <dead_tilde> <space>                    : "~"   asciitilde
  315.  
  316.  
  317.  
  318.   ╖  In several places asciicircum is misspelled as asciicirum
  319.  
  320.  
  321.      Finally make sure your shells and/or applications are set up for
  322.      ISO-8859-1 compatibility as described in section ``International
  323.      character sets in specific applications'' and you should be all
  324.      set.
  325.  
  326.  
  327.   2.4.  Making $ (the dollar sign), ° (oslash) and ╪ (Oslash) work
  328.  
  329.  
  330.  
  331.   2.4.1.  $ (the dollar sign)
  332.  
  333.   There is a bug in the Danish keymaps causing the dollar sign to be
  334.   accessed with <Shift><4> instead of <AltGr><4> by default. If this is
  335.   a problem for you, determine what keymap you load at boot-time. You
  336.   can find it by looking around in the directory /etc/rc.d/ or simply by
  337.   paying attention to what happens at boot-time.  On my computer the
  338.   relevant keymap is called /usr/lib/kbd/keytables/dk-latin1.map. You
  339.   can fix the problem by changing the line
  340.  
  341.   keycode   5 = four             dollar           dollar
  342.  
  343.  
  344.   in the keymap file to
  345.  
  346.   keycode   5 = four             currency         dollar
  347.  
  348.  
  349.   and then (re-)loading the keytable as described in section ``Loading a
  350.   keytable''. Currency (dansk: ``soltegn'') is the default <Shift><4>
  351.   character on a Danish keyboard.
  352.  
  353.   This should fix the problem for both X11 and plain Linux.
  354.  
  355.  
  356.   2.4.2.  ° (oslash) and ╪ (Oslash)
  357.  
  358.   In some older distributions ``°'' and ``╪'' appear as cent and yen.
  359.   Find the line for keycode 40 in the keymap file and change it from
  360.  
  361.   keycode  40 = cent              yen
  362.  
  363.  
  364.   to
  365.  
  366.   keycode  40 = +oslash           +Ooblique
  367.  
  368.  
  369.  
  370.   This bug appears to have been fixed in kbd-0.88.tar.gz and newer
  371.   versions.
  372.  
  373.   The plus signs are necessary to get Caps Lock working properly.
  374.   ``Oslash'' can be used as an alias for ``Ooblique'' in kbd-0.90.tar.gz
  375.   and newer versions.
  376.  
  377.   You can read more about keyboard configuration at this site
  378.   <http://www.ibbnet.nl/~anne/keyboard.html>.
  379.  
  380.  
  381.   3.  Display and application setup
  382.  
  383.   Most applications need to be compiled as ``8-bit-clean'' to work well
  384.   with European characters. Some need a few extra hints to get it right.
  385.  
  386.  
  387.   3.1.  Loading the ISO-8859-1 font on the console
  388.  
  389.   Execute the following commands from your shell prompt:
  390.  
  391.   setfont lat1-16.psf
  392.   mapscrn trivial
  393.   echo -ne '\033(K'
  394.  
  395.  
  396.  
  397.   (Note: Change the last line to echo -n '\033(K' if you use the tcsh
  398.   shell.)
  399.  
  400.   You could also choose to load a unicode font to ensure that line
  401.   graphics is displayed correctly in programs such as mc and workbone.
  402.   Execute the following command to do that:
  403.  
  404.   setfont lat1u-16.psf
  405.  
  406.  
  407.  
  408.   In Red Hat Linux 5.2 you can do this by putting these lines in
  409.   /etc/sysconfig/i18n:
  410.  
  411.   LANG=da
  412.   LINGUAS=da
  413.   LC_ALL=da_DK
  414.   SYSFONT=lat1u-16.psf
  415.   SYSTERM=linux
  416.  
  417.  
  418.   Due to a bug in the ncurses package on Red Hat Linux 5.2, you also
  419.   have to change ``linux-lat'' to ``linux'' in /etc/profile.d/lang.sh.
  420.  
  421.  
  422.   3.2.  The Euro symbol
  423.  
  424.   A new symbol has been added to the Danish character set: The symbol
  425.   for the Euro (the new currency of the European Monetary Union.) A new
  426.   character set called ISO-8859-15 a.k.a. latin0 (or latin9) has been
  427.   created to replace ISO-8859-1 (latin1.) You must use the EURO
  428.   <ftp://ftp.freshmeat.net/pub/euro-patch/> package to get support for
  429.   latin0. The package includes both fonts and keymaps.
  430.  
  431.  
  432.   3.3.  Characters you can display under Linux
  433.  
  434.   Type dumpkeys -l | less at the prompt to find out which characters
  435.   that are readily available. You can map them to your keyboard via the
  436.   keymap files mentioned in section ``Loading a keytable''.
  437.  
  438.  
  439.   3.4.  International character sets in specific applications
  440.  
  441.   A number of applications demand special attention. This section
  442.   describes how to set up configuration files for them.
  443.  
  444.  
  445.      bash:
  446.         Put the following in your ~/.inputrc file:
  447.  
  448.         set meta-flag on
  449.         set convert-meta off
  450.         set output-meta on
  451.  
  452.  
  453.  
  454.  
  455.      elm:
  456.         Put the following definitions in your ~/.elm/elmrc file:
  457.  
  458.         charset = iso-8859-1
  459.         displaycharset = iso-8859-1
  460.         textencoding = 8bit
  461.  
  462.  
  463.      This may not work on some versions of elm. You can get partial MIME
  464.      support in elm if you use metamail.
  465.  
  466.  
  467.      emacs:
  468.         Put the following in your ~/.emacs or the the system-wide
  469.         initialization file (probably /usr/lib/emacs/site-
  470.         lisp/default.el or /usr/share/emacs/site-lisp/default.el):
  471.  
  472.         (standard-display-european t)
  473.         (set-input-mode (car (current-input-mode))
  474.                 (nth 1 (current-input-mode))
  475.                 0)
  476.  
  477.  
  478.  
  479.      You can leave out the first two of the lines above if you have
  480.      installed locale support, and your LC_CTYPE environment variable
  481.      includes one of the strings 8859-1 or 88591. See section ``Locale
  482.      support in libc 5.4.x'' for some information on locales.
  483.  
  484.      Dead keys should work under GNU emacs provided you use GNU emacs
  485.      v19.30 or higher and XFree86 v3.1.2 or higher (it works for me
  486.      anyway,) so do not start researching available elisp packages
  487.      implementing ``electric keys'' or anything like that. If you want
  488.      to implement European keyboard conventions in emacs without
  489.      upgrading, the best choice is probably the remap package available
  490.      from SunSite DK
  491.      <ftp://sunsite.auc.dk/pub/emacs/auctex/ftp/auctex/>.  There are
  492.      also two packages called iso-acc.elc and iso-trans.elc included
  493.      with emacs that have similar functionality, but they are not nearly
  494.      as powerful.
  495.  
  496.  
  497.      groff:
  498.         Issue the command as
  499.  
  500.         groff -Tlatin1 <your_groff_input_file>
  501.  
  502.  
  503.  
  504.      Remember to change this in /etc/man.config to get latin1 characters
  505.      working in man (don't remove the -mandoc switch.)
  506.  
  507.  
  508.      ispell --- Spell checking in Danish:
  509.         First make sure that you install version 3.1.20 instead of
  510.         version 4.0 of ispell. The latter is obsolete and multiple
  511.         brain-damaged. You can download the sources for ispell at the
  512.         GNU archive <ftp://sunsite.auc.dk/pub/gnu/> and you can get a
  513.         Danish dictionary from SSLUG
  514.         <http://www.sslug.dk/ispell/idanish/dansk.html>. Follow the
  515.         compilation instructions and you should have no trouble (One
  516.         caveat: When defining the variables necessary for compilation
  517.         you must tell ispell that Linux is a SysV type OS by defining
  518.         the variable USG.)
  519.  
  520.         When you have installed the Danish dictionary for ispell you can
  521.         check the spelling of a Danish language file by executing the
  522.         command:
  523.  
  524.         ispell -d danish -T latin1 -w "µ°σ╞╪┼" <your_danish_text_file>
  525.  
  526.  
  527.  
  528.      (Note for non-Danish readers: You can find dictionaries for most
  529.      Western languages by reading the file Where included with the
  530.      sources for ispell.)
  531.  
  532.  
  533.      joe:
  534.         Issue the command as
  535.  
  536.         joe -asis
  537.  
  538.  
  539.      or put the following in your ~/.joerc file:
  540.  
  541.      -asis
  542.  
  543.  
  544.  
  545.      The hyphen character must be in the first column.
  546.  
  547.  
  548.      kermit:
  549.         This is as close as I can get, but not completely satisfying
  550.         yet. Put the following in your ~/.kermrc file:
  551.  
  552.         set terminal bytesize 8
  553.         set command bytesize 8
  554.         set file bytesize 8
  555.         set language danish
  556.         set file character-set latin1-iso
  557.         set transfer character-set latin1-iso
  558.         set terminal character-set latin1-iso
  559.  
  560.  
  561.  
  562.      I think there are more variables to set, but they are hiding. You
  563.      would have to modify these settings if the remote system is DOS or
  564.      OS/2 based.
  565.  
  566.  
  567.      less:
  568.         Set the following environment variable:
  569.  
  570.         LESSCHARSET=latin1
  571.  
  572.  
  573.  
  574.  
  575.      ls:
  576.         Issue the command as
  577.  
  578.         ls -N
  579.  
  580.  
  581.      or possibly
  582.  
  583.      ls --8bit
  584.  
  585.  
  586.  
  587.  
  588.      lynx:
  589.         Put the following definition in your ~/.lynxrc file:
  590.  
  591.         character_set=ISO Latin 1
  592.  
  593.  
  594.  
  595.      This can also be set via the Options menu in lynx. Type `o' and set
  596.      the relevant option.
  597.  
  598.  
  599.      man:
  600.         See entry for groff in this section.
  601.  
  602.  
  603.      metamail:
  604.         Set the following environment variable:
  605.  
  606.         MM_CHARSET=ISO-8859-1
  607.  
  608.  
  609.  
  610.  
  611.      nn:
  612.         Put the following in your ~/.nn/init file:
  613.  
  614.         set data-bits 8
  615.  
  616.  
  617.  
  618.  
  619.      pine:
  620.         Put the following definition in your ~/.pinerc file:
  621.  
  622.         character-set=ISO-8859-1
  623.  
  624.  
  625.  
  626.      This can also be set via the Setup, Config menu option in pine.  It
  627.      won't hurt to enable enable-8bit-esmtp-negotiation and enable-8bit-
  628.      nntp-posting (for news) in that menu too.
  629.  
  630.  
  631.      rlogin:
  632.         Issue the command as
  633.  
  634.         rlogin -8 foo.bar.dk
  635.  
  636.  
  637.  
  638.  
  639.      sendmail:
  640.         Put (or uncomment) the following in your /etc/sendmail.cf file:
  641.  
  642.         O SevenBitInput=False
  643.         O EightBitMode=pass8
  644.         O DefaultCharSet=iso-8859-1
  645.  
  646.  
  647.  
  648.  
  649.      tcsh:
  650.         Put the following in your /etc/csh.login or ~/.tcshrc file:
  651.  
  652.         setenv LANG C
  653.  
  654.  
  655.  
  656.      Actually you just have to define one of the environment variables
  657.      LANG or LC_CTYPE. The value does not matter. Read the tcsh man page
  658.      for more information.
  659.  
  660.  
  661.      telnet:
  662.         Put one line of the following type in your ~/.telnetrc file for
  663.         each host you want to log on to using telnet:
  664.  
  665.         <hostname> set outbinary true
  666.  
  667.  
  668.  
  669.      Example:
  670.  
  671.      localhost set outbinary true
  672.      foo.bar.dk set outbinary true
  673.  
  674.  
  675.  
  676.  
  677.      TeX/LaTeX:
  678.         There are several problems with TeX/LaTeX: You want LaTeX to
  679.         understand the special characters and you do not want LaTeX to
  680.         put in English words like ``Chapter'' at the beginning of every
  681.         chapter or use English typesetting conventions.
  682.  
  683.         Under LaTeX2e the header of your input file should look
  684.         something like this:
  685.  
  686.         \documentclass[a4paper]{article}
  687.  
  688.         \usepackage[latin1]{inputenc}
  689.         \usepackage{t1enc}
  690.         \usepackage[danish]{babel}
  691.  
  692.  
  693.  
  694.      The first usepackage statement ensures that LaTeX will interpret
  695.      European characters correctly, so you do not have to use escape
  696.      codes for European characters. The second one is not strictly
  697.      necessary, but it is recommended including it to use the new EC
  698.      fonts (previously called DC fonts.) The third usepackage statement
  699.      defines a range of standards for typesetting texts in Danish.
  700.  
  701.      All the major Linux distributions now includes the teTeX package.
  702.      To set up teTeX you must run the script texconfig. Here you can
  703.      choose Danish hyphenation (dansk: ``orddeling''), A4 papersize for
  704.      dvips and xdvi etc.
  705.  
  706.      All new Linux distributions include LaTeX2e, but on older systems
  707.      you might come across LaTeX 2.09. If that happens you can use
  708.  
  709.      \documentstyle[a4,isolatin]{article}
  710.  
  711.  
  712.      to include support for ISO-8859-1 characters and European paper
  713.      sizes. A better thing to do would be to ask your system administra¡
  714.      tor to upgrade to LaTeX2e.
  715.  
  716.      isolatin.sty is available from all CTAN servers
  717.      <ftp://sunsite.auc.dk/pub/tex/ctan/>.
  718.  
  719.      Some people prefer to use emacs in a special mode which translates
  720.      ``special'' letters into TeX escape codes, but this method is
  721.      obsolete.
  722.  
  723.  
  724.      tin:
  725.         Put the following definitions in your ~/.tin/headers file:
  726.  
  727.         Mime-Version: 1.0
  728.         Content-Type: text/plain; charset=iso-8859-1
  729.         Content-Transfer-Encoding: 8bit
  730.  
  731.  
  732.  
  733.      Now you can post messages with the proper Danish characters in the
  734.      message body.
  735.  
  736.  
  737.   4.  Miscellaneous problems
  738.  
  739.   4.1.  Time zone
  740.  
  741.   Denmark is placed in the Central European Time zone (CET or MET,)
  742.   which (in the winter) is equivalent to Greenwich Mean Time plus 1
  743.   (GMT+1.) You set the time zone on a Linux system by making a symbolic
  744.   link between /usr/lib/zoneinfo/localtime and the file in
  745.   /usr/lib/zoneinfo/ with a name corresponding to your zone or country.
  746.   Danes will want to execute one of the commands
  747.  
  748.   ln -sf /usr/lib/zoneinfo/MET /etc/localtime
  749.  
  750.  
  751.   or
  752.  
  753.   ln -sf /usr/lib/zoneinfo/Europe/Copenhagen /etc/localtime
  754.  
  755.  
  756.  
  757.   This automatically sets Daylight Saving Time (GMT+2) in the summer.
  758.  
  759.   You synchronize the system time with the CMOS clock by issuing the
  760.   command clock as root. If your CMOS clock is set to GMT (a.k.a. UTC
  761.   --- the standard on proper Unix systems) use
  762.  
  763.   clock -u -s
  764.  
  765.  
  766.   or if your CMOS clock is set to local time use
  767.  
  768.   clock -s
  769.  
  770.  
  771.  
  772.  
  773.   4.2.  A4 papersize
  774.  
  775.  
  776.   ╖  ghostscript: Add the command line option -sPAPERSIZE=a4.
  777.  
  778.   ╖  ghostview: Define the following Xresource:
  779.  
  780.      Ghostview.pageMedia:  A4
  781.  
  782.  
  783.  
  784.   ╖  TeX/LaTeX, dvips, xdvi: See the entry for TeX/LaTeX in section
  785.      ``International character sets in specific applications''.
  786.  
  787.  
  788.   4.3.  Text file formats for other platforms
  789.  
  790.   You can translate files between an ISO-8859-1 formatted text file and
  791.   e.g. a DOS text file using codepage 850 with the recode package. A DOS
  792.   file called foo.txt would be translated into a proper Unix file with
  793.   the command
  794.  
  795.   recode cp850:latin1 foo.txt
  796.  
  797.  
  798.  
  799.   recode is available as recode-3.4.tar.gz from all mirrors of the GNU
  800.   archive <ftp://sunsite.auc.dk/pub/gnu/>.
  801.  
  802.  
  803.   5.  Locale support in libc 5.4.x and higher
  804.  
  805.   The locale support has been updated in libc 5.4.x. You can avoid many
  806.   of the individual program setups described in section ``International
  807.   character sets in specific applications'' if the programs on your
  808.   system is prepared for locale support. The Debian distribution comes
  809.   with this support if you install the wg15-locale package. Systems with
  810.   GNU libc 2 (libc 6.x) support locales by default (see remarks about
  811.   Red Hat Linux release 5.0 later in this section.)
  812.  
  813.   If you use a system without locale support, you can add such support
  814.   using the following method:
  815.  
  816.   1. Make sure you have the latest libc 5.4.x library. You can get this
  817.      from Yggdrasil Computing <ftp://ftp.yggdrasil.com/private/hjl/>.
  818.  
  819.   2. Make sure you have the localedef program installed. It should come
  820.      with the library.
  821.  
  822.   3. Get the locale sources. You can get them from DKUUG. You need to
  823.      get both locale <ftp://dkuug.dk/i18n/WG15-collection/locales/> and
  824.      charmap <ftp://dkuug.dk/i18n/WG15-collection/charmaps/> sources.
  825.  
  826.   4. Put the locale sources in /usr/share/i18n/locales/ and the charmap
  827.      sources in /usr/share/i18n/charmaps/.
  828.  
  829.   5. Execute the localedef program to build the locale data files:
  830.  
  831.      localedef -ci da_DK -f ISO_8859-1:1987 da_DK
  832.  
  833.  
  834.   (Note for non-Danish readers: You can build locale data files for
  835.   other locales in the same way. All locale and charmap sources are at
  836.   the DKUUG site.)
  837.  
  838.   To enable support for the Danish locale on a system with locale
  839.   support you just have to set one of the following environment
  840.   variables:
  841.  
  842.   LANG=da_DK
  843.  
  844.  
  845.   or
  846.  
  847.   LC_ALL=da_DK
  848.  
  849.  
  850.  
  851.   Try da_DK.ISO_8859-1 if da_DK does not work.
  852.  
  853.   Both environment variables set all the individual locale catgories.
  854.   You can also set a single locale category by using the name of the
  855.   category as an environment variable. The locale catogories are:
  856.  
  857.  
  858.  
  859.   Locale category         Application
  860.   ---------------         -----------
  861.   LC_COLLATE              Collation of strings (sort order.)
  862.   LC_CTYPE                Classification and conversion of characters.
  863.   LC_MESSAGES             Translations of yes and no.
  864.   LC_MONETARY             Format of monetary values.
  865.   LC_NUMERIC              Format of non-monetary numeric values.
  866.   LC_TIME                 Date and time formats.
  867.   LC_ALL                  Sets all of the above (overrides all of them.)
  868.   LANG                    Sets all the categories, but can be overridden
  869.                           by the individual locale categories.
  870.  
  871.  
  872.  
  873.   A few programs such as bash and GNU emacs still need specific setup as
  874.   described in section ``International character sets in specific
  875.   applications'', but most should work without further attention.
  876.   Programs such as nvi which did not work with 8 bit characters before
  877.   should work now.
  878.  
  879.   Locale support should be more common as distributions based on the new
  880.   GNU libc 2 become available. Beware that although Red Hat Linux
  881.   release 5.0 comes with GNU libc 2, the locale support is not working.
  882.   You have to build the locale data files by executing localedef
  883.   yourself. You can build the Danish locale data files with the
  884.   following command:
  885.  
  886.   localedef -c -i da_DK -f ISO-8859-1 da_DK
  887.  
  888.  
  889.  
  890.   As of glibc-2.0.7-4.i386.rpm the locale data files are included with
  891.   the libraries and this is no longer necessary.
  892.  
  893.  
  894.   6.  Programming tips for X11
  895.  
  896.   Displaying 8-bit charaters is easy. You can use them just as you would
  897.   use 7-bit ASCII. Getting applications to accept input of special
  898.   characters is an entirely different matter.
  899.  
  900.   If you are using e.g. the Xt toolkit and a widget set like Motif you
  901.   need only add one line to your program. As your first call to Xt use
  902.   XtSetLanguageProc. Like this:
  903.  
  904.       int main (int argc, char** argv)
  905.       {
  906.           ...
  907.           XtSetLanguageProc (NULL, NULL, NULL);
  908.           top = XtAppInitialize ( ... );
  909.           ...
  910.       }
  911.  
  912.  
  913.  
  914.   Now your program will automagically look up the LC_CTYPE variable and
  915.   interpret dead keys etc. according to the Compose tables in
  916.   /usr/X11R6/lib/X11/locale/. This should work for all Western European
  917.   keyboard layouts and is entirely portable. As XFree86 multilanguage
  918.   support gets better your program will also be useful in Eastern Europe
  919.   and the Middle East.
  920.  
  921.   This method of input is supported by Xt, Xlib and Motif v1.2 (and
  922.   higher.) According to the information I have available it is only
  923.   partially supported by Xaw. If you have further information on this
  924.   subject I would like to hear from you.
  925.   This section was adapted from a more extensive discussion in Michael
  926.   Gschwind's Programming for Internationalization. See section ``Other
  927.   documents of relevance'' for a pointer to that document.
  928.  
  929.  
  930.   7.  Getting X11 applications to speak Danish
  931.  
  932.   To get Danish texts on menus, buttons, etc. in a well behaved X11
  933.   application, you just have to translate the resource strings defining
  934.   the texts. Jacob Nordfalk has done such translations for a lot of
  935.   applications including Netscape and Ghostview. The translations and a
  936.   description of how to install them can be found at this site
  937.   <http://alf.nbi.dk/~nordfalk/ovs/>.
  938.  
  939.  
  940.   8.  Information resources
  941.  
  942.   8.1.  Other documents of relevance
  943.  
  944.   The HOWTOs are available from all mirrors of metalab.unc.edu (the
  945.   former sunsite.unc.edu.) There is a Danish mirror at SunSite DK
  946.   <http://sunsite.auc.dk/ldp/HOWTO/>.
  947.  
  948.   The German HOWTO (in German) by Winfried Trⁿmper. A lot of other
  949.   national HOWTOs such as Finnish, Spanish and Polish are also available
  950.   in the native languages.
  951.  
  952.   The Linux Keyboard and Console HOWTO by Andries Brouwer.
  953.  
  954.   The ISO 8859-1 National Character Set FAQ and Programming for
  955.   Internationalization (plus much more) by Michael Gschwind is available
  956.   from this site <http://www.vlsivie.tuwien.ac.at/mike/i18n.html>.
  957.  
  958.  
  959.   8.2.  FTP and Web sites
  960.  
  961.   SSLUG (Skσne Sjµlland Linux User Group) <http://www.sslug.dk/> is a
  962.   Swedish/Danish Linux user group. Their mailing list is a good place to
  963.   get help with Linux in Danish (or Swedish.) They are also hosts for
  964.   this document <http://www.sslug.dk/DanishHowto/>.
  965.  
  966.   AUC in ┼lborg is the home of SunSite DK
  967.   <ftp://sunsite.auc.dk/pub/os/linux/> which has the Debian and Red Hat
  968.   distributions, the latest kernels, a mirror of the Linux Documentation
  969.   Project <http://sunsite.auc.dk/ldp/> and mirrors of metalab.unc.edu
  970.   <ftp://sunsite.auc.dk/pub/os/linux/sunsite/> and the GNU archive
  971.   <ftp://sunsite.auc.dk/pub/gnu/>. There is also a mirror of the CTAN
  972.   archive <ftp://sunsite.auc.dk/pub/tex/ctan/> with everything you need
  973.   to get TeX and LaTeX running.
  974.  
  975.  
  976.   9.  Credits and legal stuff
  977.  
  978.   Thanks to Peter Dalgaard, Anders Majland, Jon Haugsand, Jacob
  979.   Nordfalk, the authors of the German HOWTO, Michael Gschwind and
  980.   numerous others for suggestions and help with several questions. And a
  981.   big thanks to the people at Aalborg University Center for writing and
  982.   making available several of the packages described in this document. A
  983.   special Thank You to Thomas Petersen; the original author of this
  984.   document.
  985.  
  986.  
  987.   9.1.  Legal stuff
  988.  
  989.   Trademarks are owned by their owners.
  990.  
  991.   Although the information given in this document is believed to be
  992.   correct, the author will accept no liability for the content of this
  993.   document. Use the tips and examples given herein at your own risk.
  994.  
  995.   Copyright ⌐ 1996 by Thomas Petersen. Copyright ⌐ 1997, 1998, 1999 by
  996.   Niels Kristian Bech Jensen. This document may be distributed only
  997.   subject to the terms and conditions set forth in the LDP license
  998.   <http://metalab.unc.edu/LDP/LDP-COPYRIGHT.html>.
  999.  
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.