ott@phtd.tpu.edu.ru
ðÒÉÍÅÞÁÎÉÅ ÐÅÒÅ×ÏÄÞÉËÁ: ûÌÉÔÅ ÍÎÅ ÌÀÂÙÊ ËÏÍÍÅÎÔÁÒÉÉ É ÚÁÍÅÞÁÎÉÑ, ÄÁÖÅ ÎÅÂÏÌØÛÉÅ.
á×ÔÏÒÓËÉÅ ÐÒÁ×Á Philippe Martin 1998
÷Ù ÍÏÖÅÔÅ ÒÁÓÐÒÏÓÔÒÁÎÑÔØ
É/ÉÌÉ ÍÏÄÉÆÉÃÉÒÏ×ÁÔØ ÜÔÏÔ ÄÏËÕÍÅÎÔ ÅÓÌÉ ×Ù ÐÏÄÞÉÎÑÅÔÅÓØ ÔÅÒÍÉÎÁÍ
GNU General Public Licence, ×ÅÒÓÉÉ 2 ÉÌÉ ÂÏÌÅÅ ÐÏÚÄÎÅÊ.
óÐÅÃÉÁÌØÎÏÅ ÓÐÁÓÉÂÏ Sébastien Blondeel, ËÔÏ Ñ×ÌÑÅÔÓÑ "ÐÒÏÔÉ×ÎÏÊ Ó×ÏÌÏÞØÀ" É ÍÎÏÇÏ ÓÐÒÁÛÉ×ÁÌ ÍÅÎÑ Ï ÎÁÓÔÒÏÊËÅ Emacs setup. åÇÏ ÕÍÎÙÅ ×ÏÐÒÏÓÙ ÐÏÚ×ÏÌÉÌÉ ÍÎÅ ÌÕÞÛÅ ÐÏÎÑÔØ ÜÔÕ ÐÒÏÇÒÁÍÍÕ É ÐÅÒÅÄÁÔØ ÜÔÏ ÚÎÁÎÉÅ ×ÁÍ × ÜÔÏÍ ÄÏËÕÍÅÎÔÅ.
îÅ ËÏÌÅÂÌÑÓØ ÇÏ×ÏÒÉÔÅ ÍÎÅ ÌÀÂÙÅ ×ÅÝÉ, ËÏÔÏÒÙÅ ÐÏÍÏÇÕÔ ÓÄÅÌÁÔØ
ÜÔÏÔ ÄÏËÕÍÅÎÔ ÌÕÞÛÅ. ñ ÂÕÄÕ ÔÝÁÔÅÌØÎÏ ÐÒÏ×ÅÒÑÔØ ×ÁÛÕ ËÒÉÔÉËÕ.
ôÁËÖÅ ÎÅ ËÏÌÅÂÌÑÓØ ÓÐÒÁÛÉ×ÁÊÔÅ ÍÅÎÑ Ï ÌÀÂÙÈ ×ÏÐÒÏÓÁÈ ÏÔÎÏÓÑÝÉÈÓÑ Ë
ÔÅÍÁÍ ÏÂÓÕÖÄÁÅÍÙÍ ÚÄÅÓØ. ñ ÂÕÄÕ ÂÏÌØÛÅ ÞÅÍ ÓÞÁÓÔÌÉ× ÏÔ×ÅÔÉÔØ ×ÁÍ,
ÔÁË ËÁË ÜÔÏ ÐÏÚ×ÏÌÉÔ ÍÎÅ × ÂÕÄÕÝÅÍ ÕÌÕÞÛÉÔØ ÜÔÏÔ ÄÏËÕÍÅÎÔ.
üÔÏÔ ÄÏËÕÍÅÎÔ ÒÁÓÓËÁÚÙ×ÁÅÔ Ï ÓÌÅÄÕÀÝÉÈ ×ÅÒÓÉÑÈ ÐÒÏÄÕËÔÏ×:
iso-sgml
, ËÏÔÏÒÁÑ ÒÁÓÐÒÏÓÔÒÁÎÑÅÔÓÑ Ó XEmacs, É psgml
,
ËÏÔÏÒÁÑ Ñ×ÌÑÅÔÓÑ Á×ÔÏÎÏÍÎÏÊ ÂÉÂÌÉÏÔÅËÏÊ.
Standard Generalised Mark-up Language, ÉÌÉ SGML, ÜÔÏ ÑÚÙË ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ ÔÉÐÏ× ÄÏËÕÍÅÎÔÏ×.
îÁÐÒÉÍÅÒ, ËÔÏ-ÔÏ ÍÏÖÅÔ ÏÐÒÅÄÅÌÉÔØ ÔÉÐ ÄÏËÕÍÅÎÔÁ ÒÅÃÅÐÔÙ, Ó ÐÅÒ×ÏÊ ÞÁÓÔØÀ ÐÒÅÄÓÔÁ×ÌÑÀÝÅÊ ÉÓÐÏÌØÚÕÅÍÙÅ ÉÎÇÒÅÄÉÅÎÔÙ, ×ÔÏÒÁÑ ÞÁÓÔØ ÚÁÄÁÅÔ ÉÓÐÏÌØÚÕÅÍÙÅ ÐÒÉÂÏÒÙ, Á ÔÒÅÔØÑ ÞÁÓÔØ ÄÁÅÔ ÐÏÛÁÇÏ×ÕÀ ÉÎÓÔÒÕËÃÉÀ ÄÌÑ ÐÒÉÇÏÔÏ×ÌÅÎÉÑ ËÅËÓÁ, É ×ÅÌÉËÏÌÅÐÎÁÑ ÆÉÎÁÌØÎÁÑ ËÁÒÔÉÎËÁ ÄÌÑ ÐÏËÁÚÁ ÒÅÚÕÌØÔÁÔÁ ×ÓÅÇÏ ÜÔÏÇÏ.
üÔÏ ÎÁÚÙ×ÁÅÔÓÑ Document Type Definition (DTD, ïÐÒÅÄÅÌÅÎÉÅ ÔÉÐÁ ÄÏËÕÍÅÎÔÁ). ïÎÏ ÎÅ ÏÐÒÅÄÅÌÑÅÔ ËÁË ÂÕÄÅÔ ×ÙÇÌÑÄÅÔØ ÚÁËÌÀÞÉÔÅÌØÎÙÊ ÒÅÚÕÌØÔÁÔ, ÏÎÏ ÔÏÌØËÏ ÏÐÒÅÄÅÌÑÅÔ ÔÏÌØËÏ ÞÔÏ ÄÏËÕÍÅÎÔ ÍÏÖÅÔ ÓÏÄÅÒÖÁÔØ.
íÙ ÉÓÐÏÌØÚÕÅÍ ÔÏÔ ÖÅ ÐÒÉÍÅÒ ÄÁÌÅÅ, Ñ Õ×ÅÒÅÎ, ÞÔÏ ×Ù ÐÒÉÍÅÔÅ ÍÏÀ ÉÄÅÀ, ÎÏ Õ ×ÁÓ ÍÏÖÅÔ ÂÙÔØ Ó×ÏÅ ×ÉÄÅÎÉÅ. ôÅÍ ÎÅ ÍÅÎÅÅ, ÏÎÉ ÓÏ×ÅÒÛÅÎÎÏ ÒÁÚÎÙÅ: ÍÏÅ ×ÉÄÅÎÉÅ ÐÒÅÄÓÔÁ×ÌÑÅÔÓÑ ËÁË ???? To use the same example again, I'm sure that upon reading my idea of a recipe, you recognised yours, or your favourite cook's. Nevertheless, they actually look different: mine have a picture in the upper left corner of the bathroom cupboard, and the ingredients list can be found in the back garden, between the swimming pool and the barbecue. Yours?
âÌÁÇÏÄÁÒÑ ÜÔÏÍÕ ÓÔÁÎÄÁÒÔÎÏÍÕ ÏÐÒÅÄÅÌÅÎÉÀ, ËÔÏ-ÔÏ ÍÏÖÅÔ ÐÉÓÁÔØ ÄÏËÕÍÅÎÔ, ÂÅÚ ÒÁÚÍÙÛÌÅÎÉÑ ËÁË ÏÎ ÂÕÄÅÔ ×ÙÇÌÑÄÅÔØ × ËÏÎÃÅ ÒÁÂÏÔÙ ÄÌÑ ÞÉÔÁÔÅÌÑ.
LinuxDoc
üÔÏÔ ÔÉÐ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÎÁÐÉÓÁÎÉÑ, ËÁË ×Ù ÍÏÇÌÉ ÄÏÇÁÄÁÔØÓÑ, ÄÏËÕÍÅÎÔÏ× ÏÔÎÏÓÑÝÉÈÓÑ Ë Linux.
ôÁËÉÅ ÄÏËÕÍÅÎÔÙ × ÏÂÝÅÍ ÐÏÓÔÒÏÅÎÙ ÓÌÅÄÕÀÝÉÍ ÏÂÒÁÚÏÍ: ÏÎÉ ÎÁÞÉÎÁÀÔÓÑ Ó ÚÁÇÏÌÏ×ËÁ, ÚÁ ËÏÔÏÒÙÍ ÓÌÅÄÕÅÔ ÉÍÑ Á×ÔÏÒÁ, ÎÏÍÅÒ ×ÅÒÓÉÉ É ÄÁÔÁ. úÁÔÅÍ ÉÄÅÔ ËÒÁÔËÏÅ ÉÚÌÏÖÅÎÉÅ (??? abstract) (ÔÁË ÞÔÏ ×ÁÍ ÎÅ ÎÁÄÏ ÐÒÏÓÍÁÔÒÉ×ÁÔØ ÄÏËÕÍÅÎÔ ÐÏÌÎÏÓÔØÀ ÄÏ ÐÏÎÉÍÁÎÉÑ, ÔÏÇÏ ÞÔÏ ÜÔÏÔ ÄÏËÕÍÅÎÔ ÎÅ ÔÏ ÞÔÏ ×ÁÍ ÎÕÖÎÏ), ÚÁÔÅÍ ÉÄÅÔ ÓÏÄÅÒÖÁÎÉÅ, ËÏÔÏÒÏÅ ÐÏËÁÚÙ×ÁÅÔ ÓÔÒÕËÔÕÒÕ, ÔÁË ÞÔÏ ×Ù × ÓÐÅÛËÅ ÐÅÒÅÊÔÉ Ë ÞÁÓÔÉ, ËÏÔÏÒÕÀ ×Ù ÈÏÔÉÔÅ ÐÒÏÞÉÔÁÔØ.
úÁÔÅÍ ÉÄÅÔ ÓÐÉÓÏË ÇÌÁ×, ÒÁÚÄÅÌÏ×, ÐÁÒÁÇÒÁÆÏ×. ÷ ÉÈ ÐÒÅÄÅÌÁÈ ×Ù ÍÏÖÅÔÅ ×ÓÔÁ×ÌÑÔØ ËÕÓËÉ ÐÒÏÇÒÁÍÍ, ÉÚÍÅÎÑÔØ ÛÒÉÆÔ ÄÌÑ ×ÙÄÅÌÅÎÉÑ ÓÌÏ×Á ÉÄÉ ÐÒÅÄÌÏÖÅÎÉÑ, ×ÓÔÁ×ÌÑÔØ ÓÐÉÓËÉ, ÄÅÌÁÔØ ÓÓÙÌËÉ ÎÁ ÄÒÕÇÉÅ ÒÁÚÄÅÌÙ ÄÏËÕÍÅÎÔÁ É Ô.Ð.
äÌÑ ÎÁÐÉÓÁÎÉÑ ÔÁËÏÇÏ ÄÏËÕÍÅÎÔÁ, ×ÁÍ ×ÓÅÇÏ ÌÉÛØ ÎÅÏÂÈÏÄÉÍÏ ÕËÁÚÁÔØ × ÎÕÖÎÏÅ ×ÒÅÍÑ ÚÁÇÏÌÏ×ÏË ÄÏËÕÍÅÎÔÁ, Á×ÔÏÒÁ, ÄÁÔÕ É ×ÅÒÓÉÀ ÄÏËÕÍÅÎÔÁ, ÇÌÁ×Ù É ÒÁÚÄÅÌÙ, ×Ï ×ÒÅÍÑ ×ÓÔÁ×ËÉ ÓÐÉÓËÁ ÕËÁÚÁÔØ ÅÇÏ ÜÌÅÍÅÎÔÙ É Ô.Ð.
SGML-Tools
SGML-Tools ÐÒÅ×ÒÁÔÑÔ ÓÐÅÃÉÆÉËÁÃÉÀ ÄÏËÕÍÅÎÔÁ × ÏËÏÎÞÁÔÅÌØÎÙÊ ÒÅÚÕÌØÔÁÔ × ×ÙÂÒÁÎÎÏÊ ×ÁÍÉ ÆÏÒÍÅ. åÓÌÉ ×Ù ÈÏÔÉÔÅ ÐÏÍÅÓÔÉÔØ ÄÏËÕÍÅÎÔ × ×ÁÛÕ ÐÅÒÓÏÎÁÌØÎÕÀ ÂÉÂÌÉÏÔÅËÕ, ×Ù ×ÙÂÅÒÅÔÅ PostScript. åÓÌÉ ×Ù ÈÏÔÉÔÅ ÏÒÇÁÎÉÚÏ×ÁÔØ ÄÏÓÔÕÐ Ë ÎÅÍÕ ÞÅÒÅÚ Web, ÔÏ ÜÔÏ ÂÕÄÅÔ HTML. åÓÌÉ ×Ù ÎÅ ÍÏÖÅÔÅ ÎÉÞÅÇÏ ÓÄÅÌÁÔØ É ÄÏÌÖÎÙ ÞÉÔÁÔØ ÅÇÏ ÐÏÄ Windows, ×Ù ÍÏÖÅÔÅ ÐÒÅÏÂÒÁÚÏ×ÁÔØ ÅÇÏ × RTF, ÞÔÏÂÙ ÂÙÌÁ ×ÏÚÍÏÖÎÏÓÔØ ÞÉÔÁÔØ ÅÇÏ ÌÀÂÙÍ ÔÅËÓÔÏ×ÙÍ ÐÒÏÃÅÓÓÏÒÏÍ. éÌÉ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÓÅ ÔÒÉ ÆÏÒÍÁÔÁ ÄÌÑ ÏÔÒÁÖÅÎÉÑ ÓÍÅÎÙ ×ÁÛÅÇÏ ÎÁÓÔÒÏÅÎÉÑ.
SGML-Tools ÄÏÓÔÕÐÎÙ ÞÅÒÅÚ ÁÎÏÎÉÍÎÏÅ FTP ÐÏ ÁÄÒÅÓÕ ftp://ftp.lip6.fr/pub/sgml-tools/
åÓÌÉ ×Ù ÈÏÔÉÔÅ ÐÒÅ×ÒÁÔÉÔØ ÔÅËÓÔÏ×ÙÊ ÄÏËÕÍÅÎÔ × SGML ÄÌÑ ÐÅÒÅÎÏÓÁ ÅÇÏ × ÄÒÕÇÉÅ ÆÏÒÍÁÔÙ, ÔÏ ×ÏÔ ËÁË ÜÔÏ ÄÅÌÁÅÔÓÑ:
<!doctype linuxdoc system> <article> <title>Title Goes Here</title> <author> name of author, author's e-mail, etc. </author> <date> version and date </date>
<abstract>
É </abstract>
.
<toc>
, ËÏÔÏÒÙÊ ÏÂÏÚÎÁÞÁÅÔ óÏÄÅÒÖÁÎÉÅ.
<sect>úÁÇÏÌÏ×ÏË çÌÁ×ÙÉ ÄÏÂÁ×ØÔÅ ÔÁÇ
</sect>
× ËÏÎÅà ÇÌÁ×Ù.úÁÍÅÞÁÎÉÅ : ÷ÁÍ ÎÅ ÎÁÄÏ ÐÏÍÅÝÁÔØ ÎÏÍÅÒ ÇÌÁ×Ù, ÜÔÏ ÓÄÅÌÁÅÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ.
<sect1>
× ÎÁÞÁÌÅ ÒÁÚÄÅÌÁ
É ÔÁÇÁÍÉ </sect1>
× ËÏÎÃÅ ÒÁÚÄÅÌÁ.
<sectN>
É </sectN>
, ÇÄÅ
N=
2, 3, ÉÌÉ 4 ÔÁËÖÅ ËÁË É × ÐÒÅÄÙÄÕÝÅÍ ÓÌÕÞÁÅ.
<p>
.
<it>
É </it>
(ËÕÒÓÉ×), <bf>
É </bf>
(ÖÉÒÎÙÊ ÛÒÉÆÔ), ÉÌÉ <tt>
É
</tt>
(ÓÔÉÌØ ÐÉÛÕÝÅÊ ÍÁÛÉÎËÉ
).
üÔÏ ÞÅÔÙÒÅÈÓÔÒÏÞÎÙÊ ÓÐÉÓÏË: - ÚÄÅÓØ ÐÅÒ×ÁÑ ÓÔÒÏËÁ - ÚÁÔÅÍ ×ÔÏÒÁÑ ÓÔÒÏËÁ - É ÅÝÅ ÏÄÎÁ - ÜÔÏ ×ÓÅ×Ù ÄÏÌÖÎÙ ÚÁÍÅÎÉÔØ ÅÇÏ ÎÁ:
üÔÏ ÞÅÔÙÒÅÈÓÔÒÏÞÎÙÊ ÓÐÉÓÏË: <itemize> <item>ÚÄÅÓØ ÐÅÒ×ÁÑ ÓÔÒÏËÁ <item>ÚÁÔÅÍ ×ÔÏÒÁÑ ÓÔÒÏËÁ <item>É ÅÝÅ ÏÄÎÁ <item>ÜÔÏ ×ÓÅ </itemize>
<verb> 10 REM Oh my God what's this? 20 REM I thought this had long disappeared! 30 PRINT "I am back to"; 40 PRINT "save the world." 50 INPUT "From whom, do you reckon? ",M$ 60 IF M$="Bill" THEN PRINT "Thou art wise.":GOTO PARADISE 70 ELSE PRINT "You ain't got a clue...":GOTO RICHMOND </verb>
Emacs
åÓÌÉ ×Ù ÈÏÔÉÔÅ ÐÉÓÁÔØ ÄÏËÕÍÅÎÔÙ ÎÁ ÆÒÁÎÃÕÚÓËÏÍ ÉÌÉ ÎÁ ËÁËÏÍ-ÔÏ ÄÒÕÇÏÍ ÑÚÙËÅ ÚÁÐÁÄÎÏÊ å×ÒÏÐÙ, ÔÏ ×ÁÍ ÎÅÏÂÈÏÄÉÍÏ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ×ÏÓØÍÉÂÉÔÎÙÈ ÓÉÍ×ÏÌÏ×. úÄÅÓØ ÒÁÓÓËÁÚÙ×ÁÅÔÓÑ ËÁË ÎÁÓÔÒÏÉÔØ Emacs, ÞÔÏÂÙ ÏÎ ×ÏÓÐÒÉÎÉÍÁÌ ÔÁËÉÅ ÓÉÍ×ÏÌÙ.
þÔÏÂÙ ÐÏÚ×ÏÌÉÔØ Emacs ÏÔÏÂÒÁÖÁÔØ 8-ÂÉÔÎÙÅ ÓÉÍ×ÏÌÙ, ×ÁÍ ÎÅÏÂÈÏÄÉÍÏ
ÄÏÂÁ×ÉÔØ ÓÌÅÄÕÀÝÉÅ ÓÔÒÏËÉ × ×ÁÛ ÆÁÊÌ .emacs
:
(standard-display-european 1) (load-library "iso-syntax")
åÓÌÉ ×Ù ÉÓÐÏÌØÚÕÅÔÅ Emacs ÎÁ ÔÅÒÍÉÎÁÌÅ, ËÏÔÏÒÙÊ ÎÅ ÉÍÅÅÔ 8-ÂÉÔÎÏÊ
ÐÏÄÄÅÒÖËÉ, ÔÏ ×Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÂÉÂÌÉÏÔÅËÕ iso-ascii
((load-library "iso-ascii")
), ËÏÔÏÒÁÑ ÚÁÓÔÁ×ÌÑÅÔ Emacs
ÏÔÏÂÒÁÖÁÔØ ÔÁËÉÅ ÓÉÍ×ÏÌÙ Ó ÌÕÞÛÉÍ ÐÒÉÂÌÉÖÅÎÉÅÍ.
åÓÌÉ ×ÁÛÁ ËÌÁ×ÉÁÔÕÒÁ ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ××ÏÄÉÔØ ÓÉÍ×ÏÌÙ, Ó ÄÉÁËÔÒÉÞÅÓËÉÍÉ ÚÎÁËÁÍÉ ÔÏ ÎÅÔ ÎÉËÁËÉÈ ÐÒÏÂÌÅÍ. á ×ÏÔ ÅÓÌÉ ÎÅ ÐÏÚ×ÏÌÑÅÔ, ÔÏ ÅÓÔØ ÓÐÏÓÏ ÒÅÛÁÀÝÉÊ ÜÔÕ ÐÒÏÂÌÅÍÕ:
iso-acc
âÉÂÌÉÏÔÅËÁ iso-acc
ÄÌÑ Emacs ÐÏÚ×ÏÌÉÔ ×ÁÍ ÐÅÞÁÔÁÔØ
8-ÂÉÔÎÙÅ ÓÉÍ×ÏÌÙ ÎÁ 7-ÂÉÔÎÏÊ ËÌÁ×ÉÁÔÕÒÅ.
äÌÑ ÅÅ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ×ÓÔÁ×ÔÅ × ×ÁÛ ÆÁÊÌ .emacs
ÔÁËÕÀ ÓÔÒÏÞËÕ:
(load-library "iso-acc")
úÁÔÅÍ, ÐÏÓÌÅ ÚÁÐÕÓËÁ Emacs É ÏÔËÒÙÔÉÑ ÆÁÊÌÁ, ËÏÔÏÒÙÊ ×ÁÍ ÎÁÄÏ
ÏÔÒÅÄÁËÔÉÒÏ×ÁÔØ, ÎÁÂÅÒÉÔÅ Meta-x iso-accents-mode
.
÷Ù ÍÏÖÅÔÅ ÚÁÔÅÍ ××ÅÓÔÉ é ×Ï ÆÒÁÎÃÕÚÓËÏÍ ÓÌÏ×Å
café ÎÁÂÒÁ× ' ÚÁÔÅÍ e
. ÷ ÏÂÝÅÍ,
×Ù ÂÕÄÅÔÅ ÎÁÂÉÒÁÔØ ÓÎÁÞÁÌÁ ÚÎÁË ÕÄÁÒÅÎÉÑ (??? accent), Á ÚÁÔÅÍ ÓÉÍ×ÏÌ
ÎÁ ËÏÔÏÒÏÍ ÓÔÁ×ÉÔÓÑ ÄÉÁËÔÒÉÞÅËÉÊ ÚÎÁË (× ×ÅÒÈÎÅÍ ÉÌÉ ÎÉÖÎÅÍ
ÒÅÇÉÓÔÒÅ). íÏÇÕÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÓÌÅÄÕÀÝÉÅ ÄÉÁËÔÒÉÞÅÓËÉÅ ÚÎÁËÉ:
'
: Acute`
: Grave^
: Circumflex"
: Dieresis~
: ôÉÌØÄÁ, cedilla, É ÄÒÕÇÉÅ ÞÁÓÔÎÙÅ
ÓÌÕÞÁÉ (cf iso-acc.el). /
:äÌÑ ÐÅÒÅÞÅÒËÉ×ÁÎÉÑ ÓÉÍ×ÏÌÁ, É Ô.Ð.
åÓÌÉ ×ÁÍ ÎÕÖÅÎ ÏÄÉÎ ÉÚ ÜÔÉÈ ÓÉÍ×ÏÌÏ×, Á ÎÅ ÓÉÍ×ÏÌ Ó ÄÉÁËÔÒÉÞÅÓËÉÍ
ÚÎÁËÏÍ, ÎÁÂÅÒÉÔÅ ÐÒÏÂÅÌ ×ÓÌÅÄ ÚÁ ÎÁÂÏÒÏÍ ÓÐÅÃÉÁÌØÎÏÇÏ ÓÉÍ×ÏÌÁ
îÁÐÒÉÍÅÒ, ÄÌÑ ÎÁÂÏÒÁ l'éléphant, ÎÁÂÅÒÉÔÅ
l ' spc ' e l ' e ...
÷Ù ÎÁÊÄÅÔÅ ÓÐÉÓÏË ×ÓÅÈ ×ÏÚÍÏÖÎÙÈ ËÏÍÂÉÎÁÃÉÊ × ÆÁÊÌÅ iso-acc.el
.
îÅËÏÔÏÒÙÅ ÔÅÒÍÉÎÁÌÙ ÐÏÚ×ÏÌÑÔ ×ÁÍ ÎÁÂÒÁÔØ 8-ÂÉÔÎÙÅ ÓÉÍ×ÏÌÙ Ó ÐÏÍÏÝØÀ ËÌÁ×ÉÛÉ Meta (ÉÌÉ Alt). îÁÐÒÉÍÅÒ, ÎÁÖÁÔÉÅ Meta-i ÄÁÓÔ ×ÁÍ ÓÉÍ×ÏÌ é.
îÏ Emacs ÒÅÚÅÒ×ÉÒÕÅÔ ËÌÁ×ÉÛÕ Meta ÄÌÑ ÓÏÂÓÔ×ÅÎÎÏÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ, É Ñ ÎÅ ÚÎÁÀ ÂÉÂÌÉÏÔÅËÕ, ËÏÔÏÒÁÑ ÐÏÚ×ÏÌÉÔ ×ÁÍ ÉÓÐÏÌØÚÏ×ÁÔØ ÜÔÕ ËÌÁ×ÉÛÕ ÄÌÑ ÓÉÍ×ÏÌÏ× Ó ÄÉÁËÔÒÉÞÅÓËÉÍÉ ÚÎÁËÁÍÉ.
÷ÏÔ ÒÅÛÅÎÉÅ ÜÔÏÊ ÐÒÏÂÌÅÍÙ:
(global-set-key "\ei" '(lambda () (interactive) (insert ?\351))) _ ___
ôÁËÁÑ ÓÔÒÏËÁ, ÅÓÌÉ ÂÕÄÅÔ ×ÓÔÁ×ÌÅÎÁ × ×ÁÛ ÆÁÊÌ .emacs
,
ÐÏÚ×ÏÌÉÔ ÎÁÂÉÒÁÔØ ×ÁÍ é ÉÓÐÏÌØÚÕÑ ÓÏÞÅÔÁÎÉÅ ËÌÁ×ÉÛ
Meta-i. ÷Ù ÍÏÖÅÔÅ ÐÅÒÅÏÐÒÅÄÅÌÉÔØ ÔÁËÉÍ ÏÂÒÁÚÏÍ ÔÅ
ÓÏÞÅÔÁÎÉÑ ËÌÁ×ÉÛ ËÏÔÏÒÙÅ ×ÁÍ ÎÕÖÎÙ, ÅÓÌÉ ×Ù ÚÁÍÅÎÉÔÅ i
ÎÕÖÎÏÊ ËÌÁ×ÉÛÅÊ É 351 ÎÕÖÎÙÍ ËÏÄÏÍ (ËÏÄ ÂÙÌ ×ÚÑÔ ÉÚ ÎÁÂÏÒÁ
ÓÉÍ×ÏÌÏ× ISO-8859-1).
ðÒÅÄÕÐÒÅÖÄÅÎÉÅ! îÅËÏÔÏÒÙÅ ÌÏËÁÌØÎÙÅ ÒÅÖÉÍÙ ÍÏÇÕÔ ÐÅÒÅÏÐÒÅÄÅÌÑÔØ ÔÁËÉÅ ÓÏÞÅÔÁÎÉÑ ËÌÁ×ÉÛ.
÷ SGML, ×Ù ÍÏÖÅÔÅ ÐÅÞÁÔÁÔØ ÓÉÍ×ÏÌÙ Ó ÄÉÁËÔÒÉÞÅÓËÉÍÉ ÚÎÁËÁÍÉ Ó ÐÏÍÏÝØÀ ÍÁËÒÏÓÏ×. îÁÐÒÉÍÅÒ, ËÌÁ×ÉÛÁ é ÏÂÏÚÎÁÞÅÎÁ ËÁË é. ÷ ÏÂÝÅÍ ÐÒÉÌÏÖÅÎÉÑ, ËÏÔÏÒÙÍ ÎÁÄÏ ÞÉÔÁÔØ SGML ÍÏÇÕÔ ÞÉÔÁÔØ 8-ÂÉÔÎÙÅ ÓÉÍ×ÏÌÙ É ÎÅÔ ÎÅÏÂÈÏÄÉÍÏÓÔÉ ÉÓÐÏÌØÚÏ×ÁÔØ ÜÔÉ ÍÁËÒÏÓÙ. îÏ ÎÅËÏÔÏÒÙÅ ÐÒÏÇÒÁÍÍÙ ÎÅ ÍÏÇÕÔ ÄÅÌÁÔØ ÜÔÏ. óÕÝÅÓÔ×ÕÅÔ ÓÐÏÓÏÂ, ËÏÔÏÒÙÊ ÐÏÚ×ÏÌÉÔ ÉÚÂÅÖÁÔØ ËÒÁÈÁ ÐÒÉÌÏÖÅÎÉÊ.
âÉÂÌÉÏÔÅËÁ iso-sgml
ÐÏÚ×ÏÌÉÔ ×ÁÍ ÐÅÞÁÔÁÔØ ÓÉÍ×ÏÌÙ Ó
ÄÉÁËÔÒÉÞÅÓËÉÍÉ ÚÎÁËÁÍÉ × Emacs, ÎÏ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ×ÁÛÅÇÏ ÆÁÊÌÁ ÎÁ
ÄÉÓË, ÏÎ ÐÒÅ×ÒÁÔÉÔ 8-ÂÉÔÎÙÅ ÓÉÍ×ÏÌÙ × ÉÈ SGML-ÜË×É×ÁÌÅÎÔÙ.
ðÏÜÔÏÍÕ ÌÅÇËÏ, ÓÐÁÓÉÂÏ ÂÉÂÌÉÏÔÅËÅ, ÎÁÂÉÒÁÔØ É ÞÉÔÁÔØ ×ÁÛÉ ÄÏËÕÍÅÎÔÙ × Emacs, É ×Ù ÍÏÖÅÔÅ ÂÙÔØ Õ×ÅÒÅÎÙ, ÞÔÏ ÎÅ 8-ÂÉÔÎÙÅ ÐÒÉÌÏÖÅÎÉÑ ÂÕÄÕÔ ÐÏÎÉÍÁÔØ ×ÁÛÉ ÄÏËÕÍÅÎÔÙ.
äÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÜÔÏÊ ÂÉÂÌÉÏÔÅËÉ ×ÁÍ ÐÒÏÓÔÏ ÎÁÄÏ ÄÏÂÁ×ÉÔØ
ÓÌÅÄÕÀÝÉÅ ÓÔÒÏËÉ × ×ÁÛ ÆÁÊÌ .emacs
:
(setq sgml-mode-hook '(lambda () "Defaults for SGML mode." (load-library "iso-sgml")))
ðÒÉ ÚÁÇÒÕÚËÅ ÆÁÊÌÁ Ó ÒÁÓÛÉÒÅÎÉÅÍ .sgml, Emacs
Á×ÔÏÍÁÔÉÞÅÓËÉ ÚÁÐÕÓËÁÅÔ ÒÅÖÉÍ sgml. åÓÌÉ ÜÔÏ ÎÅ ÄÅÌÁÅÔÓÑ,
×Ù ÍÏÖÅÔÅ ÚÁÄÁÔØ ÜÔÏ ×ÒÕÞÎÕÀ ÎÁÂÒÁ× Meta-x sgml-mode
, ÉÌÉ
Á×ÔÏÍÁÔÉÞÅÓËÉ, ÄÏÂÁ×É× ÓÌÅÄÕÀÝÉÅ ÓÔÒÏËÉ × ×ÁÛ ÆÁÊÌ .emacs
:
(setq auto-mode-alist (append '(("\.sgml$" . sgml-mode)) auto-mode-alist))
üÔÏÔ ÒÅÖÉÍ ÐÏÚ×ÏÌÉÔ ×ÁÍ ÎÁÐÒÉÍÅÒ, ×ÙÂÒÁÔØ ËÁË ×ÓÔÁ×ÌÑÔØ 8-ÂÉÔÎÙÅ
ÓÉÍ×ÏÌÙ. ó ÐÏÍÏÝØÀ Meta-x sgml-name-8bit-mode
(ÉÌÉ ÐÕÎËÔÁ
ÍÅÎÀ SGML/Toggle 8-bit insertion), ×Ù ÍÏÖÅÔÅ ×ÙÂÒÁÔØ ËÁË
ÐÅÞÁÔÁÔØ 8-ÂÉÔÎÙÅ ÓÉÍ×ÏÌÙ -- ËÁË ÅÓÔØ, ÉÌÉ × ÆÏÒÍÅ SGML form,
ÎÁÐÒÉÍÅÒ × ÆÏÒÍÅ &...;.
üÔÏÔ ÒÅÖÉÍ ÔÁËÖÅ ÐÏÚ×ÏÌÉÔ ×ÁÍ ÐÏËÁÚÙ×ÁÔØ ÉÌÉ ÐÒÑÔÁÔØ ÔÁÇÉ SGML, Ó
ÐÏÍÏÝØÀ Meta-x sgml-tags-invisible
(ÉÌÉ ÐÕÎËÔÁ ÍÅÎÀ
SGML/Toggle Tag Visibility).
òÅÖÉÍ PSGML ÐÏÚ×ÏÌÉÔ ×ÁÍ ÂÏÌÅÅ ÕÄÏÂÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÏËÕÍÅÎÔÙ × SGML Ó ÐÏÍÏÝØÀ Emacs.
äÏËÕÍÅÎÔÁÃÉÑ psgml-linuxdoc ÏÂßÑÓÎÑÅÔ ËÁË ÕÓÔÁÎÏ×ÉÔØ ÜÔÏÔ ÒÅÖÉÍ É ÉÓÐÏÌØÚÏ×ÁÔØ ÅÇÏ ×ÍÅÓÔÅ Ó LinuxDoc.
÷ ÎÏÒÍÁÌØÎÏÍ ÒÅÖÉÍÅ, ËÏÇÄÁ ×Ù ÐÅÞÁÔÁÅÔÅ ÁÂÚÁÃ É ÄÏÓÔÉÇÁÅÔÅ ËÏÎÃÁ ÓÔÒÏËÉ, ×Ù ÄÏÌÖÎÙ ÓÁÍÉ ÉÓÐÏÌØÚÏ×ÁÔØ ËÌÁ×ÉÛÕ Return ÄÌÑ ÐÅÒÅÈÏÄÁ ÎÁ ÓÌÅÄÕÀÝÕÀ ÓÔÒÏËÕ, ÉÌÉ ×ÅÓØ ÐÁÒÁÇÒÁÆ ÂÕÄÅÔ ÓÏÓÔÏÑÔØ ÉÚ ÏÄÎÏÊ ÓÔÒÏËÉ. ëÏÇÄÁ ×Ù ÉÓÐÏÌØÚÕÅÔÅ ËÌÁ×ÉÛÕ Return ÄÌÑ ÐÅÒÅÈÏÄÁ Ë ÓÌÅÄÕÀÝÅÊ ÓÔÒÏËÅ, ÔÏ ×Ù ÐÏÌÕÞÁÅÔÅ ÁÂÚÁÃÙ Ó ÎÅÒÏ×ÎÙÍÉ ÐÒÁ×ÙÍÉ ÇÒÁÎÉÃÁÍÉ.
åÓÌÉ ×Ù ÐÏÚ×ÏÌÉÔÅ ÎÅËÏÔÏÒÙÍ ÓÔÒÏËÁÍ ÐÒÅ×ÙÓÉÔØ ÒÁÚÕÍÎÕÀ ÛÉÒÉÎÕ, ÔÏ ×Ù ÎÅ ÓÍÏÖÅÔÅ ÐÒÏÓÍÁÔÒÉ×ÁÔØ ÉÈ × ÎÅËÏÔÏÒÙÈ ÒÅÄÁËÔÏÒÁÈ.
òÅÖÉÍ auto-fill Á×ÔÏÍÁÔÉÚÉÒÕÅÔ ÜÔÕ ÓËÕÞÎÕÀ ÚÁÄÁÞÕ: ËÏÇÄÁ ×Ù ÐÅÒÅÊÄÅÔÅ ÄÁÌÅÅ ÏÐÒÅÄÅÌÅÎÎÏÊ ËÏÌÏÎËÉ, (ÐÏ ÕÍÏÌÞÁÎÉÀ 70-ÁÑ), ÔÏ ×Ù Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÅÒÅÊÄÅÔÅ ÎÁ ÓÌÅÄÕÀÝÕÀ ÓÔÒÏËÕ.
ôÅÐÅÒØ ÒÁÓÓËÁÖÅÍ ËÁË ÕÓÔÁÎÏ×ÉÔØ ÜÔÏÔ ÒÅÖÉÍ, É ÕÓÔÁÎÏ×ÉÔØ ÛÉÒÉÎÕ ÔÅËÓÔÁ ÒÁ×ÎÏÊ 80 ÓÉÍ×ÏÌÁÍ:
(setq sgml-mode-hook '(lambda () "Defaults for SGML mode." (auto-fill-mode) (setq fill-column 80)))
åÓÌÉ ×Ù ÈÏÔÉÔÅ ÐÒÏ×ÅÒÑÔØ Ó×ÏÉ ÔÅËÓÔÙ ×ÎÕÔÒÉ Emacs, ×Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÏÇÒÁÍÍÕ Ispell É ÅÅ ÒÅÖÉÍ ÄÌÑ Emacs.
÷Ù ÍÏÖÅÔÅ ÕÓÔÁÎÏ×ÉÔØ Emacs ÔÁË, ÞÔÏ ÐÒÉ ÚÁÇÒÕÚËÅ ÆÁÊÌÁ ÏÎ ÂÕÄÅÔ Á×ÔÏÍÁÔÉÞÅÓËÉ ×ÙÂÉÒÁÔØ, ËÏÔÏÒÙÊ ÓÌÏ×ÁÒØ ÉÓÐÏÌØÚÏ×ÁÔØ (×Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÎÅÓËÏÌØËÏ). ðÅÒ×ÙÊ ÉÚ ÎÉÈ, ÎÁ×ÅÒÎÏÅ ÓÁÍÙÊ ×ÁÖÎÙÊ, ÜÔÏ ÇÌÁ×ÎÙÊ ÓÌÏ×ÁÒØ, ÒÁÓÐÒÏÓÔÒÁÎÑÅÍÙÊ ×ÍÅÓÔÅ Ó Ispell. ÷Ù ÍÏÖÅÔÅ ×ÙÂÉÒÁÔØ ÍÅÖÄÕ ÎÅÓËÏÌØËÉÍÉ ÑÚÙËÁÍÉ. ÷ÔÏÒÏÊ ÓÌÏ×ÁÒØ ÜÔÏ ×ÁÛ ÐÅÒÓÏÎÁÌØÎÙÊ ÓÌÏ×ÁÒØ, ËÕÄÁ Ispell ÂÕÄÅÔ ×ÓÔÁ×ÌÑÔØ ÓÌÏ×Á, ËÏÔÏÒÙÅ ÏÎ ÎÅ ÍÏÖÅÔ ÎÁÊÔÉ × ÏÓÎÏ×ÎÏÍ ÓÌÏ×ÁÒÅ, ÎÏ ×Ù ÔÒÅÂÕÅÔÅ, ÞÔÏÂÙ ÏÎ ÚÁÐÏÍÎÉÌ ÉÈ.
åÓÌÉ ×Ù ÈÏÔÉÔÅ ÆÒÁÎÃÕÚÓËÉÊ ÓÌÏ×ÁÒØ Ispell ËÁË ÓÌÏ×ÁÒØ ÐÏ
ÕÍÏÌÞÁÎÉÀ, É ÈÏÔÉÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÆÁÊÌ .ispell-dico-perso
×
×ÁÛÅÊ ÄÏÍÁÛÎÅÊ ÄÉÒÅËÔÏÒÉÉ ËÁË ÌÉÞÎÙÊ ÓÌÏ×ÁÒØ, ÔÏ ×ÓÔÁ×ÔÅ ÓÌÅÄÕÀÝÉÅ
ÓÔÒÏËÉ × ×ÁÛ ÆÁÊÌ .emacs
file:
(setq sgml-mode-hook '(lambda () "Defauts for SGML mode." (setq ispell-personal-dictionary "~/.ispell-dico-perso") (ispell-change-dictionary "francais") ))
õ ×ÁÓ ÍÏÇÕÔ ÂÙÔØ ÎÅÂÏÌØÛÉÅ ÐÒÏÂÌÅÍÙ, ÅÓÌÉ ×Ù ÎÅ ×ÓÅ ×ÒÅÍÑ ÉÓÐÏÌØÚÕÅÔÅ ÐÒÏ×ÅÒËÕ ÄÏËÕÍÅÎÔÏ× ÎÁ ÏÄÎÏÍ É ÔÏÍ ÖÅ ÑÚÙËÅ. åÓÌÉ ×Ù ÐÅÒÅ×ÏÄÉÔÅ ÄÏËÕÍÅÎÔ, ÔÏ ÓËÏÒÅÅ ×ÓÅÇÏ, ÞÔÏ ×Ù ÏÞÅÎØ ÞÁÓÔÏ ÍÅÎÑÅÔÅ ÑÚÙËÉ (É ÓÌÏ×ÁÒÉ).
ñ ÎÅ ÚÎÁÀ ÓÐÏÓÏÂÁ (ÎÁ ÑÚÙËÅ Lisp) ×ÙÂÏÒÁ, ÌÉÂÏ Á×ÔÏÍÁÔÉÞÅÓËÉ, ÌÉÂÏ ÏÄÎÉÍ ÝÅÌÞËÏÍ ÍÙÛÉ, ÏÓÎÏ×ÎÏÇÏ É ÐÅÒÓÏÎÁÌØÎÏÇÏ ÓÌÏ×ÁÒÑ ÁÓÓÏÃÉÉÒÏ×ÁÎÎÙÈ Ó ÑÚÙËÏÍ, ËÏÔÏÒÙÊ × ÎÁÓÔÏÑÝÅÅ ×ÒÅÍÑ ÉÓÐÏÌØÚÕÅÔÓÑ. (åÓÌÉ ×Ù ÚÎÁÅÔÅ ËÁË, ÐÏÖÁÌÕÊÓÔÁ ÓÏÏÂÝÉÔÅ ÍÎÅ!)
ïÄÎÁËÏ, ×ÏÚÍÏÖÎÏ ÐÏËÁÚÁÔØ × ËÏÎÃÅ ÆÁÊÌÁ, ËÁËÉÅ ÓÌÏ×ÁÒÉ ×Ù ÈÏÔÉÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÄÌÑ ÔÅËÕÝÅÇÏ ÆÁÊÌÁ (É ÔÏÌØËÏ ÄÌÑ ÎÅÇÏ). äÏÓÔÁÔÏÞÎÏ ÔÏÌØËÏ ÄÏÂÁ×ÉÔØ ÉÈ ËÁË ËÏÍÍÅÎÔÁÒÉÊ, ÔÁË ÞÔÏ Ispell ÓÍÏÖÅÔ ÐÒÏÞÉÔÁÔØ ÜÔÉ ÕÓÔÁÎÏ×ËÉ ÐÒÉ ÚÁÐÕÓËÅ ÐÒÏ×ÅÒËÉ:
<!-- Local IspellDict: english --> <!-- Local IspellPersDict: ~/emacs/.ispell-english -->
åÓÌÉ ×Ù ÐÅÒ×ÏÎÁÞÁÌØÎÏ ÏÐÒÅÄÅÌÉÌÉ × ×ÁÛÅÍ ÆÁÊÌÅ .emacs
, ÞÔÏ
×ÁÛÉÍ ÓÌÏ×ÁÒÅÍ ÐÏ ÕÍÏÌÞÁÎÉÀ Ñ×ÌÑÅÔÓÑ ÆÒÁÎÃÕÚÓËÉÊ, ÔÏ ×Ù ÍÏÖÅÔÅ
ÄÏÂÁ×ÉÔØ ÜÔÉ ÓÔÒÏËÉ × ËÏÎÅà ÌÀÂÏÇÏ ÆÁÊÌÁ, ÎÁÐÉÓÁÎÎÏÇÏ ÎÁ ÁÎÇÌÉÊÓËÏÍ
ÑÚÙËÅ.
äÌÑ ÐÒÏ×ÅÒËÉ ×ÓÅÇÏ ÄÏËÕÍÅÎÔÁ, ÉÓÐÏÌØÚÕÊÔÅ ËÏÍÁÎÄÕ Meta-x
ispell-buffer
. ÷Ù ÍÏÖÅÔÅ ÔÁËÖÅ ÐÒÏ×ÅÒÉÔØ ÔÏÌØËÏ ×ÙÄÅÌÅÎÎÙÊ
ÂÌÏË ÔÅËÓÔÁ:
Ctrl-Spc
(mark-set-command), Meta-x ispell-region
.
úÁÔÅÍ Emacs ÚÁÐÕÓÔÉÔ Ispell. åÓÌÉ Ispell ×ÓÔÒÅÞÁÅÔ ÎÅÉÚ×ÅÓÔÎÏÅ ÓÌÏ×Ï, ÏÎ ÐÏËÁÖÅÔ ÓÌÏ×Ï (ÏÂÙÞÎÏ ÐÏÄÓ×ÅÞÅÎÎÏÅ) É ÂÕÄÅÔ ÏÖÉÄÁÔØ ÎÁÖÁÔÉÅ ËÌÁ×ÉÛÉ:
Meta-x ispell-continue
,
åÓÌÉ ispell ÎÁÈÏÄÉÔ ÏÄÎÏ ÉÌÉ ÎÅÓËÏÌØËÏ ÓÌÏ× ÐÏÈÏÖÉÈ ÎÁ ÎÅÉÚ×ÅÓÔÎÏÅ, ÔÏ ÏÎ ÐÏËÁÚÙ×ÁÅÔ ÉÈ × ÍÁÌÅÎØËÏÍ ÏËÎÅ, ËÁÖÄÏÅ ÉÚ ÓÌÏ× ÎÁÞÉÎÁÅÔÓÑ Ó ÞÉÓÌÁ. ðÒÏÓÔÏ ÎÁÂÅÒÉÔÅ ÜÔÏ ÞÉÓÌÏ ÄÌÑ ÚÁÍÅÎÙ ÎÅÐÒÁ×ÉÌØÎÏÇÏ ÓÌÏ×Á ÐÒÁ×ÉÌØÎÙÍ.
ëÌÁ×ÉÛÁ i ÐÏÚ×ÏÌÉÔ ×ÁÍ ×ÓÔÁ×ÉÔØ ÓÌÏ×Ï × ×ÁÛ ÐÅÒÓÏÎÁÌØÎÙÊ ÓÌÏ×ÁÒØ, × ÔÏ ×ÒÅÍÑ ËÁË ËÌÁ×ÉÛÁ A ×ÓÔÁ×ÉÔ ÓÌÏ×Ï × ÓÌÏ×ÁÒØ ÌÏËÁÌØÎÏÇÏ ÆÁÊÌÁ
óÌÏ×ÁÒØ ÌÏËÁÌØÎÏÇÏ ÆÁÊÌÁ -- ÜÔÏ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ÓÌÏ×, ×ÓÔÁ×ÌÅÎÎÙÈ × ËÏÎÅà ÆÁÊÌÁ ËÁË ËÏÍÍÅÎÔÁÒÉÊ, ÏÎÉ ÓÞÉÔÙ×ÁÀÔÓÑ Ispell ËÁÖÄÙÊ ÒÁÚ, ËÏÇÄÁ ÏÎ ÚÁÐÕÓËÁÅÔÓÑ ÄÌÑ ÜÔÏÇÏ ÆÁÊÌÁ. üÔÉÍ ÓÐÏÓÏÂÏÍ ×Ù ÍÏÖÅÔÅ ÕËÁÚÁÔØ ÓÌÏ×Á, ËÏÔÏÒÙÅ ÂÕÄÕÔ ÓÞÉÔÁÔØÓÑ ÐÒÁ×ÉÌØÎÙÍÉ ÔÏÌØËÏ ÄÌÑ ÜÔÏÇÏ ÆÁÊÌÁ, ÎÏ ÎÅ ÄÌÑ ÏÓÔÁÌØÎÙÈ ÆÁÊÌÏ×.
ôÁË ËÁË Ñ ÉÍÅÀ ÏÔÎÏÛÅÎÉÅ Ë ÒÁÓÓÍÁÔÒÉ×ÁÅÍÏÍÕ ×ÏÐÒÏÓÕ, Ñ ÄÕÍÁÀ, ÞÔÏ ÐÅÒÓÏÎÁÌØÎÙÊ ÓÌÏ×ÁÒØ ÚÁÒÅÚÅÒ×ÉÒÏ×ÁÎ ÄÌÑ ÓÌÏ×, ËÏÔÏÒÙÅ ÎÅ ÚÎÁÅÔ ÇÌÁ×ÎÙÊ ÓÌÏ×ÁÒØ, ÎÏ ËÏÔÏÒÙÅ ÐÒÉÎÁÄÌÅÖÁÔ ÜÔÏÍÕ ÑÚÙËÕ (ÐÏÄÏÂÎÏ ÐÅÒÅÎÅÓÅÎÎÙÍ ÓÌÏ×ÁÍ), ÐÌÀÓ ÄÌÑ ÎÅËÏÔÏÒÙÈ ÏÂÝÉÈ ÓÌÏ×, ÔÁËÉÈ ËÁË ÉÍÅÎ ÓÏÂÓÔ×ÅÎÎÙÈ ÉÌÉ ÄÒÕÇÉÈ (ÔÁËÉÈ ËÁË Linux), ÅÓÌÉ ÏÎÉ ÎÅ ×ÙÇÌÑÄÑÔ ÓÌÉÛËÏÍ ÐÏÈÏÖÅ ÎÁ ÓÌÏ×Á × ÇÌÁ×ÎÏÍ ÓÌÏ×ÁÒÅ; ÄÏÂÁ×ÌÅÎÉÅ ÓÌÉÛËÏÍ ÂÏÌØÛÏÇÏ ËÏÌÉÞÅÓÔ×Á ÓÌÏ× × ÐÅÒÓÏÎÁÌØÎÙÊ ÓÌÏ×ÁÒØ, ÔÁËÉÈ ËÁË ÉÍÅÎÁ, ÍÏÖÅÔ ÂÙÔØ ÏÐÁÓÎÙÍ, ÐÏÔÏÍÕ-ÞÔÏ ÏÎÉ ÍÏÇÕÔ ×ÙÇÌÑÄÅÔØ ËÁË ÓÌÏ×Á ÔÅËÕÝÅÇÏ ÑÚÙËÁ (ÎÅËÏÔÒÙÅ ÍÏÇÕÔ ÐÒÅÄÓÔÁ×ÉÔØ, ÞÔÏ Ispell ÂÙÌ ÏÚÁÄÁÞÅÎ ÓÌÅÄÕÀÝÉÍ ÐÒÅÄÌÏÖÅÎÉÅÍ: `When the going gets tof, the tof get going
Tof ÜÔÏ ÆÒÁÎÃÕÚÓËÏÅ ÓÏËÒÁÝÅÎÉÅ ÉÍÅÎÉ Christophe.'!).
Ispell ÍÏÖÅÔ ÐÒÏ×ÅÒÑÔØ ×ÁÛ ÆÁÊÌ ×Ï ×ÒÅÍÑ ÎÁÂÏÒÁ ÔÅËÓÔÁ. äÌÑ ÜÔÏÇÏ ×ÁÍ
ÎÅÏÂÈÏÄÉÍÏ ÉÓÐÏÌØÚÏ×ÁÔØ ispell-minor-mode. äÌÑ ÅÇÏ ÚÁÐÕÓËÁ
ÎÁÂÅÒÉÔÅ Meta-x ispell-minor-mode
. Ispell ÂÕÄÅÔ ÐÏÄÁ×ÁÔØ
Ú×ÕËÏ×ÏÊ ÓÉÇÎÁÌ, ËÁÖÄÙÊ ÒÁÚ ËÏÇÄÁ ×Ù ÎÁÂÉÒÁÅÔÅ ÓÌÏ×Ï, ËÏÔÏÒÏÅ ÏÎ ÎÅ
ÚÎÁÅÔ.
åÓÌÉ ÜÔÉ ÓÉÇÎÁÌÙ ÒÁÚÄÒÁÖÁÀÔ ×ÁÓ (ÉÌÉ ×ÁÛ ÓÏÓÅÄ ÐÏ ËÏÍÎÁÔÅ ÌÅÇ
ÏÔÄÏÈÎÕÔØ), ÔÏ ×Ù ÍÏÖÅÔÅ ÚÁÍÅÎÉÔØ ÜÔÉ ÎÁÄÏÅÄÌÉ×ÙÅ ÓÉÇÎÁÌÙ ÎÁ ×ÓÐÙÛËÕ ÎÁ
ÜËÒÁÎÅ Ó ÐÏÍÏÝØÀ ËÏÍÁÎÄÙ Meta-x set-variable RET visible-bell RET t
RET
. ÷Ù ÍÏÖÅÔÅ ÄÏÂÁ×ÉÔØ ÓÌÅÄÕÀÝÕÀ ÓÔÒÏËÕ × × ×ÁÛ ÆÁÊÌ
.emacs
É ÚÁÇÌÕÛÉÔØ Emacs ÎÁ×ÓÅÇÄÁ:
(setq visible-bell t)
Emacs ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ÐÅÒÅÈ×ÁÔÉÔØ ÎÅËÏÔÏÒÙÅ ÄÅÊÓÔ×ÉÑ ÎÁ ÌÀÂÙÅ ÓÏÂÙÔÉÑ (ÏÔËÒÙÔÉÅ ÆÁÊÌÁ, ÓÏÈÒÁÎÅÎÉÅ, ÚÁÐÕÓË × ÎÏ×ÏÍ ÒÅÖÉÍÅ É Ô.Ð.).
âÉÂÌÉÏÔÅËÁ autoinsert ÉÓÐÏÌØÚÕÅÔ ÜÔÏ Ó×ÏÊÓÔ×Ï: ËÏÇÄÁ ×Ù ÏÔËÒÙ×ÁÅÔÅ ÎÏ×ÙÊ ÆÁÊÌ × Emacs, ÜÔÁ ÂÉÂÌÉÏÔÅËÁ ×ÓÔÁ×ÌÑÅÔ, ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ ÔÉÐÕ ÆÁÊÌÁ ÎÅËÏÔÏÒÙÊ ÓÔÁÎÄÁÒÔÎÙÊ ÚÁÇÏÌÏ×ÏË.
÷ ÎÁÛÅÍ ÓÌÕÞÁÅ ÜÔÏÔ ÓÔÁÎÄÁÒÔÎÙÊ ÚÁÇÏÌÏ×ÏË, ÍÏÖÅÔ ÓÏÄÅÒÖÁÔØ ÏÂßÑ×ÌÅÎÉÑ ÔÉÐÁ ÄÏËÕÍÅÎÔÁ (LinuxDoc), ÚÁÇÏÌÏ×ÏË ÓÁÍÏÇÏ ÄÏËÕÍÅÎÔÁ, ÉÍÑ Á×ÔÏÒÁ, É ÄÁÔÕ.
ñ ÚÄÅÓØ ÏÐÉÛÕ Ä×Á ÓÐÏÓÏÂÁ ÄÌÑ ×ÓÔÁ×ËÉ ÔÁËÉÈ ÚÁÇÏÌÏ×ËÏ×. ÷Ù ÍÏÖÅÔÅ ×ÓÔÁ×ÉÔØ ÆÁÊÌ ÛÁÂÌÏÎÁ, ËÏÔÏÒÙÊ ÓÏÄÅÒÖÉÔ ×ÓÔÁ×ÌÑÅÍÕÀ ÉÎÆÏÒÍÁÃÉÀ, ÉÌÉ ×Ù ÍÏÖÅÔÅ ÚÁÐÕÓÔÉÔØ ÐÒÏÃÅÄÕÒÕ ÎÁ elisp.
÷Ù ÄÏÌÖÎÙ ÓÎÁÞÁÌÁ ÚÁÓÔÁ×ÉÔØ Emacs ÚÁÐÕÓÔÉÔØ auto-insert
ÐÒÉ
ÏÔËÒÙÔÉÉ ÆÁÊÌÁ, ÚÁÔÅÍ ÓÞÉÔÁÔØ ÂÉÂÌÉÏÔÅËÕ autoinsert, ËÏÔÏÒÁÑ
ÏÂßÑ×ÌÑÅÔ ÓÐÉÓÏË auto-insert-alist
, ËÏÔÏÒÙÊ ÎÅÏÂÈÏÄÉÍÏ
ÉÚÍÅÎÉÔØ. üÔÏÔ ÓÐÉÓÏË ÏÐÒÅÄÅÌÑÅÔ ×ÓÔÁ×ÌÑÅÍÙÅ ÚÁÇÏÌÏ×ËÉ ÄÌÑ ËÁÖÄÏÇÏ ÔÉÐÁ
ÆÁÊÌÏ×. ðÏ ÕÍÏÌÞÁÎÉÀ, ×ÓÔÁ×ÌÑÅÍÙÊ ÆÁÊÌ ÄÏÌÖÅÎ ÎÁÈÏÄÉÔØÓÑ × ÄÉÒÅËÔÏÒÉÉ
~/insert/
, ÎÏ ÍÏÖÎÏ ÐÅÒÅÏÐÒÅÄÅÌÉÔØ ÐÅÒÅÍÅÎÎÕÀ
auto-insert-directory
, ÅÓÌÉ ×Ù ÈÏÔÉÔÅ ÐÏÍÅÓÔÉÔØ ÚÁÇÏÌÏ×ËÉ ×
ÄÒÕÇÏÅ ÍÅÓÔÏ.
äÏÂÁ×ØÔÅ ÓÌÅÄÕÀÝÉÅ ÓÔÒÏËÉ × ×ÁÛ ÆÁÌ .emacs
ÄÌÑ ×ÓÔÁ×ËÉ ÆÁÊÌÁ
~/emacs/sgml-insert.sgml
ÐÒÉ ËÁÖÄÏÍ ÏÔËÒÙÔÉÉ ÎÏ×ÏÇÏ ÆÁÊÌÁ SGML:
(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))
úÁÔÅÍ ×Ù ÍÏÖÅÔÅ ÎÁÐÉÓÁÔØ ÆÁÊÌ ~/emacs/sgml-insert.sgml
ÔÏÔ
ÚÁÇÏÌÏ×ÏË, ËÏÔÏÒÙÊ ×ÁÍ ÎÅÏÂÈÏÄÉÍ, ÚÁÔÅÍ ÐÅÒÅÚÁÐÕÓÔÉÔØ Emacs É ÏÔËÒÙÔØ
ËÁËÏÊ-ÎÉÂÕÄØ ÎÏ×ÙÊ ÆÁÊÌ (ÎÁÐÒÉÍÅÒ foobar.sgml
). Emacs ÄÏÌÖÅÎ
ÓÐÒÏÓÉÔØ Õ ×ÁÓ ÐÏÄÔ×ÅÒÖÄÅÎÉÅ Á×ÔÏÍÁÔÉÞÅÓËÏÊ ×ÓÔÁ×ËÉ ÚÁÇÏÌÏ×ËÁ, É ÅÓÌÉ ×Ù
ÏÔ×ÅÔÉÔÅ ÕÔ×ÅÒÄÉÔÅÌØÎÏ, ÔÏ ÏÎ ×ÓÔÁ×ÉÔ ÚÁÇÏÌÏ×ÏË.
üÔÏÔ ÍÅÔÏÄ ÒÁÂÏÔÁÅÔ ÐÏÞÔÉ ËÁË ÐÒÅÄÙÄÕÝÉÊ, ÎÏ ×ÍÅÓÔÏ ÕÓÔÁÎÏ×ËÉ ÕËÁÚÁÔÅÌÑ
auto-insert-alist
ÎÁ ×ÓÔÁ×ÌÑÅÍÙÊ ÆÁÊÌ, ×ÁÍ ÎÅÏÂÈÏÄÉÍÏ ÕËÁÚÁÔØ
ËÁËÕÀ ÐÒÏÃÅÄÕÒÕ ÎÁÄÏ ×ÙÐÏÌÎÉÔØ. ôÅÐÅÒØ ËÁË ÜÔÏ ÒÁÂÏÔÁÅÔ, ÄÏÐÕÓËÁÑ, ÞÔÏ
×Ù ÈÏÔÉÔÅ ÚÁÐÉÓÁÔØ ÜÔÕ ÆÕÎËÃÉÀ × ÆÁÊÌ, ÎÁÚ×ÁÎÎÙÊ
~/emacs/sgml-header.el
. (ÎÅÔ ÎÅÏÂÈÏÄÉÍÏÓÔÉ ÐÅÒÅÇÒÕÖÁÔØ ×ÁÛ ÆÁÊÌ
.emacs
ÔÁËÉÍÉ ÆÕÎËÃÉÑÍÉ, ÐÏÓËÏÌØËÕ ÏÎÉ ÍÏÇÕÔ ÄÏÌÇÏ ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ):
(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))
÷Ù ÎÁÊÄÅÔÅ × ÒÁÚÄÅÌÅ
appendix
ÐÒÉÍÅÒ ÆÕÎËÃÉÉ insert-sgml-header
.
insert-sgml-header
üÔÁ ÆÕÎËÃÉÑ ÐÏÚ×ÏÌÉÔ ÐÏÌØÚÏ×ÁÔÅÌÀ ×ÓÔÁ×ÉÔØ ÎÁÓÔÒÁÉ×ÁÅÍÙÊ ÚÁÇÏÌÏ×ÏË ÄÌÑ ÄÏËÕÍÅÎÔÁ Linux Documentation Project × ÆÁÊÌ. ïÎÁ ÍÏÖÅÔ ÂÙÔØ ×ÙÚ×ÁÎÁ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÒÉ ÏÔËÒÙÔÉÉ ÎÏ×ÏÇÏ ÆÁÊÌÁ, ÉÌÉ ÍÏÖÅÔ ÂÙÔØ ×ÙÚ×ÁÎÁ ÐÏÌØÚÏ×ÁÔÅÌÅÍ.
üÔÁ ÆÕÎËÃÉÑ ÚÁÐÒÁÛÉ×ÁÅÔ Õ ÐÏÌØÚÏ×ÁÔÅÌÑ, ÐÏÌØÚÕÑÓØ mini-buffer, ÎÅËÏÔÏÒÕÀ ÉÎÆÏÒÍÁÃÉÀ, ÞÁÓÔØ ÉÚ ËÏÔÏÒÏÊ ÎÅÏÂÈÏÄÉÍÁ, Á ÞÁÓÔØ ÎÅÔ. not.
óÎÁÞÁÌÁ ÉÄÅÔ ÚÁÇÏÌÏ×ÏË ÄÏËÕÍÅÎÔÁ. åÓÌÉ ÎÉÞÅÇÏ ÎÅ ÄÁÎÏ, ÔÏ ÆÕÎËÃÉÑ ÓÒÁÚÕ ÐÒÅËÒÁÝÁÅÔ ×ÙÐÏÌÎÅÎÉÅ É ÎÉÞÅÇÏ ÎÅ ×ÓÔÁ×ÌÑÅÔ. úÁÔÅÍ ÉÄÅÔ ÄÁÔÁ, Á×ÔÏÒ, ÅÇÏ ÜÌÅËÔÒÏÎÎÙÊ ÁÄÒÅÓ É ÄÏÍÁÛÎÑÑ ÓÔÒÁÎÉÃÁ (ÜÔÉ Ä×Á ÐÏÓÌÅÄÎÉÈ ÐÕÎËÔÁ Ñ×ÌÑÀÔÓÑ ÏÐÃÉÏÎÁÌØÎÙÍÉ).
úÁÔÅÍ ÉÄÅÔ ÚÁÐÒÏÓ ÉÍÅÎÉ ÐÅÒÅ×ÏÄÞÉËÁ ÄÏËÕÍÅÎÔÁ. åÓÌÉ ÅÇÏ ÎÅÔ, ÔÏ ÐÒÏÓÔÏ ÎÁÖÍÉÔÅ ËÌÁ×ÉÛÕ Return, É ÂÏÌØÛÅ ÚÁÐÒÏÓÏ× ÎÅ ÂÕÄÅÔ. á ÅÓÌÉ ÐÅÒÅ×ÏÄÞÉË ÅÓÔØ, ÔÏ ×ÁÓ ÚÁÐÒÏÓÑÔ Ï ÅÇÏ ÜÌÅËÔÒÏÎÎÏÍ ÁÄÒÅÓÅ É ÄÏÍÁÛÎÅÊ ÓÔÒÁÎÉÃÅ.
úÁÔÅÍ ÜÔÁ ÆÕÎËÃÉÑ ×Ù×ÏÄÉÔ ×ÓÅ × ÔÅËÕÝÉÊ ÂÕÆÅÒ,×ËÌÀÞÁÑ ËÏÎÅÞÎÏ ×ÓÀ ÉÎÆÏÒÍÁÃÉÀ, ËÏÔÏÒÕÀ ×Ù ××ÅÌÉ É ×ËÌÀÞÁÑ ÔÁËÖÅ ÎÅÏÂÈÏÄÉÍÙÅ ÔÁÇÉ ÄÌÑ ËÒÁÔËÏÇÏ ÓÏÄÅÒÖÁÎÉÑ É ÐÅÒ×ÏÊ ÇÌÁ×Ù. ÷ ËÏÎÃÅ ÏÎ ÐÏÍÅÓÔÉÔ ËÕÒÓÏÒ × ÔÏÍ ÍÅÓÔÏ, ÇÄÅ ÂÕÄÅÔ ÎÁÂÉÒÁÔØÓÑ ËÒÁÔËÏÅ ÓÏÄÅÒÖÁÎÉÅ.
(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) ))))