home *** CD-ROM | disk | FTP | other *** search
/ Hackers Toolkit v2.0 / Hackers_Toolkit_v2.0.iso / HTML / archive / Unix / HOWTOs / DANISH-H < prev    next >
Text File  |  1999-11-04  |  32KB  |  1,057 lines

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