  LinuxDoc+Emacs+Ispell-HOWTO
  Frfattare: Philippe MARTIN (feloy@wanadoo.fr)
  Engelsk versttare: Sbastien Blondeel (Sebastien.Blon
  deel@lifl.fr)
  Svensk versttare: Linus kerlund (uxm165t@tninet.se)

  v0.4, 27 February 1998. Svensk versttning: 10 juni 1998.

  Detta dokument r riktat till frfattare och versttare av Linux-HOW
  TOn eller andra dokument fr The Linux Documentation Project. Det ger
  dem ledtrdar om hur de ska anvnda verktyg ssom Emacs och Ispell.

  ______________________________________________________________________

  Innehllsfrteckning


  1. Inledning

     1.1 Upphovsrtt
     1.2 Tillknnagivanden
     1.3 Kommentarer
     1.4 Versioner
     1.5 Svenska versttarens anmrkningar

  2. Introduktion

     2.1 SGML
     2.2 (TT
     2.3 (TT

  3. Ditt frsta dokument

     3.1 Frn ett textdokument

  4. Konfigurera

     4.1 Tecken med accent
        4.1.1 Att visa 8-bitars tecken
        4.1.2 Att skriva 8-bitars tecken
           4.1.2.1 (TT
           4.1.2.2 (CPARAM
        4.1.3 Att visa 8-bitars SGML-tecken
     4.2 SGML-lge
     4.3 PSGML-lge
     4.4 Diverse annat
        4.4.1 auto-fill-lge

  5. Ispell

     5.1 Att vlja standardordlistor
     5.2 Vlja speciella ordlistor fr vissa filer
     5.3 Stavningskontrollera dina dokument
     5.4 Personlig ordlista kontra filens lokala ordlista
     5.5 Direkt stavningskontroll

  6. Fula knep

     6.1 Att automatiskt infoga ett dokumenthuvud
        6.1.1 Genom att infoga en fil
        6.1.2 Genom att kra en rutin

  7. En



  ______________________________________________________________________

  1.

  Inledning

  1.1.

  Upphovsrtt

  Copyright Philippe Martin 1998
  Du fr vidaredistribuera och/eller modifiera detta dokument, s lnge
  du rttar dig efter villkoren i The GNU General Public License,
  version 2 eller senare.



  1.2.

  Tillknnagivanden

  Ett speciellt tack gr till Sbastien Blondeel, som r en hemsk typ,
  och frgade mig en massa om att konfigurera Emacs. Hans intelligenta
  frgor har gjort att jag frstr det bttre, och vidarebefordrar denna
  kunskap till dig, genom detta dokument.



  1.3.

  Kommentarer

  Tveka inte att tala om fr mig, om det r ngot du tycker skulle kunna
  gra detta dokument bttre. Jag kommer tnka ver din kritik noggrant.
  Tveka ej heller att stlla frgor, relaterade till de mnen som hr
  diskuteras, till mig. Jag besvarar dem mer n grna, eftersom de
  hjlper mig att vidare frbttra detta dokument.  (--
  versttarens anmrkning: Om engelskan r ful, tja, det r jag ocks!
  --)



  1.4.

  Versioner

  Detta dokument behandlar fljande versioner:


    Sgml-tools version 0.99,


    Emacs version 19.34,


    Ispell version 3.1,


    Alla Emacs-bibliotek, vilka det refereras till i detta dokument,
     distribueras med ovan nmnda version av Emacs, frutom iso-sgml,
     vilket distribueras med XEmacs, och psgml, vilket r ett fristende
     bibliotek.




  1.5.

  Svenska versttarens anmrkningar

  Detta dokument r en versttning av den engelska versionen.
  Originalet r skrivet p franska, ett sprk jag inte behrskar. Jag
  hoppas att jag lyckats bevara all information som finns med i
  originaldokumentet. Som vanligt r alla vlkomna att komma med
  anmrkningar och kritik. ndra grna i SGML-filen och skicka de
  korrigerade versionerna till mig, p uxm165t@tninet.se.



  2.

  Introduktion

  2.1.

  SGML

  Standard Generalised Mark-up Language, eller SGML, r ett sprk fr
  att definiera dokument-typer.


  Man kan t.ex. definiera dokument-typen recept, med en frsta del fr
  att presentera ingredienserna, en andra del fr att presentera
  hjlpmedlen, en tredje del vilken ger stegvisa instruktioner om hur
  trtan ska bakas och en trevlig, avslutande bild, fr att visa
  resultatet av allt detta.



  Detta kallas en definition av en dokument-typ (Document type
  Definition. vers.anm.). Den definierar inte hur den slutliga
  produkten kommer se ut, den definierar bara vad den kommer att
  innehlla.



  Fr att anvnda samma exempel igen; jag r sker p att du, d du
  lser om min id om ett recept, knner igen dina, eller din
  favoritkocks. De ser trots allt olika ut: mina har en bild i det vre
  vnstra hrnet av badrumsskpet, och listan ver ingredienser finns p
  bakgrden, mellan swimmingpoolen och grillen. Dina?



  Tack vare standarddefinitionen, s kan man skriva ett dokument utan
  att ta hnsyn till hur det slutligen kommer se ut, fr lsaren.


  2.2.

  LinuxDoc s typ-definition

  Denna typ anvnds, som du kanske har kunnat gissa dig till, till att
  skriva dokument vilka r relaterade till Linux.


  Sdana dokument r typiskt uppbyggda som fljer: de brjar med en
  titel, fljd av frfattarens namn, versions-numret och datumet. Sedan
  kommer sammanfattningen (s att du inte behver blddra igenom hela
  alltet, innan du inser att det inte alls var vad du var ute efter),
  sedan innehllsfrteckningen, vilken visar strukturen, s att de som
  har brttom kan hoppa direkt till det avsnitt de vill lsa.
  Sedan fljer en lista ver kapitel, avsnitt och stycken. Bland dessa
  kan man infoga delar av program, ndra typsnitt, fr att framhva ett
  ord eller en mening, infoga listor, referera till andra delar av
  dokumentet osv.


  Fr att skriva ett sdant dokument behver du bara, vid rtt tidpunkt,
  specificera titeln, frfattaren, datumet och dokument-versionen,
  kapitlen och avsnitten, nr en lista ska infogas, vilka dess element
  r osv.



  2.3.

  SGML-Tools

  SGML-Tools omvandlar ett dokuments specifikationer till det
  slutgiltiga resultatet, i det format du nskar. Om du vill ha det i
  ditt personliga bibliotek, vljer du PostScript. Om du vill dela det
  med vrlden, genom webben, s blir det HTML. Om du inte kan hjlpa
  det, och mste lsa det under Windows, s kan du omvandla det till
  RTF, s att det kan lsas av vilken ordbehandlare som helst. Eller s
  kanske du anvnder alla tre formaten, fr att anpassa det till ditt
  vxlande humr.

  SGML-Tools r tillgngligt via anonym FTP frn
  ftp://ftp.funet.fi/public/ftp/pub/linux/utils/text/



  3.

  Ditt frsta dokument



  3.1.

  Frn ett textdokument

  Om du vill gr om ett textdokument till SGML, fr att omvandla det
  till andra format, ska du gra p fljande stt:



  1. Lgg till de fljande raderna i brjan:


             <!doctype linuxdoc system>
              <article>
               <title>Hr ska titeln vara</title>
               <author>
               frfattarens namn, e-post-adress osv.
               </author>
               <date>
               version och datum
               </date>






  2. Om du kort beskriver dokumentets innehll i brjan, innefatta
     stycket i <abstract>- och </abstract>-taggarna.
  3. Infoga sedan <toc>-taggen, vilket str fr Table Of Contents
     (innehllsfrteckning. vers.anm.).



  4. Erstt, i brjan av varje kapitel, raden som anger nummer och titel
     fr kapitlet med:


            <sect>Kapitlets titel



  och lgg till </sect>-taggen i slutet av kapitlet.



  Observera : Du behver inte ange kapitel-nummer, detta grs
  automatiskt.



  5. Fortstt p samma stt med avsnitten. Du mste ta bort numren och
     "tagga" deras titlar med <sect1>, och avsluta dem med </sect1>.



  6. Du kan ven, p ett liknande stt, ange s mnga som 4 nstade
     niver i avsnitten, genom att anvnda <sectn>- och
     </sectn>-taggarna, dr n= 2, 3 eller 4.



  7. Lgg, i brjan av varje stycke, in <p>-taggen.



  8. Om du behver framhva vissa delar, "tagga" dem med <it> och </it>
     (kursiverat), <bf> och </bf> (fetstil) eller <tt> och </tt>
     (skrivmaskins-stil).



  9. Fr att infoga en lista, som den fljande:



            Detta r en lista om fyra rader:

              - hr r frsta raden
              - sedan kommer andra raden
              - nnu en
              - det var det.




  s mste du erstta den med:








         Detta r en lista om fyra rader:
         <itemize>
         <item>hr r frsta raden
         <item>sedan kommer andra raden
         <item>nnu en
         <item>det var det.
         </itemize>






  10.
     Nr ett helt block r en del av ett program, eller ngot annat som
     mste sticka ut:



            <verb>
             10 REM Herre gud, vad r det hr?
             20 REM Jag trodde det hr hade frsvunnit fr lnge sedan!
             30 PRINT "Jag r tillbaks fr att";
             40 PRINT "rdda vrlden."
             50 INPUT "Frn vem, menar du? ",M$
             60 IF M$="Bill" THEN PRINT "Du r vis.":GOTO PARADISET
             70 ELSE PRINT "Du har inte hajat ngot...":GOTO RIKMOND
            </verb>






  11.
     P detta stadium r dina kunskaper i SGML-formattering ganska
     hyffsade. Om du vill frfina ditt dokument, s kan du ta en titt p
     anvndar-manualen till SGML-Tools, vilken ger mer detaljer om
     dokument-typen LinuxDoc.





  4.

  Konfigurera Emacs



  4.1.

  Tecken med accent

  Om du vill skriva dokument p franska, eller ngot annat
  vsteuropeiskt sprk, s behver du 8-bitars tecken. S hr stller du
  in Emacs fr att acceptera sdana tecken.



  4.1.1.

  Att visa 8-bitars tecken

  Fr att f Emacs att visa 8-bitars tecken, s mste du ha fljande
  rader i din .emacs-fil:
         (standard-display-european 1)
         (load-library "iso-syntax")




  Om du anvnder Emacs p en terminal, som har std fr 8-bitars tecken,
  s kan du anvnda iso-ascii-biblioteket ((load-library "iso-ascii")),
  vilket sger t Emacs att visa sdana tecken, s bra den kan.



  4.1.2.

  Att skriva 8-bitars tecken

  Om ditt tangentbord lter dig skriva tecken med accenter, s r det
  inget problem. Om inte, s kommer hr ngra hjlpmedel:



  4.1.2.1.

  iso-acc -biblioteket

  Emacs iso-acc-bibliotek lter dig skriva 8-bitars tecken p ett
  7-bitars tangentbord.


  Fr att anvnda det, infoga fljande i din .emacs-fil:


        (load-library "iso-acc")





  Nr du sedan kr Emacs och ppnar en fil att editera, skriv Meta-x
  iso-accents-mode.


  Du kan skriva -tecknet, i det svenska ordet kaf, genom att skriva '
  och sedan e. Mer generellt s kommer du skriva ett tecken med accent
  genom att frst skriva accenten, och sedan bokstaven som accenten ska
  finnas till (stora eller sm bokstver). De fljande r accenter du
  kan vilja anvnda:





  ` : Vnster-lutad (grav) accent


  ^ : Cirkumflex


  " : Punkter


  ~ : Tilde och andra specialfall (cf iso-acc.el).


  / : Fr att f ett streck ver ordet

  Om du behver ngot av dessa tecken, och inte en bokstav med accent,
  tryck mellanslag efter tecknet. Fr att skriva t.ex. 'kaf', skriv '
  <mellanslag> k a f ' e



  Du hittar alla mjliga kombinationer i iso-acc.el-filen.



  4.1.2.2.

  <Meta>-tangenten

  Vissa terminaler lter dig skriva 8-bitars tecken med <Meta>-tangenten
  (eller <Alt>). Om du t.ex. trycker <Meta>-i, s fr du -tecknet.



  Men Emacs reserverar <Meta>-tangenten fr andra ndaml, och jag
  knner inte till ngot bibliotek som lter dig anvnda det fr tecken
  med accent.


  Detta r en lsning:



        (global-set-key "\ei" '(lambda () (interactive) (insert ?\351)))
                           _                                      ___



  En sdan rad, om den infogas i din .emacs-fil, lter dig skriva 
  genom att anvnda <Meta>-i. Du kan omdefiniera de kombinationer du
  behver, genom att byta ut i mot den rtta tangenten och 351 med den
  rtta koden (koden finner du i tecken-uppsttningen ISO-8859-1).



  Varning! Vissa lokala lgen kan omdefiniera sdana tangent-
  kombinationer.



  4.1.3.

  Att visa 8-bitars SGML-tecken

  Under SGML kan du skriva tecken med accent med makron. Fr att skriva
  t.ex. -tecknet, s skriver du &eacute;. Rent generellt s kan de
  applikationer som behver kunna lsa SGML redan lsa 8-bitars tecken,
  s dessa makron behvs inte. Men vissa kan inte det. Eftersom det
  finns ett stt att lsa problemet, s vore det ondigt att inte
  anvnda makrona.


  iso-sgml-biblioteket lter dig skriva tecken med accent under Emacs,
  som alltid, men d du sparar din fil p disk, s omvandlas dessa
  8-bitars tecken till sina motsvarigheter i SGML.


  P grund av detta bibliotek r det allts ltt att skriva och lsa
  dina dokument under Emacs, och du kan vara sker p att applikationer
  som inte klarar av 8-bitars tecken kommer att acceptera dina dokument.

  Fr att anvnda detta bibliotek behver du bara lgga till fljande
  rader i din .emacs-fil:



        (setq sgml-mode-hook
        '(lambda () "Defaults for SGML mode."
         (load-library "iso-sgml")))






  4.2.

  SGML-lge

  D du laddar en fil med .sgml-ndelsen, s gr Emacs automatiskt in i
  sgml-lge (sgml mode). Om det inte gr det, s kan du manuellt sga t
  det att gra det genom att skriva Meta-x sgml-mode, eller automatiskt,
  genom att lgga till fljande rader till din .emacs-fil:



        (setq auto-mode-alist
        (append '(("\.sgml$"  . sgml-mode))
                  auto-mode-alist))




  Detta lge lter dig t.ex. vlja hur du ska infoga 8-bitars tecken.
  Med Meta-x sgml-name-8bit-mode (eller meny-alternativet SGML/Toggle
  8-bit insertion), kan du vlja att skriva in 8-bitars tecken som de
  r, eller i SGML-form, allts i formen &...;.

  Det lter dig ven dlja eller visa SGML-taggarna, med Meta-x sgml-
  tags-invisible (eller meny-alternativet SGML/Toggle Tag Visibility).



  4.3.

  PSGML-lge

  PSGML-lget (PSGML mode) r vldigt hjlpsamt, om du editerar SGML-
  dokument med Emacs.


  psgml-linuxdoc-dokumentationen frklarar hur du ska installera detta
  lge och anvnda det med LinuxDoc.



  4.4.

  Diverse annat



  4.4.1.

  auto-fill-lge


  I det normala lget mste du anvnda <Return>, d du kommer till
  slutet av raden, fr att komma till nsta rad, annars kommer raden att
  ta upp hela stycket. Om du anvnder <Return> fr att komma till nsta
  rad, s fr du ett stycke med ojmna kanter.


  Om du lter vissa rader g bortom den rimliga lngden, s kommer du
  inte kunna se dem i vissa editorer.


  auto-fill-lget automatiserar detta jobbiga arbete: d du gr bortom
  en viss kolumn (den 70nde, som standard), s tas du automatiskt till
  nsta rad.


  S hr slr du p detta lge, och anger radlngden till 80 tecken:



         (setq sgml-mode-hook
               '(lambda () "Defaults for SGML mode."
                   (auto-fill-mode)
                   (setq fill-column 80)))






  5.

  Ispell

  Om du vill stavningskontrollera dina dokument frn Emacs, s kan du
  anvnda Ispell-paketet och dess Emacs-lge.



  5.1.

  Att vlja standardordlistor

  Du kan stlla in Emacs s att det, d du laddar en fil, automatiskt
  vljer vilka ordlistor det ska anvnda (det kan anvnda flera). Den
  frsta, och skerligen den viktigaste, r huvudordlistan, vilken
  distribueras med Ispell. Du kan vlja mellan flera olika sprk. Den
  andra r din personliga ordlista, dr Ispell infogar ord som det inte
  kunde finna i huvudordlistan, men du sade t det att komma ihg.


  En svensk (och ven en dansk) ordlista kan hmtas p
  http://www.sslug.dk/ispell.

  Om du vill anvnda den standardiserade franska ordlistan som kommer
  med Ispell, och om du vill anvnda filen .ispell-perso-ord, i din
  hemkatalog, som din personliga ordlista, s lgg till fljande rader
  till din .emacs-fil:









         (setq sgml-mode-hook
         '(lambda () "Defaults for SGML mode."
         (setq ispell-personal-dictionary "~/.ispell-perso-ord")
         (ispell-change-dictionary "francais")
         ))






  5.2.

  Vlja speciella ordlistor fr vissa filer

  Du kan f problem om du inte stavningskontrollerar alla dokument i
  samma sprk hela tiden. Om du verstter dokument, s r det ganska
  troligt att du byter sprk (och ordlistor) vldigt ofta.



  Jag knner inte till ngot Lisp-stt att vlja, antingen automatiskt
  eller med ett enkelt mus-klick, huvudordlista eller personliga
  ordlista, som ska associeras med sprket du fr tillfllet anvnder.
  (Om du knner till ngot om detta, tala om det fr mig!)



  Det r dock mjligt att ange, p slutet av filen, vilka ordlistor du
  vill anvnda fr den aktuella filen (och endast denna). Det rcker att
  lgga till dem som kommentarer, s att Ispell kan lsa dem d det kr
  stavningskontrollen (spell-check).



       <!-- Local IspellDict: english -->
       <!-- Local IspellPersDict: ~/emacs/.ispell-english -->




  Om du redan, i din .emacs-fil, har angivit att dina standard-ordlistor
  r de franska, s kan du lgga till dessa rader i slutet av varje
  engelsk fil.



  5.3.

  Stavningskontrollera dina dokument

  Fr att stavningskontrollera ett helt dokument, anvnd, varifrn som
  helst i dokumentet, Meta-x ispell-buffer-kommandot. Du kan ven vlja
  att bara kontrollera en viss del av dokumentet:



    Markera brjan av avsnittet med Ctrl-Spc (mark-set-command),


    G till slutet av avsnittet du vill kontrollera,


    Skriv Meta-x ispell-region.


  Sedan kr Emacs Ispell. D det stter p ett oknt ord visar det dig
  det aktuella ordet (vanligtvis markerat) och ber dig vlja mellan:



    mellanslag behll ordet, endast denna gng,


    i behll ordet, och infoga det i din personliga ordlista,


    a behller ordet fr denna session,


    A behller ordet i denna fil, och infogar det i filens lokala
     ordlista,


    r lter dig rtta till ordet fr hand,


    R lter dig rtta till alla instanser av det felstavade ordet,


    x avbryter kontrollen och placerar markren dr den var frn
     brjan,


    X avbryter kontrollen och lmnar markren dr den r, vilket lter
     dig korrigera filen; du kan senare fortstta kontrollen om du
     skriver Meta-x ispell-continue,


    ? ger dig hjlp.


     Om ispell finner ett eller flera ord som liknar det oknda ordet,
     s visar det dem i ett litet fnster, vart och ett med en siffra
     framfr sig. Tryck bara p motsvarande siffertangent, fr att
     erstta det felstavade ordet med det korresponderande ordet.



  5.4.

  Personlig ordlista kontra filens lokala ordlista

  i-tangenten lter dig infoga ett ord i din personliga ordlista, och A
  lter dig infoga ett ord i en lokal ordlista fr den aktuella filen.



  Den lokala filens ordlista r en sekvens av ord infogade i slutet av
  filen, som kommentarer, vilka lses in a Ispell varje gng det ska
  kontrollera filen. P det sttet kan du behlla vissa ord, vilka r
  acceptabla i denna fil, ven om de inte med ndvndighet r acceptabla
  i andra filer.



  Enligt min sikt s r det bttre att reservera den personliga
  ordlistan fr ord som huvudordlistan inte knner till, men som tillhr
  sprket (som sammansatta ord), plus ngra vanliga ord som substantiv
  och andra ord (som Linux), om de inte r alltfr lika ett riktigt ord,
  som finns i huvudordlistan; att lgga till alltfr mnga ord i den
  personliga ordlistan, ssom frnamn, kan vara farligt, eftersom de kan
  likna ett ord som ingr i sprket (man skulle kunna tnka sig att
  Ispell blir frvirrat av det fljande: `Det roligaste med Young Ones
  var nr Neil skulle koka linus-soppa.' (-- Om jag skulle lagt in Linus
  i min personliga ordlista!--)



  5.5.

  Direkt stavningskontroll

  Ispell kan utfra stavningskontroll p filen medan du skriver. Till
  detta mste du anvnda ispell-minor-mode. Fr ett starta eller avsluta
  det, skriv Meta-x ispell-minor-mode. Ispell piper varje gng du
  skriver ett ord som det inte knner igen.



  Om dessa pip irriterar dig (eller om din rumskamrat tar en tupplur),
  s kan du erstta de irriterande pipen med att skrmen blinkar till,
  vilket du gr med kommandot Meta-x set-variable RET visible-bell RET t
  RET. Fr att fr evigt tysta Emacs, kan du lgga till fljande rad i
  din .emacs-fil:



         (setq visible-bell t)






  6.

  Fula knep

  6.1.

  Att automatiskt infoga ett dokumenthuvud

  Emacs lter dig hook-a vissa funktioner till hndelser (ppna en fil,
  spara, kra igng ett nytt lge osv).



  autoinsert-biblioteket anvnder denna funktion: nr du ppnar en ny
  fil under Emacs, s infogar detta bibliotek, i enlighet med filtypen,
  ett standardiserat dokumenthuvud.



  I vrt fall skulle detta standardiserade huvud kunna vara den del som
  deklarerar dokument-typen (LinuxDoc), titeln, frfattaren och datumet.



  Jag ska beskriva tv stt att infoga ett sdant huvud. Du skulle kunna
  infoga en frpreparerad fil, vilken innehller denna information,
  eller s kan du kra en elisp-rutin.






  6.1.1.

  Genom att infoga en fil

  Frst mste du sga t Emacs att kra auto-insert-lget d en fil
  ppnas, att sedan lsa autoinsert-biblioteket, vilket deklarerar auto-
  insert-alist-listan, vilken vi mste ndra i. Denna lista anger
  huvudet som ska infogas fr varje filtyp. Som standard mste filen som
  ska infogas finnas i ~/insert/-katalogen, men det r mjligt att ndra
  auto-insert-directory-variabeln, om du vill lgga den ngon
  annanstans.



  Lgg till fljande rader till din .emacs-fil, fr att infoga filen
  ~/emacs/sgml-insert.sgml, varje gng du ppnar en ny SGML-fil:



        (add-hook 'find-file-hooks 'auto-insert)
        (load-library "autoinsert")
        (setq auto-insert-directory "~/emacs/")
        (setq auto-insert-alist
              (append '((sgml-mode .  "sgml-insert.sgml"))
                      auto-insert-alist))




  Sedan kan du skriva in ditt specialkomponerade huvud i filen
  ~/emacs/sgml-insert.sgml, starta om Emacs och ppna t.ex. foobar.sgml-
  filen. Emacs ska d be dig bekrfta att filen ska infogas automatiskt,
  och om du svarar ja s ska filen infogas.



  6.1.2.

  Genom att kra en rutin

  Detta fungerar som frut, men istllet fr att stta auto-insert-alist
  till en fil att infoga, s mste du stta den till en funktion att
  kra. S hr ska du gra, om du vill skriva denna funktion i en fil
  som heter ~/emacs/sgml-header.el (det finns ingen anledning att
  betunga din .emacs-fil med en sdan funktion, eftersom den kan bli
  ganska lng):



        (add-hook 'find-file-hooks 'auto-insert)
        (load-library "autoinsert")
        (add-to-list 'load-path "~/emacs")
        (load-library "sgml-header")
        (setq auto-insert-alist
              (append '(((sgml-mode .  "SGML Mode") . insert-sgml-header))
                      auto-insert-alist))




  I ``appendixet'' hittar du ett exempel p en insert-sgml-header-
  funktion.




  G.  En insert-sgml-header -funktion

  Denna funktion lter anvndaren infoga ett specialkomponerat
  dokumenthuvud i ett Linux Documentation Project-dokument. Den kan
  anropas automatiskt nr en fil ppnas, eller explicit, av anvndaren.



  Denna funktion frgar anvndaren, genom mini-bufferten, om en del
  information, av vilken en del r ndvndig, och annat ej.

  Frst kommer titeln. Om ingen anges, s avslutas funktionen
  omedelbart, och infogar inget. Sedan kommer datumet, frfattaren, hans
  e-postadress och hemsida (de tv sista r valfria).

  Sedan kommer en frga efter namnet p versttaren. Om det inte finns
  ngon, tryck bara Return och inga fler frgor om en hypotetisk
  versttare kommer stllas. Om det finns en, s tillfrgas du om hans
  e-postadress och hemsida (ocks valfria).

  Funktionen skriver sedan in detta i den aktuella buffern, inklusive
  informationen du skrev in i en mall, och inklusive taggarna, som
  anvnds till sammanfattning och frsta kapitlet. Slutligen placeras
  markren dr sammanfattningen ska skrivas.










































  (defun insert-sgml-header ()
    "Infoga dokumenthuvudet fr ett LinuxDoc-dokument"
    (interactive)
    (let (titel forfattare epost hem oversattare epost-oversattare hem-oversattare datum
                starting-point)
      (setq titel (read-from-minibuffer "Titel: "))
      (if (> (length titel) 0)
          (progn
            (setq datum (read-from-minibuffer "Datum: ")
                  forfattare (read-from-minibuffer "Frfattare: ")
                  epost (read-from-minibuffer "Frfattarens e-post: ")
                  hem (read-from-minibuffer "Frfattarens hemsida: http://")
                  oversattare (read-from-minibuffer "versttare: "))
            (insert "<!doctype linuxdoc system>\n<article>\n<titel>")
            (insert titel)
            (insert "</titel>\n<forfattare>\nFrfattare: ") (insert forfattare) (insert "<newline>\n")
            (if (> (length epost) 0)
                (progn
                  (insert "<htmlurl url=\"mailto:")
                  (insert epost) (insert "\" name=\"") (insert epost)
                  (insert "\"><newline>\n")))
            (if (> (length hem) 0)
                (progn
                  (insert "<htmlurl url=\"http://")
                  (insert hem) (insert "\" name=\"") (insert hem)
                  (insert "\">\n<newline>")))
            (if (> (length oversattare) 0)
                (progn
                  (setq epost-oversattare (read-from-minibuffer "versttarens e-post: ")
                        hem-oversattare (read-from-minibuffer "versttarens hemsida: http://"))
                  (insert "versttare : ")
                  (insert oversattare)
                  (insert "<newline>\n")
                  (if (> (length epost-oversattare) 0)
                      (progn
                        (insert "<htmlurl url=\"mailto:")
                        (insert epost-oversattare) (insert "\" name=\"")
                        (insert epost-oversattare)
                        (insert "\"><newline>\n")))
                  (if (> (length hem-oversattare) 0)
                      (progn
                        (insert "<htmlurl url=\"http://")
                        (insert hem-oversattare) (insert "\" name=\"")
                        (insert hem-oversattare)
                        (insert "\"><newline>\n")))))
            (insert "</forfattare>\n<datum>\n")
            (insert datum)
            (insert "\n</datum>\n\n<abstract>\n")
            (setq point-beginning (point))
            (insert "\n</abstract>\n<toc>\n\n<sect>\n<p>\n\n\n</sect>\n\n</article>\n")
            (goto-char point-beginning)
            ))))














