\documentclass[letterpaper]{article}
\nonstopmode
\akai
\usepackage{linuxdoc-sgml}
\usepackage{qwertz}
\usepackage{url}
\usepackage[latin1]{inputenc}
\usepackage{t1enc}
\usepackage[english]{babel}
\usepackage{epsfig}
\usepackage{null}
\def\addbibtoc{
\addcontentsline{toc}{section}{\numberline{\mbox{}}\relax\bibname}
}%end-preamble
\setcounter{page}{1}
\title{LinuxDoc+Emacs+Ispell-HOWTO ¤¤¤åª©}
\author{§@ªÌ¡G Philippe MARTIN
     (\onlynameurl{feloy@wanadoo.fr}) \\ 
     ­^Ä¶ªÌ¡G S\'ebastien Blondeel
     (\onlynameurl{Sebastien.Blondeel@lifl.fr}) \\ 
     ¤¤Ä¶ªÌ¡G§õ¦w¬À An-Shan Lee
     (\onlynameurl{anshan@hello.com.tw})
   }
\date{v0.4, 27 February 1998
   }
\abstract{     ³o¥÷¤å¥ó¥D­n¬O´£¨Ñµ¹ Linux HOWTOs ªº§@ªÌ»PÄ¶ªÌ¤Î¨ä¥L°Ñ»P Linux ¤å¥ó­p¹º (Linux Documentation Project) ªÌ°Ñ¦Ò¨Ï¥Î¡C±q¥»¤å¤j®a¥i¥H§ä¨ì¤@¨Ç¦³Ãö¨Ï¥ÎEmacs »P Ispell ¤u¨ãªº´£¥Ü¡C   }


\begin{document}
\maketitle
\tableofcontents

\section{«e¤å   }


\subsection{ª©Åv    }

ª©ÅvÄÝ©ó Philippe Martin 1998\\ 
¥u­n±z¿í¦u²Ä¤Gª©©Î¤§«áª©¥»ªº GNU ³q¥Î¤½¶}±ÂÅv (General Public License) ªº±ø¥ó¡A±z¥i¥H­«·s´²§G ¤Î/©Î ­×§ï³o¥÷¤å¥ó¡C




\subsection{»ÊÁÂ    }

¯S§O·PÁÂ S\'ebastien Blondeel¡C S\'ebastien ¬O­Ó«D±`Åo­ù§a¶Ûªº¤H¡A¤£°±ªº°Ý§Ú¤@¤j°ï¦³Ãö Emacs ¦w¸Ëªº°ÝÃD¡C:-) ¦ý¤]¥Ñ©ó¥L©Ò°Ýªº°ÝÃD³£«Ü¦³·N¸q¡A¤~¨Ï§Ú¯à§ó²`¤Áªº¤F¸Ñ Emacs¡A¨Ã±N§Ú©Ò¾Ç¨ìªºª¾ÃÑµoªí¥X¨Ó¡A´£¨Ñµ¹¤j®a°Ñ¦Ò¡C




\subsection{µû½×    }

¦pªG±z¦³¥ô¦ó«ØÄ³¥i¥H§ïµ½¥»¤å¡A½Ð¤£­nµS¿ÝºÉ§Öªº§i¶D§Ú¡A§Ú·|¥J²Óªº°Ñ¦Ò±zªº·N¨£¡C\\ ¹ï©ó¦¹¤å¥ó©Ò±´°Qªº¥DÃD¡A¦pªG±z¦³¥ô¦ó°ÝÃDªº¸Ü¡A¤]½ÐºÉ§Öªº§i¶D§Ú¡A§Ú·|«D±`¼Ö·Nªº¦^µª±z¡A¦]¬°±zªºµo°Ý©Î³\¤]¯àÀ°§U§Ú§ïµ½¦¹¤å¥ó¡C\footnote{­^Ä¶ªÌµù¡G°²¦p¤j®a»{¬°³o¤å¥óªº­^¤å«ÜÃøÀ´ªº¸Ü¡A¨º´N©Ç§ÚÂ½Ä¶ªº¤£¦n¡C\\ 
¤¤Ä¶ªÌµù¡G¨º¦pªG¤j®a¹ï³o¤¤¤å¤å¥ó¦³ºÃ°Ýªº¸Ü¡A¨ºÁÙ¬O©Ç¸o­^Ä¶ªÌÅo¡A¦]¬°§Ú¬O·Ó¥Lªº­^¤åÂ½Ä¶¹L¨Óªº¡C:-P ¶}ª±¯ºªº¡A¦pªG¤j®a»{¬°³o¥÷¤å¥ó¤¤¤åÂ½ªº¤£¦n¡A½Ð¦h¦h¥]²[¡A¨Ã´£¨Ñ·N¨£µ¹§Ú¡A¥H«K§Ú§ïµ½¥¦¡AÁÂÁÂ¡C}




\subsection{ª©¥»    }

³o¥÷¤å¥ó»P¤U¦Cª©¥»¬ÛÃö:
\begin{itemize}
\item Sgml-tools ª©¥» 0.99¡A
\item Emacs ª©¥» 19.34¡A
\item Ispell ª©¥» 3.1¡A
\item ¥»¤åÁ|¨Ò¤º¬ÛÃöªº Emacs µ{¦¡®w³£»P¤W¦Cªº Emacs ª©¥»¤@°_µo¦æ¡A {\ttfamily iso-sgml} «h»P XEmacs ¤@°_µo¦æ¡A¦Ó {\ttfamily psgml} «h¬O¿W¦Ûµo¦æªºµ{¦¡®w¡C
\end{itemize}







\section{Â²¤¶   }


\subsection{SGML
    }

{\itshape Standard Generalised Mark-up Language\/}¡A©ÎºÙ¬° {\bfseries SGML}¡A¬O¤@ºØ¥i¥H©w¸q¤å¥ó§ÎºAªº»y¨¥¡C

Ä´¦p¡A±z¥i¥H©w¸q{\itshape ­¹ÃÐ\/}ªº¤å¥ó«¬ºA¡A²Ä¤@³¡¥ý§e²{¨ä¥D¦¨¤À¡A²Ä¤G³¡¤¶²Ð¦õ®Æ¡A²Ä¤T³¡«h¤@¨B¤@¨Bªº«ü¥Ü¦p¦ó¯M¯N³J¿|¡A¤§«á¤@´T¦n¬Ýªº¹Ïµe´N¥iªí²{¨ä¥i¤f¬ü¨ý¤F¡C

     
³o´N¬O©Ò¿×ªº{\itshape ¤å¥ó§ÎºA©w¸q (Document Type Definition)\/}¡C¥¦¨Ã¨S¦³©w¸q³Ì«áªº²£«~À³¬O¤°»ò¼Ë¤l¡A¥¦¥u»¡©ú¤å¥óªº¤º®e¤j¬ù¥]¬A¤F¤°»ò¡C

¥H¦¹Ãþ±À¡A±z¦bÅª¤F§Ú³o­¹ÃÐªº«¬ºA©w¸qªºÁ|¨Ò¤§«á¡A±zªº¸£¤l¸Ì´N·|¦³±z¦Û¤vÃþ¦üªº­¹ÃÐ¡A©ÎªÌ±z·Qªº¥¿¬O±z³Ì³ßÅwªº¼p¤l©Ò§e²{µ¹±zªº¡A¹ï§a¡HµM¦Ó¡A¥L­Ì¨ä¹ê¬Ý°_¨Ó³£¬O¤£¦Pªº¡G¦b§Úªº·Q¹³¸Ì¡A§Úªº¦¨ªG·Ó¤ù¬O©ñ¦b¯D«ÇÂd¤lªº¥ª¤W¨¤¡A¦Ó¥D¦¨¤Àªºªí³æ¬O¦b«áªá¶é¸Ì¡A¤¶©ó´åªa¦À»P¯N¦×°Ï¤§¶¡¡C±zªº©O¡H

¦hÁÂ SGML ªº¼Ð·Ç©w¸q¡A§Ú­Ì¥i¥H«ö·Ó¨ä©Ò´£¨Ñªº®æ¦¡»´ÃPªº¼g¤@¥÷¤å¥ó¡A¦Ó¤£¥Î¾á¤ß³Ì«áÅªªÌ·|¬Ý¤£À´§Ú­Ì¦b¼g¨Ç¤°»ò¡C




\subsection{{\ttfamily LinuxDoc} «¬ºA©w¸q    }

¥¿¦p±z¥i¯à²q¨ìªº¡A³o«¬ºA¾A¥Î©ó¼g§@Ãö©ó Linux ªº¤å¥ó¡C

¦¹ºØ¤å¥ó³q±`«Øºc¦p¤U¡G¤å¥óªº¶}©l¬O¼ÐÃD¡A±µµÛ¬O§@ªÌªº¦WºÙ¡A¤å¥óªºª©¥»¸¹½X»P¤é´Á¡C¦A¨Ó¬OºK­n¡]³o¼ËÅªªÌ´N¤£¥Î¦bÂsÄý¹L¾ã½g¤å¥ó¤§«á¤~ª¾¹D³o¨Ã¤£¬O¥L­Ì·Q¬Ýªº¤å¥ó¡^¡A¤§«á¬O¥Ø¿ý¡AÅã¥Ü¤å¥óµ²ºc¡A³o¼Ë¤@¨Ó¨º¨Ç«æ©ó·Qª¾¹D¬Y¤@¯S©w¤º®eªº¤H´N¥iª½±µ¸õ¨ì¨º³¡¤À¥hÅª¡C

µM«á´N¬O¤@¨t¦Cªº³¹¸`¡A¬q¸¨µ¥¡C¦b³o³¡¤À¡A±z¥i¥H´¡¤J³¡¤Àµ{¦¡¡A§ïÅÜ¦rÅé¨Ó±j½Õ¬Y­Ó¦r²´©Î¥y¤l¡A©Î´¡¤J¦Cªí (lists)¡A¥H¾É¤ÞÅªªÌ¦Ü¤å¥óªº¥t¤@³¡¥÷Åª¨ú¬ÛÃö¸ê®Æ¡Aµ¥µ¥¡C

­n¼g³oºØ¤å¥ó¡A±z¥u»Ý­n¥¿½Tªº¸Ô²Ó»¡©ú¤å¥óªº¼ÐÃD¡A§@ªÌ¡A¤é´Á¡Aª©¥»¡A³¹¸`³¡¤À¡A¤Î¤j¬ù»¡©ú¦ó®É±N´¡¤J¬Y¤@¦Cªí (list)¡A¨ä¥]§tªº¤¸¥ó¬O¤°»òµ¥µ¥§Y¥i¡C




\subsection{{\ttfamily SGML-Tools}
    }

{\bfseries SGML-Tools}¥i¥H±N¤@¤å¥óªº¯S®í³W®æÂà´«¦¨±z©Ò·Q­nªº®æ¦¡¡C°²¦p±z­n±N¦¹¤å¥ó¦s¦b±z­Ó¤Hªºµ{¦¡®w¡A±z¥i¥H¿ï¾ÜÂà¦¨ {\itshape PostScript\/} ®æ¦¡¡C°²¦p±z­n±N¥¦³z¹Lºô¸ô»P¥@¬É¤À¨É¡A¥i±N¥¦Âà¦¨ {\itshape HTML\/} ®æ¦¡¡C°²¦p±z¥²¶·¦b Windows ¤UÅª¨ú¦¹¥÷¤å¥ó¡A±z¥i¥H§â¥¦Âà¦¨ {\itshape RTF\/} ®æ¦¡¡A¨Ã¨Ï¥Î¤å®Ñ³nÅéÅª¨ú¡C©ÎªÌ±z¤]¥i¥H±N¤§Âà¦¨¤W­z©Ò¦³®æ¦¡¡A¥H«K±z¥ô¦ó®É­Ô¨Ï¥Î¡C

±z¥i±q³o FTP ¯¸ \onlynameurl{ftp://ftp.lip6.fr/pub/sgml-tools/} ¨ú±o SGML-Tools¡C 


\section{±zªº²Ä¤@¥÷¤å¥ó    }




\subsection{±q¤@¥÷¯Â¤å¦rÀÉ¤å¥ó¶}©l     }

°²¦p±z­n±N¤@¯Â¤å¦rÀÉ¤å¥óÂà¦¨ SGML ¥H«K¦A±N¤§Âà¦¨¨ä¥Lªº®æ¦¡¡A°µªk¦p¤U¡G

\begin{enumerate}
\item ¦A³Ì¶}ÀY®É¥[¤W¤U¦C¦r¥y»P¼ÐÅÒ¡G
       
\begin{verbatim}
        <!doctype linuxdoc system>
         <article>
          <title>¼ÐÃD (Title) ©ñ¦¹</title>
          <author>
           §@ªÌ¡A§@ªÌªº¹q¤l¶l¥ó±b¸¹¡Aµ¥µ¥¡C
          </author>
          <date>
           ª©¥»¤Î¤é´Á
          </date>
       
\end{verbatim}

       
\item ¦pªG±z­n¦b¶}ÀY®ÉºK­n¦¹¤å¥óªº¤º®e¡A½Ð±N¤U¦C¼ÐÅÒ¥Î©ó¦¹¬q¸¨ªºÀY§À¡G {\ttfamily $<$abstract$>$} »P {\ttfamily {$<$}/abstract$>$}¡C
       
\item ¤§«á´¡¤J³o {\ttfamily $<$toc$>$} ¼ÐÅÒ¡A SGML-Tools ¦Û·|Åã¥Ü¤å¥óªº{\itshape ¥Ø¿ý (Table Of Contents)\/}¡C
\item ¦A¨Ó¡A¦b¨C¤@³¹ (chapter) ªº¶}©l¡A¥H¤U¦C¦r¥y»P¼ÐÅÒ¨ú¥N¨C¤@³¹ªº¸¹½X¤Î¼ÐÃD¡G

\begin{verbatim}
       <sect>³o¤@³¹ªº¼ÐÃD (The Title Of The Chapter)
       
\end{verbatim}

¦A©ó³o¤@³¹ªºµ²§À¥[¤W¦¹ {\ttfamily {$<$}/sect$>$} ¼ÐÅÒ¡C\\ 
{\bfseries µù~¡G} ±z¤£»Ý©ñ¤W³o¤@³¹ªº¬Û¹ï¸¹½X¡A SGML-Tools ¦Û·|À°±z¥[¤W¡C



\item ¥H¬Û¦Pªº¤èªk¥Î©ó±µ¤U¨Óªº¤À¸` (section)¡C±z¥²¶·§R°£¨C¤@¸`ªº¸¹½X¡A¨Ã¥H¦¹ {\ttfamily $<$sect1$>$} ¼ÐÅÒ¼Ð©ó¨C¤@¸`¶}ÀYªº¼ÐÃD¡A¤Î¦b¨C¤@¸`ªºµ²§À¼Ð¤W {\ttfamily {$<$}/sect1$>$}¡C
\item ¦b¨C¤@¸`¤¤¡A±z¤]¥i¥H¨Ï¥Î {\ttfamily $<$sectn$>$} »P {\ttfamily {$<$}/sectn$>$} ¼ÐÅÒ¡A±N¤§¤À¼h¦h¹F 4 ­Ó¼h¦¸¡A¨C¤@¼h¨Ï¥Î¦P¼Ëªº¼ÐÅÒ¡A¨ä¤¤ n=2,3, ©Î 4¡A¨Ì¦¹Ãþ±À¡C
\item ¤§«á¡A¦b¨C¤@¬q¸¨ (paragraph) ªº¶}©l¡A´¡¤J {\ttfamily $<$p$>$} ¼ÐÅÒ¡C
\item ¦b¬q¸¨¤¤¡A¦pªG±z»Ý­n±j½Õ¬Y¨Ç³¡¤À¡A´N¨Ï¥Î {\ttfamily $<$it$>$} »P {\ttfamily {$<$}/it$>$} ({\itshape ±×Åé\/})¡A {\ttfamily $<$bf$>$} »P {\ttfamily {$<$}/bf$>$} ({\bfseries ²ÊÅé})¡A©Î {\ttfamily $<$tt$>$} »P {\ttfamily {$<$}/tt$>$} ({\ttfamily ¥´¦rÅé}) ¼ÐÅÒ¡C
\item ­Y­n´¡¤J¦Cªí (list)¡A½Ð¨Ì¤U¦C¤è¦¡¡G 

\begin{verbatim}
        ¨Ò¤l¡G³o¬O¤@­Ó¥|¦æªº¦Cªí¡G

         - ²Ä¤@¦æ©ñ¦b³o¸Ì
         - ¸òµÛ²Ä¤G¦æ
         - ¦A¨Ó²Ä¤T¦æ
         - ²Ä¥|¦æ¡C
       
\end{verbatim}

       
½Ð¥H¤U¦C¤è¦¡¨Ó¼Ð©ú¤W¦C¦Cªí¡G
       
\begin{verbatim}
        ³o¬O¤@­Ó¥|¦æªº¦Cªí¡G
       <itemize>
       <item>²Ä¤@¦æ©ñ¦b³o¸Ì
       <item>¸òµÛ²Ä¤G¦æ
       <item>¦A¨Ó²Ä¤T¦æ
       <item>t²Ä¥|¦æ¡C
       </itemize>
       
\end{verbatim}

\item ·í±z­n¦b¬q¸¨¤¤©ñ¶i¬Yµ{¦¡ªº¤@³¡¤À¡A©ÎªÌ»Ý­n¬ðÅã¬Y¨Ç¦a¤è¡A½Ð¨Ì¤U¦C¤è¦¡¡G

\begin{verbatim}
        <verb>
        10 REM ³á¡A¦Ñ¤Ñ¡I³o¬O¤°»ò¡H
        20 REM §Ú¥H¬°³oªF¦è¦­´N¤£¨£¤F¡I
        30 PRINT "§Ú¦^¨ì...";
        40 PRINT "¬@±Ï¥@¬É¡C"
        50 INPUT "§A±q­þ±oª¾ªº¡H ",M$
        60 IF M$="ªü§b" THEN PRINT "§A«ÜÁo©ú¡C":GOTO PARADISE
        70 ELSE PRINT "ÁöµM§A¤´¬O¶Ì©I©Iªº¡C":GOTO RICHMOND
        </verb>
       
\end{verbatim}

\item ¨ì¥Ø«e¬°¤î¡A±z©Ò¾Ç¨ìªº SGML ®æ¦¡§Þ³N¤w¸g¬Û·í°÷¥Î¡C°²¦p±z·Q¦A¥[±j±zªº¤å¥ó¡A±z¥i¥H°Ñ¦Ò {\bfseries SGML-Tools} ªº¨Ï¥Î«ü¤Þ¡A¸Ì­±¸ÔºÉªº¤¶²Ð¤F¦³Ãö {\bfseries LinuxDoc} ¤å¥ó«¬ºAªºÀ³¥Î¡C
\end{enumerate}



\section{³]©w {\ttfamily Emacs}
    }




\subsection{­«­µ¤å¦r (Accented Characters)
     }

°²¦p±z»Ý­n¥Hªk¤å©Î¨ä¥L¦è¼Ú»y¨¥¨Ó¼g¤å¥ó¡A±z¥²¶·¨Ï¥Î 8-bit ¤å¦r (8-bit characters)¡A¤~¥iÅã¥Ü¨ä¦³­«­µªº¤å¦r¡C³o¼Ëªº³]¸m¤~¥i¥H¥O Emacs ±µ¨ü³o¨Ç¤å¦r¡C




\subsubsection{Åã¥Ü 8-bit ¤å¦r      }

­n¥O Emacs Åã¥Ü 8-bit ¤å¦r¡A±z¥²¶·±N¤U¦C«ü¥O¥[¤J±zªº {\ttfamily .emacs} ÀÉ®×¡G
\begin{verbatim}
       (standard-display-european 1)
       (load-library "iso-syntax")
      
\end{verbatim}


°²¦p±z¦b¤@­Ó¤£¤ä´© 8-bit ªº²×ºÝ¾÷¤W¨Ï¥Î Emacs¡A±z¥i¥H¨Ï¥Î {\ttfamily iso-ascii} µ{¦¡®w ({\ttfamily (load-library "iso-ascii")})¡A¥¦·|«ü¥O Emacs ¥H³Ì¬Û¦üªº§Î¦¡¨ÓÅã¥Ü³o¨Ç¤å¦r¡C




\subsubsection{8-bit ¤å¦rªºÁä¤J      }

°²¦p±zªºÁä½L¤¹³\±zÁä¤J¦³­«­µªº¤å¦r¡A¨º´N¨S¦³°ÝÃD¡A­n¤£µM¤]¥i·Ó¤U¦C¤è¦¡¨Ó¸É±Ï¡G




\paragraph{{\ttfamily Iso-acc} µ{¦¡®w      }

Emacs {\ttfamily iso-acc} µ{¦¡®w¥i¥HÅý±z¨Ï¥Î 7-bit ªºÁä½LÁä¤J 8-bit ªº¤å¦r¡C

¥u­n±N¤U¦C«ü¥O¥[¤J±zªº {\ttfamily .emacs} ÀÉ®×¡G
\begin{verbatim}
      (load-library "iso-acc")
      
\end{verbatim}


µM«á¦b¨Ï¥Î Emacs ®É¡A¶}±Ò±z©Ò»Ý­n½s¿èªºÀÉ®×¡AÁä¤J {\ttfamily Meta-x iso-accents-mode}¡C

³o¼Ë±z­Y­nÁä¤Jªk¤å {\itshape caf\'e\/} ªº {\bfseries \'e} ªº¸Ü¡A±z´N¥i¥H¥ýÁä¤J {\bfseries '} µM«á¦AÁä¤J {\ttfamily e}¡CÁ`¤§¡A±z»Ý¥ýÁä¤J¨º­Ó¤å¦rªº­«­µ¡A¤§«á¦AÁä¤J¬Û¹ïªº¦r¥À¡]¤£½×¤j¼g©Î¤p¼g¡^¡C¥H¤U¬O¤@¨Ç±z¥i¥H¨Ï¥Îªº­«­µ¡G

\begin{list}{}{}
\item {\ttfamily '}~: Acute
\item {\ttfamily `}~: Grave
\item {\ttfamily \^{}}~: Circumflex
\item {\ttfamily "}~: Dieresis
\item {\ttfamily \~{}}~: Tilde, cedilla, »P¨ä¥L¯S§Oªº¨Ò¤l (cf iso-acc.el).
\item {\ttfamily /}~: ¦b¤@¦r¥À¤W¥[½u¡Aµ¥µ¥¡C
\end{list}
      

¦pªG±z¥u»Ý­n³o¨Ç­«­µ²Å¸¹¤§¤@¡A¦ý¤£¬O¬Û¹ïªº­«­µ¦r¥À¡A¨º´N¦b²Å¸¹¤§«áÁä¤J¤@ªÅ¥ÕÁä¡C¨Ò¦p¡A­n¿é¥X {\itshape l'\'el\'ephant\/}¡A´NÁä¤J {\ttfamily l ' \cparam{ªÅ¥Õ} ' e l ' e ...} §Y¥i¡C

±z¥i¥H¦b {\ttfamily iso-acc.el} ÀÉ®×¤º§ä¨ì©Ò¦³±z»Ý­nªº­«­µ²Õ¦X¡C




\paragraph{\cparam{Meta} Áä      }

±z¥i¥H¦b¬Y¨Ç²×ºÝ¾÷¤W¨Ï¥Î \cparam{Meta} (©Î \cparam{Alt}) Áä¨ÓÁä¤J 8-bit ¤å¦r¡C¨Ò¦p¡A±z¥i¥HÁä¤J {\bfseries \cparam{Meta}-i} ¨Ó¿é¥X {\bfseries \'e} ³o­Ó¦r¡C

¦ý¬O´N§Ú©Òª¾¡A Emacs ±N \cparam{Meta} Áä¥Î©ó¨ä¥L³õ¦X¡A¨ä¥Lªºµ{¦¡®w¦ü¥G¤]¤£´£¨Ñ³oºØ­«­µ¿é¤J¤è¦¡¡C

¤£¹L§Ú­ÌÁÙ¬O¥i¥H¥H¤U¦C¤è¦¡¨Ó¸É±Ï¡G

\begin{verbatim}
      (global-set-key "\ei" '(lambda () (interactive) (insert ?\351)))
                         _                                      ___
      
\end{verbatim}


¥u­n±N¤W¦C«ü¥O¥[¤J±zªº {\ttfamily .emacs} ÀÉ®×¤º¡A±z´N¥i¥H¥Î {\bfseries \cparam{Meta}-i} ¨Ó¿é¥X {\bfseries \'e}¡C±z¤]¥i¥H­«·s©w¸q±z­nªº²Õ¦X¡A¥u­n±z¥Î±z­nªº¦rÁä (key) ¨ú¥N {\bfseries i}¡A¥Î¥¿½Tªº½s½X (code) ¨ú¥N {\bfseries 351}¡A¦A°t¹ï°_¨Ó¡A´N¥i¥H±o¨ì±z­nªº­«­µ¦r¥À¡C±z¥i°Ñ¦Ò ISO-8859-1 character set ¨ú±o±z­nªº½s½X¡C

{\bfseries ª`·N¡I} ¬Y¨Ç local modes ©Î³\·|­«·s©w¸q±zªº¦rÁä²Õ¦X¡C




\subsubsection{8-bit  SGML ¤å¦rªºÅã¥Ü    }

¨Ï¥Î SGML ®É¡A±z¥i¥H§Q¥Î¥¨¶° (macros) ¨Ó¿é¤J­«­µ¤å¦r¡C¨Ò¦p¡A­n¿é¤J {\bfseries \'e} ´N¥i¥Î {\bfseries \&eacute;}¡C¦ý³q±`¡A»Ý­nÅª¨ú SGML ªºÀ³¥Î³nÅé³£¥i¥HÅª¨ú 8-bit ¤å¦r¡A©Ò¥H¤@¯ë³£¥Î¤£¨ì³oºØ¥¨¶°¡C©Î³\¦³¨Ç³nÅé¤´µMµLªkÅª¨ú 8-bit ¤å¦r¡A¨º»ò³o®É±z´N¥i¥H§Q¥Î¤W­z¥¨¶°¤F¡C

¤@¯ë®É­Ô¡A¦b¨Ï¥Î Emacs ®É¡A±z¥i¥H§Q¥Î {\ttfamily iso-sgml} µ{¦¡®w¨Ó¿é¤J­«­µ¤å¦r¡C·í±z­n±N¤å¥óÀÉ®×¦s¨ìºÏºÐ®É¡A¥¦¤]·|À°±z§â 8-bit ¤å¦rÂà¦¨ SGML ªº®æ¦¡¡A¥H¤è«K±zÅª¨ú¡C

©Ò¥H¦³¤F³o­Óµ{¦¡®w¡A±z´N¥i¥H¦b¨Ï¥Î Emacs ®É¡A»´ÃPªº¿é¤J©ÎÅª¨ú 8-bit ¤å¦r¡A¬Æ¦Ü¤@­Ó¤£±µ¨ü 8-bit ¤å¦rªº³nÅé¡A¤]¥i¥HÅª¨ú±z½s¼gªº 8-bit ¤å¥ó¡C

±z¥u­n±N¤U¦C¤å¦r¥[¤J {\ttfamily .emacs} ÀÉ®×¤º¡A±z´N¥i¥H¨Ï¥Î¤W­zµ{¦¡®w¡G

\begin{verbatim}
      (setq sgml-mode-hook
      '(lambda () "Defaults for SGML mode."
       (load-library "iso-sgml")))
      
\end{verbatim}





\subsection{SGML ¼Ò¦¡ (SGML mode)
     }

·í¸ü¤J {\bfseries .sgml} ¬ÛÃö¤å¥ó®É¡A Emacs ³q±`·|¦Û°Ê¶i¤J {\bfseries sgml ¼Ò¦¡}¡C °²¦p¨S¦³ªº¸Ü¡A±z¥i¥HÁä¤J {\ttfamily Meta-x sgml-mode} ¨ÓÅX°Ê¥¦¶i¤J {\bfseries sgml ¼Ò¦¡}¡C©ÎªÌ±N¤U¦C«ü¥O¥[¤J {\ttfamily .emacs} ÀÉ®×¤º¨Ó³]©w¥¦¦Û°Ê¶i¤J¡G

\begin{verbatim}
      (setq auto-mode-alist
      (append '(("\.sgml$"  . sgml-mode))
                auto-mode-alist))
     
\end{verbatim}


¦b sgml ¼Ò¦¡¤U¡A±z¥i¥H¿ï¾Ü­n¦p¦ó¿é¥X 8-bit ¤å¦r¡C¤ñ¦p¡A¨Ï¥Î {\ttfamily Meta-x sgml-name-8bit-mode} ¡]©Î¬O¿ï³æ¶µ¥Ø¤Wªº {\itshape SGML/Toggle 8-bit insertion\/}¡^¡A±z¥i¥H¿ï¾Üª½±µ¿é¥X 8-bit ¤å¦rªº®æ¦¡¡A©Î¬O¿é¥X SGML ªº®æ¦¡¡]§Y {\bfseries \&...;} ®æ¦¡¡^¡C

¦b¦¹¼Ò¦¡¤U¡A±z¤]¥i¥H¨Ï¥Î {\ttfamily Meta-x sgml-tags-invisible}¡]©Î¬O¿ï³æ¶µ¥Ø¤Wªº {\itshape SGML/Toggle Tag Visibility\/}¡^ ¨Ó¿ï¾Ü¬O§_­nÁôÂÃ©ÎÅã¥Ü SGML ¼ÐÅÒ¡C




\subsection{PSGML ¼Ò¦¡ (PSGML mode)
    }

PSGML ¼Ò¦¡¹ï©ó¦b¨Ï¥Î Emacs ¤U½s¿è SGML ¤å¥ó«Ü¦³§U¯q¡C

³o¥÷¤å¥ó \onlynameurl{psgml-linuxdoc} ¸ÑÄÀ¤F¦p¦ó¦w¸Ë³o­Ó¼Ò¦¡¡A¤Î¦p¦ó±N¤§À³¥Î¦b {\itshape LinuxDoc\/}¡C 




\subsection{¨ä¥L¬ÛÃö¼Ò¦¡     }




\subsubsection{Auto-fill mode
      }

¦b¤@¯ë¼Ò¦¡¤U¡A·í±z¥´§¹¤@­Ó¬q¸¨¡A±z³q±`·|Áä¤J \cparam{Return} ¥H«K´«¨ì¤U¤@¦æ¡A§_«h±z¤å³¹ªº¬q¸¨´N·|¬Û³s¡AµLªk¤À²M·¡¡C¦ý·í±z¨Ï¥Î \cparam{Return} ¥H«K´«¨ì¤U¤@¦æ®É¡A±zªº¬q¸¨ªº¥kÃä³q±`¬O°Ñ®t¤£»ôªº¡C

¦ý°²¦p±z¤£´«¨ì¤U¤@¦æ¦ÓÄ~ÄòÁä¤J¤å¦r¡A¦b¬Y¨Ç½s¿è¾¹¤U¡A±z´NµLªk¬Ý¨ì¥kÃäÃä¬É¥~ªº¤å¦r¬O¤°»ò¡C

¦b³o±¡§Î¤U¡A{\bfseries auto-fill} ¼Ò¦¡¥i¥HÀ°±z§ï¥¿³o±¡ªp¡C·í±zÁä¤J¶W¹L¹w³]­Èªº²Ä70¦C®É¡A¦b³o¼Ò¦¡¤U¡A±z´N·|¦Û°Ê´«¨ì¤U¤@¦æ¡C

¤U¦C¬O°õ¦æ auto-fill ¼Ò¦¡ªº«ü¥O¡A¨Ã¥i±N¤@¦æªº¼e«×½Õ¾ã¬°80¦C¡G

\begin{verbatim}
       (setq sgml-mode-hook
             '(lambda () "Defaults for SGML mode."
                 (auto-fill-mode)       
                 (setq fill-column 80)))
       
\end{verbatim}





\section{Ispell
    }

¦pªG±z­n¦b¨Ï¥Î Emacs ®É§@«÷¦rÀË¬d¡A±z¥i¥H¨Ï¥Î {\bfseries Ispell} ®M¥ó¤Î¨ä Emacs ¼Ò¦¡¡C




\subsection{¿ï¾Ü±zªº¹w³]Ãã¨å (default dictionaries)
     }

±z¥i¥H³]©w Emacs¡A¨Ï¤§¦b¶}©l¸ü¤J¬Y¤@¤å¥ó®É¡A«K¦Û°Ê¿ï¾Ü©Ò»ÝªºÃã¨å¡]±z¥i¥H¿ï¾Ü¦n´X­Ó¡^¡C¹w³]Ãã¨å (main dictionary) §Y¥D­nÃã¨å¡A¬O»P Ispell ¤@°_µo¦æªºÃã¨å¡C±z¥i¥H¿ï¾Ü±z©Ò»Ý­nªº»y¨¥¡C²Ä¤G­Ó§Y¬O±zªº­Ó¤HÃã¨å (personal dictionary)¡A±z¥i¥H³]©w­n Ispell ±N±z¦b¥D­nÃã¨å¸Ì©Ò§ä¤£¨ìªº¦r©ñ¨ì³o¸Ì¡C

°²¦p±z­n±N Ispell ¸Ìªºªk¤åÃã¨å³]¬°¹w³]Ãã¨å¡A¨Ã·Q¥Î±z¥D¥Ø¿ý (home directory) ¤Uªº {\ttfamily .ispell-dico-perso} ÀÉ®×§@¬°­Ó¤HÃã¨å¡A¥i¥H¦b {\ttfamily .emacs} ÀÉ®×¸Ì¥[¤J¤U¦C«ü¥O¡G

\begin{verbatim}
       (setq sgml-mode-hook
       '(lambda () "Defauts for SGML mode."
       (setq ispell-personal-dictionary "~/.ispell-dico-perso")
       (ispell-change-dictionary "francais")
       ))
      
\end{verbatim}





\subsection{¬°¯S©w¤å¥ó³]©w­Ó§OªºÃã¨å     }

¦pªG±z¨S¦³¥Î¦P¤@»y¨¥¨ÓÀË¬d¾ã¥÷¤å¥óªº«÷¦r¡A¨º»ò±z¥i¯à·|¹J¨ì¤@¨Ç§xÃø¡C¦ý·í±z¦bÂ½Ä¶¤å³¹®É¡A±z«Ü¦³¥i¯à¸g±`¥æ´«¨Ï¥Î¤£¦Pªº»y¨¥»PÃã¨å¡C



¤£ºÞ¬O¦Û°Ê³]©wªº©Î¬O¤â°Êªº¡A§Ú¨Ã¤£²M·¡ Lisp ¬O¦p¦ó¿ï¾Ü©Ò»Ýªº¥DÃã¨å©M­Ó¤HÃã¨å¡C¡]¦pªG±zª¾¹Dªº¸Ü¡A½Ð¨Ó«H§i¶D§Ú¡I¡^



¤£¹L©O¡A¦b¨C¤@­ÓÀÉ®×ªºµ²§À¡A¥u­n±N¤U¦C«ü¥O¥[¤J§@¬°ª`ÄÀ¡A±z³£¥i¥H«ü©w±z²{¦æªºÀÉ®×­n¨Ï¥Î­þ¤@Ãã¨å¡C Ispell ¶}©l«÷¦rÀË¬d®É§Y¥iÀ³¥Î©Ò«ü©wªºÃã¨å¡G

\begin{verbatim}
      <!-- Local IspellDict: english -->
      <!-- Local IspellPersDict: ~/emacs/.ispell-english -->
     
\end{verbatim}


°²¦p±z¦b {\ttfamily .emacs} ÀÉ®×¸Ì¤w¸g³]©w¤F¹w³]Ãã¨å¬°ªk¤å¡A¨º±z¥i¥H±N¤W­z«ü¥O¥[¤J±z©Ò¼gªº­^¤å¤å¥óªºµ²§À¡A¥H«K¨Ï¥Î­^¤åÃã¨å¡C




\subsection{¤å¥óªº«÷¦rÀË¬d      }

­Y­nÀË¬d¾ã¥÷¤å¥ó¡A¥i¦b¤å¥ó¤º¥ô¤@³B¨Ï¥Î {\ttfamily Meta-x ispell-buffer} «ü¥O¡C±z¤]¥i¥HÀË¬d¤å¥ó¬Y¨Ç³¡¤Àªº«÷¦r¡G

\begin{itemize}
\item  ±N­nÀË¬d«÷¦rªº³¡¤À¤§¶}ÀY¥Î {\ttfamily Ctrl-Spc} ¼Ðµù (mark)
(§Y©Ò¿×ªº mark-set-command)¡A
\item  µM«á¼Ðµù¨ì¨º³¡¤Àªºµ²§À¡A
\item  ¦AÁä¤J«ü¥O {\ttfamily Meta-x ispell-region}.
\end{itemize}


Emacs ´N·|¶}©l°õ¦æ Ispell¡C·í¹J¨ìÃã¨å¸Ì©Ò¨S¦³ªº¦r®É¡Aµ{¦¡·|Åã¥Ü³o­Ó¦r¡]³q±`¥H¤Ï¥ÕÅã¥Ü¡^¡A¨Ã­n¨D±z¿é¤J¤U¦C«ü¥O¡G

\begin{itemize}
\item {\bfseries spc }accepts the word, this time only,
\item {\bfseries i }accepts the word and inserts it in your personal dictionary, 
\item {\bfseries a }accepts the word for this session,
\item {\bfseries A }accepts the word for this file, and inserts it in the local file dictionary
\item {\bfseries r }allows you to correct the word by hand
\item {\bfseries R }allows you to correct all the occurrences of the misspelled word,
\item {\bfseries x }stops the checking, and puts the cursor back in place,
\item {\bfseries X }stops the checking and leaves the cursor where it is, letting you correct your file; you will be able to continue the spell-checking later if you type {\ttfamily Meta-x ispell-continue},
\item {\bfseries ? }gives you online help.
\end{itemize}


¦pªG Ispell §ä¨ìÃþ¦üªºµü·J¡A¥¦·|±N³o¨Ç¤å¦rÅã²{¦b¤@¤pµøµ¡¤º¡A¨C¤@­Ó¤å¦r«e³£¦³¸¹½X¼Ð©ú¡A¥u­nÁä¤J±z­nªº¨º­Ó¦r·Jªº¸¹½X¡A Ispell ´N·|¥H±z©Ò¿ïªº¦r¨ú¥N¿ù¦r¡C




\subsection{­Ó¤HÃã¨å»P­Ó§OÀÉ®×Ãã¨å (local file dictionary) ªº¤ñ¸û      }

{\bfseries i} ÁäÅý±z¥i¥H¦b±zªº­Ó¤HÃã¨å¤º´¡¤J¤@­Ó·s¦r¡A¦Ó {\bfseries A} ÁäÅý±z¦b­Ó§OÀÉ®×Ãã¨å¤º´¡¤J·s¦r¡C



­Ó§OÀÉ®×Ãã¨å¨ä¹ê¬O¤@ÀÉ®×µ²§À©Ò´¡¤J¤@¨t¦Cªº¦r©Îµû½×¡A Ispell ¨C¦¸ÀË¬d¦¹ÀÉ®×ªº«÷¦r®É³£·|­«·sÅª¨ú³o­ÓÃã¨å¡C¦p¦¹¡A±z´N¥i¥HÁä¤J¤@¨Ç¥u¦b³o¯S©wÀÉ®×¯à±µ¨üªº¦r¡A¦Ó¨ä¥LÀÉ®×«h¥i¤£¨ü¦¹Ãã¨å¼vÅT¡C



¦b§Ú¬Ý¨Ó¡A§Ú»{¬°­Ó¤HÃã¨å³Ì¦n¬O¥Î¨ÓÀx¦s¤@¨Ç¥DÃã¨å©Ò¨S¦³ªº¦r¡A¤×¨ä¬O¨º¨ÇÄÝ©ó¦U°ê»y¨¥ªº¦r¡]¹³¬O¦³³s¦r²Å¸¹ hyphenated ªº¦r¡^¡A¤Î¤@¨Ç³q¥Îªº¯S©w¦Wµü¡]¹³¬O {\itshape Linux\/}¡^¡A¦ý¦b­Ó¤HÃã¨å¤º¥[¤J¤Ó¦h¹³¬O©m¦Wªº³æ¦r¤]¤£¤Ó¦n¡A¦]¬°³o¨Ç¦r´N·|³Q·í§@¤@¯ë¦r¨Ï¥Î¤F¡]±z¥i¥H·Q¹³¦pªG±z§â {\itshape Tof\/} ¥[¤J­Ó¤HÃã¨å¤º¡A Ispell ¥i¯à´N·|¦b¤U¦Cªº¨Ò¤l¸Ì¡A©¿²¤³o­Ó¿ù¦r¡G\footnote{{\itshape `When the going gets tof, the tof get going.'\/}
{\itshape Tof\/} ¬Oªk¤å {\itshape Christophe\/} ¦W¦rªºÁY¼g¡C}
¡^




\subsection{Áä¤J®Éªº«÷¦rÀË¬d      }

·í±z¦bÁä¤J¤å¦r®É¡A¥u­n±z¦b³o {\bfseries ispell-minor-mode} ¼Ò¦¡¤U¡A Ispell ´N·|¦Û°ÊÀ°±zÀË¬d«÷¦r¡C­n±Ò°Ê©ÎÃö³¬³o¼Ò¦¡¡A½ÐÁä¤J³o«ü¥O {\ttfamily Meta-x ispell-minor-mode}¡C¨C·í¦³ Ispell ¬d¤£¨ìªº¦r®É¡A¥¦´N·|{\itshape ¹Í\/}¤@Án¨Ó´£¿ô±z¡C



°²¦p±zÄ±±o{\itshape ¹Í\/}¤@Án«Ü·Ð¤H¡A¥u­nÁä¤J«ü¥O {\ttfamily Meta-x set-variable RET visible-bell RET t RET} ¡A±z´N¥i¥H§ï¥Î¿Ã¹õªº°{Ã{¨Ó´£¿ô±z¡C±z¤]¥i¥H¦b {\ttfamily .emacs} ÀÉ®×¸Ì¥[¤J¤U¦C«ü¥O¨ÓÃö±¼ Emacs ªºÁn­µ¡G

\begin{verbatim}
       (setq visible-bell t)
      
\end{verbatim}





\section{¤@¨Ç§ë¾÷ªº§Þ¥©   }


\subsection{¦Û°Ê´¡¤J­¶­º (header)
    }

¦b Emacs ¤U¡A±z¥i¥H±N¥ô¦ó¨Æ¥ó{\itshape ¥~±¾ (hook)\/} ¥ô¦óªº°Ê§@¡]¹³¬O¥´¶}¤@­ÓÀÉ®×¡AÀx¦s¡A©Î°õ¦æ¤@­Ó·sªº¼Ò¦¡¡Aµ¥µ¥¡^¡C



±z¤]¥i¥H§Q¥Î {\bfseries autoinsert} µ{¦¡®w¨Ó°õ¦æ¤@¨Ç¯S§Oªº°Ê§@¡G·í±z¦b Emacs ¤U¶}·sÀÉ®×®É¡A³o­Óµ{¦¡®w´N·|®Ú¾ÚÀÉ®×ªºÄÝ©Ê¨Ó´¡¤J¬Û²Åªº{\itshape ¼Ð·Ç\/}­¶­º¡C



´N§Ú­Ìªº±¡§Î¡A³o{\itshape ¼Ð·Ç\/}­¶­º´N¬O§Ú­Ì»¡©ú¤å¥ó«¬ºA (LinuxDoc)¡A¼ÐÃD¡A§@ªÌ¡A¤Î¤é´Áªº¦a¤è¡C



±µ¤U¨Ó§Ú·|´y­z¨â­Ó¦p¦ó´¡¤J³oºØ­¶­ºªº¤èªk¡C±z¥i¥H´¡¤J¤@­Ó§t¦³¬ÛÃö¸ê°Tªº¼ÒªO (template) ÀÉ®×¡A©ÎªÌ±z¤]¥i¥H¶]¤@¶] {\bfseries elisp} µ{¦¡¡C




\subsubsection{ÂÇ¥Ñ´¡¤J¤@­ÓÀÉ®×    }

·í±z¶}±Ò¤@¥÷ÀÉ®×®É¡A­º¥ý±z¥²¶·§i¶D Emacs °õ¦æ{\ttfamily ¦Û°Ê´¡¤J}¡AµM«á¦AÅª¨ú {\bfseries autoinsert} µ{¦¡®wªº¸ê®Æ¨Ó«Å§i§Ú­Ì­n§ïÅÜªº {\ttfamily auto-insert-alist} ªí³æ¡C³oªí³æ©w¸q¤F¤£¦PÀÉ®×«¬ºA©Ò­n´¡¤Jªº­¶­º¡C¥¦ªº¹w³]­È¬O­n´¡¤JªºÀÉ®×¥²¶·¦b {\ttfamily \~{}/insert/} ¥Ø¿ý¤U¡A¦ý¦pªG±z­n­«·s©w¸q¨ä {\ttfamily auto-insert-directory} ¤]¬O¥i¦æªº¡C



¨C¤@¦¸±z¶}±Ò¤@¥÷·sªº SGML ÀÉ®×®É¡A¥u­n¦b {\ttfamily .emacs} ÀÉ®×¤º¥[¤J¤U¦C«ü¥Ü¡A±z´N¥i¥H´¡¤J {\ttfamily \~{}/emacs/sgml-insert.sgml} ÀÉ¡G

\begin{verbatim}
      (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))
     
\end{verbatim}


¨º±z´N¥i¥H¦b {\ttfamily \~{}/emacs/sgml-insert.sgml} ÀÉ¼g¤J±z¦Û­qªº­¶­º¡AµM«á¦A­«·s°õ¦æ Emacs ¨Ó¶}±Ò¬Y¤@ {\ttfamily foobar.sgml} ÀÉ®×¡A¤§«á Emacs ·|¸ß°Ý±z½T»{³o¦Û°Ê´¡¤Jªº«ü¥O¨Ó´¡¤J±z­nªº­¶­º¡C




\subsubsection{ÂÇ¥Ñ°õ¦æ¤@­Óµ{¦¡    }

³o¤èªk¸ò¤W­z¤j¦P¤p²§¡A¦ý¤£¦Pªº¬O±z¥²¶·³]©w {\ttfamily auto-insert-alist} ªí³æ¡A§i¶D¥¦­n´¡¤Jªº¬O¤@­Ó°õ¦æµ{¦¡¡A¦Ó«D¤@­ÓÀÉ®×¡C¥u­n¦b {\ttfamily .emacs} ÀÉ®×¤º¥[¤J¤U¦C«ü¥Ü¡A´N¥i¥H¦Û°Ê°õ¦æ¡A¤£¹L·íµM±z±o¥ý§â³oµ{¦¡¼g¦b¤@­Ó¥s°µ {\ttfamily \~{}/emacs/sgml-header.el} ªºÀÉ®×¸Ì¤~¥i¥H¡C¡]Å³©ó³o¨ç¦¡¥i¯à·|¹Lªø¡A±z¤£»Ý­n±N¥¦©ñ¦b {\ttfamily .emacs} ÀÉ®×¸Ì¡^¡G

\begin{verbatim}
      (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))
     
\end{verbatim}


±z¥i¥H°Ñ¦Ò\ref{insert-sgml-header} {(ªþ¿ý)}¸Ì¦³Ãö {\ttfamily Insert-sgml-header} µ{¦¡ªº¨Ò¤l¡C






 \appendix 

\section{{\ttfamily Insert-sgml-header}µ{¦¡¤§½d¨Ò\label{insert-sgml-header}
   }

ÅªªÌ¦b¼¶¼g¤@¥÷ Linux Documentation Project ¤å¥ó®É¡A¥i¥H¨Ï¥Î¤U¦Cµ{¦¡¨Ó±Ò°Ê¦Û°Ê´¡¤J¦Û­qªº­¶­º¡C



³z¹L¤@ {\itshape mini-buffer\/}¡A¤W­zµ{¦¡·|­n¨DÅªªÌ´£¨Ñ¤@¨Ç©Î³\¥²­nªº¸ê°T¡C

¥¦·|¥ý¸ß°Ý­n¿é¥Xªº¼ÐÃD¬O¤°»ò¡A­Y±z¨S¦³´£¨Ñ¡A«h­¶­º´N¤£·|Åã²{¼ÐÃD¡C¦A¨Ó¬O¤é´Á¡A§@ªÌ¡A§@ªÌªº¹q¤l¶l¥ó±b¸¹»P home page ¡]³Ì«á¨â¶µ¥iÀH·N¶ñ¤J¡^¡C

±µµÛ¥¦·|¸ß°ÝÂ½Ä¶ªÌªº¦W¦r¡C­YµL¡A½Ðª½±µÁä¤J {\itshape Return\/}¡C­Y¦³¡Aµ{¦¡´N·|±µµÛ¸ß°ÝÄ¶ªÌªº¹q¤l¶l¥ó±b¸¹¤Î home page ¡]¦P¼Ë¤]¬OÀH·N¶ñ¤J¡^¡C

¦A¨Ó¥¦·|§â±zªº¿é¤J¦s¤J current buffer¡A¥]¬A¥ô¦ó±z¿é¤Jªº¸ê°T®æ¦¡¡A¤ÎºK­n©M²Ä¤@³¹ªº¼ÐÅÒ¡C¤§«á¥¦·|±N´å¼Ð¾É¦V±z­nÁä¤JºK­nªºªº¦a¤è¡C

\begin{verbatim}
(defun insert-sgml-header ()
  "Inserts the header for a LinuxDoc document"
  (interactive)
  (let (title author email home translator email-translator home-translator date 
              starting-point)
    (setq title (read-from-minibuffer "Title: "))
    (if (> (length title) 0)
        (progn 
          (setq date (read-from-minibuffer "Date: ")
                author (read-from-minibuffer "Author: ")
                email (read-from-minibuffer "Author e-mail: ")
                home (read-from-minibuffer "Author home page: http://")
                translator (read-from-minibuffer "Translator: "))
          (insert "<!doctype linuxdoc system>\n<article>\n<title>")
          (insert title)
          (insert "</title>\n<author>\nAuthor: ") (insert author) (insert "<newline>\n")
          (if (> (length email) 0)
              (progn
                (insert "<htmlurl url=\"mailto:")
                (insert email) (insert "\" name=\"") (insert email)
                (insert "\"><newline>\n")))
          (if (> (length home) 0)
              (progn
                (insert "<htmlurl url=\"http://")
                (insert home) (insert "\" name=\"") (insert home)
                (insert "\">\n<newline>")))
          (if (> (length translator) 0)
              (progn
                (setq email-translator (read-from-minibuffer "Translator e-mail: ")
                      home-translator (read-from-minibuffer "Translator home page: http://"))
                (insert "Translator : ") 
                (insert translator) 
                (insert "<newline>\n")
                (if (> (length email-translator) 0)
                    (progn 
                      (insert "<htmlurl url=\"mailto:") 
                      (insert email-translator) (insert "\" name=\"") 
                      (insert email-translator)
                      (insert "\"><newline>\n")))
                (if (> (length home-translator) 0)
                    (progn 
                      (insert "<htmlurl url=\"http://") 
                      (insert home-translator) (insert "\" name=\"")
                      (insert home-translator)
                      (insert "\"><newline>\n")))))
          (insert "</author>\n<date>\n")
          (insert date)
          (insert "\n</date>\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)
          ))))
 
\end{verbatim}


\end{document}
