
Primerni so pravzaprav vsi, ki shranijo datoteke kot ASCII. Torej vi, emacs, knotepad, kwrite, itd. Če je kdo ob tem pomislil na Notepad iz Windows (recimo, da dela del časa na tako hendikepiranem računalniku) še opozorilo:
Pri uvažanju so težave: znaki morajo biti v latin2 (ISO 8859-2) in ne v CP1250 (Win) ali CP852 (DOS), sicer se bo prevajalnik pritožil, a vseeno prevedel datoteko. Težava je le v tem, da bodo tam namesto naših znakov prazna mesta.... To, da je prelom vrstice v DOS-u <CR> <LF>, v Unix-u pa le <LF> niti ni tako hudo. Zakaj sem predlagal emacs ali pa pod določenimi pogoji kwrite? Vsekakor zelo priporočam barvanje skladnje (emacs sam prepozna SGML datoteke, v kWrite pa nastavimo poudarek na HTML (v bistvu gre za SGML). Emacs je posebej uporaben za poganjanje prevajalnika (da ni treba vedno skakati v ukazno vrstico), pa še zgodovino različic lahko nadziramo... skratka priporočam! Gre pa tudi drugače....
Kot že rečeno, emacs podpira barvanje skladnje SGML (z ustreznim modulom seveda - v večini distribucij bi načeloma moral biti; v SuSE 6.1 je). Seveda pa je to treba vklopiti: Help->Options->Global Font Lock Ker je nerodno podporo za barvanje vsakič znova vklapljati je bolje, da v datoteki .emacs ki se nahaja v vašem domačem imeniku (/home/moje_uporabniško_ime) dodamo ti dve vrstici:
(set-language-environment "Latin-2") (global-font-lock-mode t) |
db2html -d /usr/lib/sgml/stylesheets/kde.dsl index.docbook |
<!-- Local Variables: mode: sgml sgml-omittag: nil sgml-shorttag: t End: --> |
Modul psgml (zraven paketa docbook tools) je bistveno zmogljivejši, a kot kaže privzeto ne barva sintakse sgml. Na strani http://www.snee.com/bob/sgmlfree/emcspsgm.pdf je v 99 (!) straneh dolgem priročniku (PDF je zelo velik) naslednji nasvet (na strani 89): v datoteki .emacs je treba postaviti vrednost spremenljivke sgml-set-face na "non-nil". Rešitev je torej
(setq sgml-set-face t) |
Kaj je šlo narobe? Privzeta shema je poudarjeno besedilo, torej "bold", in če ste na konzoli ali pa imate font, ki ne more biti poudarjen... No, rešitev je preprosta:
(make-face 'sgml-comment-face)
(make-face 'sgml-start-tag-face)
(make-face 'sgml-end-tag-face)
(make-face 'sgml-entity-face)
(make-face 'sgml-param-face)
(make-face 'sgml-doctype-face)
(set-face-foreground 'sgml-comment-face "Gray")
(set-face-foreground 'sgml-start-tag-face "Blue")
(set-face-foreground 'sgml-end-tag-face "MediumAquamarine")
(set-face-foreground 'sgml-entity-face "Gold")
(set-face-foreground 'sgml-param-face "Violet")
(set-face-foreground 'sgml-doctype-face "Red")
(setq sgml-markup-faces
'((comment . sgml-comment-face)
(start-tag . sgml-start-tag-face)
(end-tag . sgml-end-tag-face)
(entity . sgml-entity-face)
(param . sgml-param-face)
(doctype . sgml-doctype-face)))
|
Primer 2.1. Posnetek emacs-a
Prikazana je uporaba modula psgml iz paketa docbook orodij.

KWrite (K->Uporabniški programi->Napredni urejevalnik) je manj zmogljiv, čeprav se izkaže pri barvanju SGML kode: ne le da jo lahko lepo barva, za posamezne elemente lahko uporabi različno pisavo - kar precej pripomore k berljivosti. Za morebitne novince je tudi precej lažje obvladljiv kot pa emacs, katerega uporabniški vmesnik je sam svoj standard.
Primer 2.2. Posnetek kWrite
Izrez iz okna kWrite. Lepo je vidna uporaba različnih pisav.
