<!-- Copyright (c) 1998, 1999 Nik Clayton, All rights reserved.

     Redistribution and use in source (SGML DocBook) and 'compiled' forms
     (SGML HTML, PDF, PostScript, RTF and so forth) with or without
     modification, are permitted provided that the following conditions
     are met:

      1. Redistributions of source code (SGML DocBook) must retain the above
         copyright notice, this list of conditions and the following
         disclaimer as the first lines of this file unmodified.

      2. Redistributions in compiled form (transformed to other DTDs,
         converted to PDF, PostScript, RTF and other formats) must reproduce
         the above copyright notice, this list of conditions and the
         following disclaimer in the documentation and/or other materials
         provided with the distribution.

     THIS DOCUMENTATION IS PROVIDED BY NIK CLAYTON "AS IS" AND ANY EXPRESS OR
     IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
     DISCLAIMED. IN NO EVENT SHALL NIK CLAYTON BE LIABLE FOR ANY DIRECT,
     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
     SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
     STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
     ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE
     POSSIBILITY OF SUCH DAMAGE.

     $Id: chapter.sgml,v 1.1 2000-06-12 15:46:33 gioria Exp $
-->

<chapter id="psgml-mode">
  <title> Utiliser <literal>sgml-mode</literal> avec
    <application>Emacs</application></title>
 
  <para>Les versions r&eacute;centes d'Emacs ou Xemacs (disponibles au catalogue des
    logiciels port&eacute;s) incluent un paquetage tr&egrave;s utile appel&eacute; PSGML. Il est
    automatiquement appel&eacute; au chargement d'un fichier avec l'extension
    <filename>.sgml</filename>, ou lorsque l'on tape <command>M-x
      sgml-mode</command>. C'est un mode majeur pour traiter les fichiers
    SGML, les &eacute;l&eacute;ments et les attributs.</para>

  <para>Conna&icirc;tre certaines des commandes de ce mode peut rendre le travail
    sur des documents comme le Manuel de R&eacute;f&eacute;rence beaucoup plus
    facile.</para>

  <variablelist>
    <varlistentry>
      <term><command>C-c C-e</command></term>
      
      <listitem>
	<para>Ex&eacute;cute <literal>sgml-insert-element</literal>. On vous
          demandera le nom de l'&eacute;lement &agrave; ins&eacute;rer l&agrave; ou se trouve le
          curseur. Vous pouvez utiliser la touche <keycap>Tab</keycap> pour
          compl&eacute;ter le nom de l'&eacute;l&eacute;ment. Seuls les &eacute;l&eacute;ments syntaxiquement
          valides &agrave; cet endroit seront accept&eacute;s.</para>

	<para>L'&eacute;diteur ins&eacute;rera les marques de d&eacute;but et de fin de l'&eacute;l&eacute;ment.
          S'il y a d'autres &eacute;l&eacute;ments obligatoires qui doivent &ecirc;tre inclus
          dans cet &eacute;l&eacute;ment, ils seront aussi inclus.</para>
      </listitem>
    </varlistentry>
    
    <varlistentry>
      <term><command>C-c =</command></term>
      
      <listitem>
	<para>Ex&eacute;cute <literal>sgml-change-element-name</literal>. Mettez-vous
          dans un &eacute;l&eacute;ment et utilisez cette commande. On vous demandera le nom
          de l'&eacute;l&eacute;ment par lequel il faut le remplacer. Les marques de d&eacute;but
          et de fin de l'&eacute;l&eacute;ment seront remplac&eacute;es.</para>
      </listitem>
    </varlistentry>
    
    <varlistentry>
      <term><command>C-c C-r</command></term>
      
      <listitem>
	<para>Ex&eacute;cute <literal>sgml-tag-region</literal>. S&eacute;lectionnez du
          texte (placez-vous au d&eacute;but, <command>C-espace</command>, allez &agrave;
          la fin du texte, <command>C-espace</command>) et lancez ensuite
          cette commande. On vous demandera quel &eacute;lement utiliser. Celui-ci
          sera ins&eacute;r&eacute; imm&eacute;diatement avant et apr&egrave;s la r&eacute;gion choisie.</para>
      </listitem>
    </varlistentry>

    <varlistentry>
      <term><command>C-c -</command></term>
      
      <listitem>
	<para>Ex&eacute;cute <literal>sgml-untag-element</literal>. Mettez-vous sur
          la marque de d&eacute;but ou de fin de l'&eacute;l&eacute;ment que vous voulez supprimer
          et lancez cette commande. Les marques de d&eacute;but et de fin de
          l'&eacute;l&eacute;ment seront supprim&eacute;es.</para>
      </listitem>
    </varlistentry>
    
    <varlistentry>
      <term><command>C-c C-q</command></term>
      
      <listitem>
	<para>Ex&eacute;cute <literal>sgml-fill-element</literal>.
          &ldquo;Remplira&rdquo; (i.e., reformatera) le contenu de l'&eacute;l&eacute;ment
          courant. Cela affectera aussi le contenu dont les blancs sont
          significatifs, comme celui des &eacute;l&eacute;ments
          <sgmltag>programlisting</sgmltag>, utilisez donc cette commande avec
          pr&eacute;caution.</para>
      </listitem>
    </varlistentry>
    
    <varlistentry>
      <term><command>C-c C-a</command></term>
      
      <listitem>
	<para>Ex&eacute;cute <literal>sgml-edit-attributes</literal>. Ouvre un
          deuxi&egrave;me tampon donnant la liste des attributs de l'&eacute;l&eacute;ment
          qui inclut le contenu courant, avec leurs valeurs. La touche
          <keycap>Tab</keycap> vous permet de passer d'un attribut &agrave; l'autre,
	  <command>C-k</command> de modifier une valeur existante, et
	  <command>C-c</command> de fermer le tampon et de revenir au
          document principal.</para>
      </listitem>
    </varlistentry>
    
    <varlistentry>
      <term><command>C-c C-v</command></term>
      
      <listitem>
	<para>Ex&eacute;cute <literal>sgml-validate</literal>. Vous propose de
          sauvegarder le document en cours (si besoin est) et passe ensuite un
          programme de validation du SGML. Les r&eacute;sultats de cette validation
          sont affich&eacute;s dans un nouveau tampon et vous pouvez ensuite naviguer
          d'une erreur &agrave; l'autre, pour les corriger au fur et &agrave; mesure.</para>
      </listitem>
    </varlistentry>
  </variablelist>
  
  <para>Il y a sans aucun doute d'autres fonctions utiles, mais j'ai d&eacute;crit 
    celles que j'utilise le plus souvent.</para>
</chapter>


<!--
     Local Variables:
     mode: sgml
     sgml-declaration: "../chapter.decl"
     sgml-indent-data: t
     sgml-omittag: nil
     sgml-always-quote-attributes: t
     sgml-parent-document: ("../book.sgml" "part" "chapter")
     End:
-->

