Page précédente
Page suivante
Table des matières
SGML, c'est magique, surtout quand on a les outils d'exploitation
ad hoc. Autrement dit : un éditeur de texte
digne de ce nom des back-ends puissants, permettant
de traiter le document en vue de son exploitation sous différents
formats.
Il y aurait beaucoup à dire sur le second point, mais nous ne nous
attachons ici qu'au premier, et dans un contexte très précis.
- Utilisation de la DTD
linuxdoc
.
- Utilisation d'Emacs avec le mode psgml.
Le mode psgml est assez puissant pour lire et analyser la
dtd du document SGML en cours d'édition, et se servir de ces informations
pour venir en aide à l'utilisateur. Ses avantages principaux sont, à mes
yeux,
- La possibilité d'indenter et de réaménager le texte de
façon cohérente, par le truchement des touches TAB et
C-c C-q. Regardez plutôt le fichier source SGML
de ce document. Vous pensez vraiment qu'il a été mis en forme à
la main ?
- Comme pour tous les modes de programmation qui se
respectent, la possibilité de compléter les mots clés, par le
simple effet d'un M-TAB.
- La possibilité, à tout moment, de valider le document en
appelant un parseur externe du genre
sgmls
,
via C-c C-v. Dans la plupart des cas, le
parseur de psgml est d'ailleurs suffisant pour pointer
les incohérences du document, qui sont immédiatement
accessibles par une suite de C-c C-o.
- La possibilité de fermer rapidement l'élément en cours (par
C-c /).
- La possibilité de savoir à tout moment, à l'aide de la
combinaison C-c C-t, quelles sont les balises
autorisées, en ouverture comme en fermeture.
Il existe bien sûr de nombreuses autres fonctionnalités
utilisateur, parfois moins spectaculaires, mais qui s'avèrent
souvent très efficaces. Citons au hasard la combinaison
C-c =, qui permet de renommer l'élément dans
lequel se trouve le point d'insertion : ainsi, inutile de se
balader entre les balises de début et de fin pour changer un
<em>...</em>
en <sq>...</sq>
.
Quant aux fonctionnalités proposées aux programmeurs elisp, elles
permettent de faire à peu près ce qu'on veut, notamment grâce aux
multiples hooks prévus par l'API de psgml.
Page précédente
Page suivante
Table des matières