## Créer de nouveaux éléments

### Boutons et menus

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 et XML, ou la palette XHTML pour les éléments les plus communs (images, en-têtes, listes...). Ces commandes créent simplement l'élément correspondant à la position courante.

La palette XHTML donne un accès direct pour :

- insérer (ou remplacer la sélection courante par) un élément XHTML : division ( ), titres ( , , ), table ( ), ancre cible ou element cible ( ), ancre lien ( ), liste ( ), liste numérotée ( ), liste de définitions ( ), terme de définition ( ), définition ( ), image ( ), objet ( ).
- ouvrir/fermer (ou englober la sélection courante par) un élément inline de XHTML: mise en évidence ( ), important ( ) `code` ( ), insertion ( ), and suppression ( ), exposant ( ), and indice ( ).

Pour plus d'information voir la liste de tous les éléments HTML 4.0.

### Point d'insertion

Quand vous créez de nouveaux éléments, il est important de sélectionner un point d'insertion, et non du texte ou même 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.

Dans certains cas, l'élément désiré ne peut pas être créé exactement à la position choisie à cause des contraintes imposées par les langages 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, à la position valide la plus proche.

Dans d'autres cas, Amaya modifie la structure existante pour créer l'élément désiré tout en respectant les contraintes du langage. Si le point d'insertion est quelque part dans un item de liste (li) quand vous créez une en-tête (avec le bouton de la palette ou à partir du menu), l'item et la liste à laquelle il appartient sont automatiquement divisés afin de créer l'en-tête demandé et de se conformer aux contraintes du langage HTML.

### Sous-menu Structure

Pour créer des éléments dans la partie `head` du document, utilisez le sous-menu Structure du menu XHTML. Pour que ce menu soit actif, il faut que la sélection soit dans la partie `head`. Celle-ci n'est affichée que dans la vue structure. Il vous faut donc ouvrir cette vue. Mettez le point d'insertion à la position désirée et choisissez le type d'élément à créer dans le sous-menu Structure.

Le menu Structure vous permet aussi de créer des 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 créés automatiquement

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 lignes (`tr`) et plusieurs cellules (`td` ou `th`) dans chaque ligne.

Quand Amaya crée de tels éléments, il crée aussi leurs composants. Une table est créée avec une légende et quelques lignes contenant plusieurs cellules. Le point d'insertion est automatiquement placé dans le premier de ces composants. Vous pouvez saisir 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.

HTML définit certains éléments de niveau de caractère qui permettent d'associer du style aux chaînes de caractères. Voir Créer des éléments de style HTML pour créer de tels éléments.

### 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éments. 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.

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.

Quand la sélection se trouve à la fin d'un élément `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`.

#### 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 à l'intérieur 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.

#### Création de structures imbriquées

Quand le point d'insertion est dans un élément vide, une pression sur la touche Enter remplace cet élément par un autre élément vide au niveau supérieur de la structure du document. Ce comportement 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 :

1. Créez d'abord une liste numérotée avec un premier item, par exemple en cliquant sur le bouton .
2. Tapez le contenu de la première ligne et pressez la touche `Enter` : cela crée un nouveau paragraphe dans l'item de liste.
3. 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.
4. Entrez le contenu de la première ligne du second item.
5. A la fin de la première ligne de l'item 2, créez une liste nouvelle avec son premier item (cliquez par exemple sur le bouton ). La nouvelle liste sera automatiquement emboîtée.
6. Entrez le contenu du premier item de la nouvelle liste et créez l'item b en appuyant deux fois sur la touche `Enter` à la fin de l'item a.
7. Entrez le contenu de l'item b. 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`.
8. Entrez le contenu du dernier item. 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.

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 devant 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 item avant le premier.

Note : Cette utilisation de la touche `Enter` ne s'applique pas seulement aux listes et aux paragraphes, mais à tous les éléments.

#### 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`). Entrez le contenu de ce nouveau terme et pressez une fois la touche `Enter` : vous créez 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 immediatement 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.

### Insérer la date de mise à jour

L'entrée de menu XHTML/Insérer date de mise à jour vous permet d'insérer la date courante soit au format ISO (YYY-MM-DD) soit au format européen (DD-MM-YYYY). Le format de la date est fixé par le menu des Préférences.

Une fois cette date insérée, Amaya la met automatiquement à jour chaque fois que le document est sauvé et maintenir ainsi la dernière date de mise à jour.

### Traitement des blancs

Pour les documents XHTML, MathML, SVG et pour les éléments MathML ou SVG inclus dans des documents XHTML, Amaya supprime les blancs non significatifs au chargement, sauf s'ils sont 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 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` : "`default`" et "`preserve`".

- La valeur "`default`" applique le traitement des blancs par défaut défini pour la DTD du document.
- La valeur "`preserve`" indique à Amaya de préserver tous les caractères, à l'exception du premier caractère qui suit immédiatement la balise de fin de l'élément portant cet attribut.

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:

        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>

Dans Amaya, le traitement par défaut supprime les blancs non significatifs.
Il est possible de demander de "Garder les espaces multiples" dans le dialogue des Préférences. Dans ce cas, Amaya va remplacer les blancs non significatifs amenés à disparaître par des blancs non sécables.