## Créer de nouveaux éléments

### Boutons et menu XHTML

La manière la plus simple de créer de nouveaux éléments dans un document est de placer le point d'insertion à la position voulue et d'utiliser les menus Xhtml ou Xml, ou les boutons correspondant aux éléments les plus communs (images, en-têtes, listes...). Ces boutons ou entrées de menu créent l'élément correspondant à la position courante.

Dans certains cas, l'élément désiré ne peut pas être créé exactement à la position choisie à cause des contraintes imposées par les DTD HTML, SVG ou MathML. Amaya tente alors de créer l'élément à l'endroit le plus proche possible. Par exemple, si le point d'insertion se trouve à la fin de la dernière ligne d'un paragraphe quand vous cliquez sur le bouton , Amaya ne crée pas la nouvelle en-tête à cette position (elle serait invalide) mais après le paragraphe.

Dans d'autres cas, Amaya modifie la structure existante pour créer l'élément désiré. Si le point d'insertion est quelque part dans l'item de liste (LI) quand vous créez une en-tête de second niveau (par exemple avec le bouton ou à partir du menu), l'item de liste et sa liste incluse sont automatiquement divisés afin de créer l'en-tête demandé et de se conformer à la DTD HTML.

Quand vous créez de nouveaux éléments, il est important de sélectionner un point d'insertion, et non du texte ou un caractère unique : si la sélection courante n'est pas vide, Amaya tente de transformer la partie sélectionnée dans le type de l'élément choisi.

De la documentation sur comment utiliser les types d'éléments est disponible, ainsi que les brèves notes de la liste de tous les éléments HTML 4.0.

### Sous-enu Structure

Le menu Eléments vous permet seulement de créer des éléments qui font partie du document `<body>`. Pour créer des éléments dans la partie <head> du document, utilisez le menu Structure à partir de la vue structure. Ce menu fonctionne de la même manière que les menus Xhtml et Xml : mettez le point d'insertion dans la position désirée et choisissez le type d'élément à partir du menu Structure.

Le menu Structure vous permet aussi de créer des commentaires, en utilisant son entrée "commentaires". Les commentaires sont seulement visibles dans la vue structure, mais ils peuvent être insérés à n'importe quelle position dans le document.

#### Eléments engendrés

Certains éléments HTML sont constitués de plusieurs autres éléments de différents types. Par exemple, une table contient d'habitude une légende (caption), plusieurs colonnes (tr) et plusieurs cellules (td ou th) dans chaque colonne.

Quand Amaya crée de tels éléments, il crée aussi leurs composants. Une table est créée avec une légende et une colonne contenant une seule cellule. Le point d'insertion est automatiquement placé dans le premier de ces composants. Vous pouvez entrer dans le contenu de ce composant immédiatement ou plus tard. Vous pouvez vous déplacer jusqu'au prochain composant (vide) avec la souris ou avec les flèches de direction.

### La touche Enter (ou Return)

Lorsque vous écrivez un nouveau document ou une nouvelle partie dans un document, vous êtes souvent amenés à créer de nouveaux élément. Pour cela, il suffit de presser la touche Enter (ou Return). L'élément courant est clos et un nouveau est créé juste après. Ceci s'applique évidemment aux paragraphes, mais aussi à d'autres types d'éléments, comme les en-têtes ou les cellules de table par exemple.

Quand la sélection se trouve à la fin d'un `<pre>`, la touche Enter crée une nouvelle ligne du <pre>. Pour créer un paragraphe après le `<pre>`, il faut sélectionner le <pre> en utilisant la touche `F2` puis `Enter`.

Le plus souvent, le nouvel élément créé est simplement un paragraphe, quel que soit le type de l'élément précédent. Si vous avez besoin d'un autre type d'élément, vous pouvez changer immédiatement le type de cet élément, en sélectionnant le type désiré dans le menu XHTML ou en cliquant sur le bouton correspondant. Vous pouvez aussi continuer à taper et changer le type plus tard.

#### Plusieurs pressions sur la touche Entrée à la fin d'un élément

Quand le point d'insertion est dans un élément vide, une pression sur la touche "Entrée" remplace cet élément dans un autre élément vide au niveau supérieur de la structure du document. Cette caractéristique vous permet de créer très rapidement des structures complexes emboîtées.

Considérez par exemple la structure suivante :

1. Le premier item dans le plus haut niveau de la liste.

   Un paragraphe dans le premier item.

2. Le second item.
   1. Le premier item dans la liste emboîtée.
   2. Le second item dans la liste emboîtée.
3. Le dernier item dans la liste.

Pour créer cette structure, créez d'abord une liste numérotée avec un premier item (par exemple en cliquant sur le bouton ) et tapez sur la première ligne.

A la fin de cette première ligne, pressez la touche `Enter` : cela crée un nouveau paragraphe dans la liste. A la fin de ce paragraphe, pressez la touche `Enter` : cela crée encore un nouveau paragraphe. Par contre, en pressant encore la même touche, vous remplacez ce paragraphe dans un item vide 2.

A la fin de la première ligne de l'article 2, créez une nouvelle liste avec son premier item (cliquez par exemple sur le bouton ). La nouvelle liste sera automatiquement emboîtée. L'item b. est créé en appuyant deux fois sur la touche `Enter` à la fin de l'item a.

Quand le point d'insertion est à la fin de l'item b., créez l'item 3 en appuyant quatre fois sur la touche `Enter`. Pour créer le paragraphe qui suit ces listes, pressez la touche `Enter` trois fois lorsque le point d'insertion est à la fin de l'item 3.

#### Plusieurs pressions sur la touche Entrée au début d'un élément

La touche `Enter` fonctionne de la même manière que précédemment quand le point d'insertion est au début d'un élément, mais elle crée de nouveaux éléments avant l'élément courant.

Par exemple, pour ajouter un paragraphe initial dans un item de liste, déplacez le point d'insertion avant le premier caractère de cet item et pressez la touche `Enter`. Si vous appuyez deux fois sur `Enter`, vous obtenez un nouvel item avant l'item en cours. Ceci est utile pour insérer un nouvel article avant le premier.

Cette utilisation de la touche `Enter` ne s'applique pas seulement aux listes et aux paragraphes, mais à tous les éléments. Elle est par exemple particulièrement commode pour créer des tables.

#### Sortir des ancres ou des chaînes d'éléments de style

Quand un paragraphe ou un autre bloc de texte se termine par une ancre ou une chaîne de caractères stylée (en gras, en italique ou dans tout autre style) si vous placez le point d'insertion à la fin du paragraphe et tapez du texte, les caractères sont ajoutés à la fin de l'ancre ou de la chaîne stylée. Si vous voulez saisir du simple texte après cet élément, il vous suffit de presser la touche `Enter` pour sortir de l'élément et de taper.

Quand un paragraphe ou un autre bloc de texte débute par une ancre ou une chaîne de caractères stylée, si vous placez le point d'insertion au début du paragraphe et tapez du texte, les caractères sont insérés dans l'ancre ou de la chaîne stylée. Si vous voulez saisir du simple texte avant cet élément, il vous suffit de presser la touche `Enter` pour sortir de l'élément et de taper.

#### Sortir d'un <pre> ou d'une table

Quand la curseur se trouve à la fin d'un élément <pre>, la touche `Enter` crée une nouvelle ligne dans le <pre>. Pour créer un autre élément, un paragraphe, après le <pre>, vous pouvez utiliser le menu Types et sélectionner le type désiré.

Un autre moyen d'obtenir ce résultat est de sélectionner le <pre> en entier avec la touche `F2` et de presser la touche `Enter`. Un nouveau paragraphe après le <pre> sera créé.

Ceci marche aussi pour une table : il faut sélectionner la table entière et presser la touche `Enter` pour créer un nouveau paragraphe après une table. Vous pouvez aussi sortir de la table par une série de plusieurs `Enter` successifs.

#### Editer les listes de définitions (dl/dt/dd)

La touche `Enter` est également utile pour éditer des listes de définitions. Considérez l'exemple suivant :

> Terme 1
> Terme 2
>   Définition des deux termes.

C'est une liste de définitions (`dl`) contenant deux termes (`dt`) suivis par une définition (`dd`). Pour ajouter un nouveau paragraphe à l'intérieur de la définition (`dd`), placez le point d'insertion à la fin (après le mot "termes") et appuyez sur la touche `Enter`. Si vous pressez `Enter` deux fois, vous sortez de la définition en cours (`dd`) et vous créez un nouveau terme (`dt`). A la fin de ce nouveau terme, presser une fois la touche `Enter` vous permet de créer encore un nouveau terme (`dt`). La presser deux fois crée une nouvelle définition (`dd`).

Si vous voulez créer un nouveau terme avec sa définition avant le Terme 1, mettez le point d'insertion au début du terme 1 et appuyez sur `Enter`. Tapez le nouveau terme (`dt`), puis pressez `Enter` deux fois : une nouvelle définition (`dd`) est créée directement après le nouveau terme.

### Changer le titre du document

Vous pouvez éditer le titre du document (élément <title>) en utilisant le menu Xhtml/changer le titre. Vous pouvez aussi éditer le titre du document dans la vue structure.

### Traitement des blancs

Pour les documents XHTML, MathML, SVG et pour les éléments MathML ou SVG inclus dans des documents HTML, Amaya supprime les blancs non significatifs au chargement sauf s'ils doivent être explicitement préservés.

Sont appelés blancs non significatifs:

- les caractères de fin de ligne (#xD et (#xA),
- les caractères de tabulation (#X9),
- les blancs de début d'un élément,
- les blancs de fin d'un élément,
- les blancs contigus (un seul blanc est alors préservé).

L'auteur d'un tel document peut vouloir spécifier son intention de préserver tous les caractères pour certains éléments. Pour cela, il peut utiliser l'attribut `xml:space` ou l'élément `PRE` (ce dernier pour des documents XHTML uniquement). Deux valeurs sont possibles pour l'attribut `xml:space` : "`defaul`t" et "`preserve`". La valeur "`default`" applique le traitement des blancs par défaut défini pour la DTD du document. Dans Amaya, le traitement par défaut supprime les blancs non significatif pour les DTD supportées (voir ci-dessus). La valeur "`preserve`" indique à Amaya de préserver tous les caractères, à l'exception du premier caractère qui suit immédiatement la fin de la balise de l'élément portant l'attribut si ce caractère est une fin de ligne. L'attribut `xml:space` s'applique à tous les éléments à l'intérieur du contenu de l'élément porteur de la déclaration, à moins qu'il ne soit annulé par l'apparition d'un autre attribut `xml:space`. Concernant la DTD XHTML, l'élément `PRE` induit le même comportement que l'attribut xml:space avec la valeur "preserve".

Le traitement des blancs est appliqué par Amaya lors du chargement d'un document et lors de l'édition de celui-ci.. Par exemple, le code source suivant:

        <p>Amaya supprime les<strong> blancs non significatifs </strong>au chargement</p>

donnera à l'édition:

        Amaya supprime les blancs non significatifs au chargement

et sera sauvegardé sous cette forme. Lors du prochain chargement de ce document, cette partie sera transformée en:

        Amaya supprime lesblancs non significatifsau chargement

car les blancs de début et de fin de l'élément `strong` sont considérés comme non significatifs et sont donc supprimés. La forme correcte aurait été:

        <p>Amaya supprime les <strong>blancs non significatifs</strong> au chargement</p>