J.4. ÐапиÑание докÑменÑаÑии
ФоÑмаÑÑ SGML и DocBook не ÑÑÑадаÑÑ Ð¾Ñ Ð¾Ð±Ð¸Ð»Ð¸Ñ ÑÑедÑÑв Ð¸Ñ ÑедакÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ñ Ð¾ÑкÑÑÑÑм иÑÑ Ð¾Ð´Ð½Ñм кодом. ЧаÑе вÑего Ð´Ð»Ñ Ð½Ð°Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð´Ð¾ÐºÑменÑаÑии иÑполÑзÑеÑÑÑ ÑедакÑÐ¾Ñ Emacs/XEmacs в Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑем Ñежиме. РнекоÑоÑÑÑ ÑиÑÑÐµÐ¼Ð°Ñ ÑÑи ÑедакÑоÑÑ ÑÑÑанавливаÑÑÑÑ Ð¿Ñи ÑипиÑной полной ÑÑÑановке.
J.4.1. Emacs/PSGML
Режим PSGML â наиболее попÑлÑÑнÑй и моÑнÑй Ñежим ÑедакÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð¾ÐºÑменÑов SGML. ÐÑи пÑавилÑной наÑÑÑойке в Emacs он позволÑÐµÑ Ð²ÑÑавлÑÑÑ Ñеги и пÑовеÑÑÑÑ ÐºÐ¾ÑÑекÑноÑÑÑ ÑазмеÑки. Ðго Ñакже можно иÑполÑзоваÑÑ Ð´Ð»Ñ ÑедакÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ HTML. ÐагÑÑжаемÑе ÑайлÑ, инÑÑÑÑкÑии по ÑÑÑановке и подÑобнÑÑ Ð´Ð¾ÐºÑменÑаÑÐ¸Ñ Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе найÑи на ÑайÑе PSGML.
ÐеобÑ
одимо оÑмеÑиÑÑ Ð²Ð°Ð¶Ð½Ñй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð¾ÑноÑиÑелÑно PSGML: его авÑÐ¾Ñ Ð¿Ñедполагал, ÑÑо ваÑим оÑновнÑм каÑалогом Ñ DTD SGML бÑÐ´ÐµÑ /usr/local/lib/sgml. ÐÑли же Ñ Ð²Ð°Ñ, как и в пÑиводимÑÑ
Ñанее пÑимеÑаÑ
, ÑÑо каÑалог /usr/local/share/sgml, вам нÑжно дополниÑелÑно ÑкоÑÑекÑиÑоваÑÑ Ð¿ÑедопÑеделÑннÑй пÑÑÑ, либо воÑполÑзовавÑиÑÑ Ð¿ÐµÑеменной окÑÑÐ¶ÐµÐ½Ð¸Ñ SGML_CATALOG_FILES, либо наÑÑÑоив ÑооÑвеÑÑÑвенно ваÑÑ Ð¸Ð½ÑÑаллÑÑÐ¸Ñ PSGML (как ÑÑо ÑделаÑÑ, можно ÑзнаÑÑ Ð¸Ð· его опиÑаниÑ).
ÐомеÑÑиÑе ÑледÑÑÑие ÑÑÑоки в Ñайл ~/.emacs (изменив пÑÑи на подÑ
одÑÑие Ð´Ð»Ñ Ð²Ð°Ñей ÑиÑÑемÑ):
; ********** Ð´Ð»Ñ Ñежима SGML (psgml)
(setq sgml-omittag t)
(setq sgml-shorttag t)
(setq sgml-minimize-attributes nil)
(setq sgml-always-quote-attributes t)
(setq sgml-indent-step 1)
(setq sgml-indent-data t)
(setq sgml-parent-document nil)
(setq sgml-exposed-tags nil)
(setq sgml-catalog-files '("/usr/local/share/sgml/catalog"))
(autoload 'sgml-mode "psgml" "Major mode to edit SGML files." t ) и добавÑÑе в ÑÐ¾Ñ Ð¶Ðµ Ñайл запиÑÑ Ð´Ð»Ñ SGML в ÑÑÑеÑÑвÑÑÑее опÑеделение auto-mode-alist:
(setq
auto-mode-alist
'(("\\.sgml$" . sgml-mode)
))ÐÑполÑзÑÑ PSGML, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе найÑи ÑдобнÑм вÑÑавлÑÑÑ Ð¿Ð¾Ð´Ñ
одÑÑие обÑÑÐ²Ð»ÐµÐ½Ð¸Ñ DOCTYPE в оÑделÑнÑе ÑÐ°Ð¹Ð»Ñ ÐºÐ½Ð¸Ð³Ð¸, когда Ð²Ñ ÑедакÑиÑÑеÑе иÑ
. ÐапÑимеÑ, ÑедакÑиÑÑÑ ÑекÑÑий ÑекÑÑ, коÑоÑÑй оÑноÑиÑÑÑ Ðº главе пÑиложений (appendix), Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе обознаÑиÑÑ Ð´Ð¾ÐºÑÐ¼ÐµÐ½Ñ ÐºÐ°Ðº ÑкземплÑÑ Ð´Ð¾ÐºÑменÑа «appendix», добавив в него ÑледÑÑÑÑÑ Ð¿ÐµÑвÑÑ ÑÑÑокÑ:
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook V4.2//EN">
ÐÑо бÑÐ´ÐµÑ Ð¾Ð·Ð½Ð°ÑаÑÑ, ÑÑо вÑÑ Ð¸ вÑÑ, ÑиÑаÑÑее ÑÑÐ¾Ñ SGML, ÑÐ¼Ð¾Ð¶ÐµÑ Ð¿ÑоÑиÑаÑÑ ÐµÐ³Ð¾ пÑавилÑно, и его коÑÑекÑноÑÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ бÑÐ´ÐµÑ Ð¿ÑовеÑиÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ nsgmls -s docguide.sgml. (Ðо Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑдеÑе ÑбÑаÑÑ ÑÑÑ ÑÑÑокÑ, пÑежде Ñем ÑобиÑаÑÑ Ð²ÐµÑÑ ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ Ð´Ð¾ÐºÑменÑаÑии.)
J.4.2. ÐÑÑгие ÑÐµÐ¶Ð¸Ð¼Ñ Emacs
GNU Emacs пÑÐµÐ´Ð»Ð°Ð³Ð°ÐµÑ Ð´ÑÑгой Ñежим SGML, не Ñакой моÑнÑй как PSGML, но пÑи ÑÑом менее запÑÑаннÑй и ÑÑжеловеÑнÑй. ÐÑоме Ñого, в нÑм Ñеализована подÑвеÑка ÑинÑакÑиÑа (пÑивÑзка ÑÑиÑÑов), коÑоÑÐ°Ñ Ð±ÑÐ²Ð°ÐµÑ Ð²ÐµÑÑма полезна. ÐÑÐ¸Ð¼ÐµÑ ÐºÐ¾Ð½ÑигÑÑаÑии Ð´Ð»Ñ ÑÑого Ñежима ÑодеÑжиÑÑÑ Ð² src/tools/editors/emacs.samples.
ÐоÑм Ð£Ð¾Ð»Ñ Ð¿Ñедложил главнÑй Ñежим ÑпеÑиалÑно Ð´Ð»Ñ DocBook, в коÑоÑом Ñакже Ñеализовал пÑивÑÐ·ÐºÑ ÑÑиÑÑов и ÑÑд возможноÑÑей Ð´Ð»Ñ Ð¾Ð¿ÑимизаÑии ввода ÑекÑÑа.