Amaya

## Créer des éléments

### Modes d'édition

Amaya propose deux modes d'édition :

- Le mode XML est très efficace pour manipuler les différents types de structure XML, mais cela implique que l'utilisateur ait une bonne connaissance de la structure du document. Les manipulations simples réalisées via quelques touches de clavier sont génériques : elles s'appliquent à tous les types d'éléments de n'importe quel vocabulaire XML, quelque soit leur sémantique. Cela marche bien avec le texte HTML, mais aussi les équations MathML ou les dessins SVG.
- Le mode Texte permet aux utilisateurs de gérer les éléments HTML de façon identique aux traitements de texte. Ce mode ne s'applique pas aux autres vocabulaires XML.

Vous pouvez facilement changer de mode d'édition (Texte/XML) en cliquant sur le bouton correspondant dans le coin en bas à droite de la fenêtre.

### 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 le menu Insertion ou l'outil Eléments, pour les éléments les plus communs (images, titres, listes...). Ces commandes créent simplement l'élément correspondant à la position courante.

L'outil Eléments donne un moyen direct pour :

- insérer - ou remplacer la sélection courante par - un élément XHTML :
  division (), titre ( , ,), paragraphe (P), table (), ancre cible ou élément 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 dans - un élément en-ligne de XHTML :
  mise en évidence (), important (), `code` (), insertion (), suppression (), exposant (), et indice ().

Note : Dans le profil Lite d'Amaya seul un sous-ensemble de ces boutons est disponible.

Pour plus d'information sur ces éléments 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 le langage HTML. Amaya tente alors de créer l'élément à l'endroit le plus proche possible. Par exemple, si le point d'insertion se trouve à l'intérieur d'un paragraphe, à la fin de la dernière ligne, 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 depuis l'outil Elément 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 Eléments cachés

Pour créer des éléments dans la partie `head` du document, utilisez le sous-menu Eléments cachés du menu Insertion. Attention ces éléments ne sont affichés que dans les vues structure et source. Vous devez ouvrir la vue structure. Mettez le point d'insertion à la position désirée et choisissez le type d'élément à créer dans le sous-menu Eléments cachés.

Le menu Eléments cachés vous permet aussi de créer des commentaires. Les commentaires sont seulement visibles dans les vues structure et source, 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. Pour créer une table, Amaya affiche un dialogue qui vous permet de choisir de la créer avec ou sans légende, le nombre de lignes et de colonnes désirées et d'autre options de présentation. Le point d'insertion est automatiquement placé dans la première cellule créée. 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 Entrée

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 `Entrée`. L'élément courant est clos et un nouveau est créé juste après.

Quand le curseur est au début ou à la fin d'un élément préformaté ou d'une division (`pre` ou `div`), la touche `Entrée` crée une nouvelle ligne dans le `pre` ou un nouveau paragraphe dans l'élément `div`.

Dans certains cas le comportement de la touche `Entrée` dépend du mode d'édition courant :

- Mode XML

  Pour créer un paragraphe après un `pre` ou une division après un `div`, vous devez sélectionner le `pre` ou le `div` en entier avec la touche `F2` et presser la touche `Entrée`. De la même façon, vous pouvez créer un nouveau paragraphe après une table en sélectionnant la table entière et en pressant la touche `Entrée`.

  Quand un élément complet comme `h2` ou `li` est sélectionné, la touche `Entrée` crée un nouveau `h2` ou `li` après.

- Mode Texte

  Quand le curseur est au début ou à la fin d'un item de liste (`li`), un nouvel item de liste frère et de même type est créé, au lieu d'un nouveau paragraphe dans l'item de liste. De plus, dans un item de liste vide, la touche `Entrée` crée un paragraphe qui coupe la liste en deux.

  Quand le curseur est dans un élément comme `p`, `address`, `dt`, `h1`, `h2`, etc. (ils sont appelés des éléments blocs) la touche `Entrée` coupe l'élément en deux éléments frères de même type.

  Quand le point d'insertion est dans un élément HTML comme `strong`, `em`, `code`, `span`, `a`, etc. (ils sont appelés des éléments en-ligne) la touche `Entrée` coupe l'élément en-ligne et l'événement est transmis à l'élément parent. Comme les éléments en-ligne peuvent s'englober dans une structure HTML, la coupure peut se faire à plusieurs niveaux, jusqu'à l'élément bloc ou l'item de liste qui va traiter l'événement comme indiqué plus haut.

  Quand la touche `Entrée` est activée au début ou à la fin d'un élément bloc, un nouveau paragraphe (élément `p`) est créé, quelque soit le type de l'élément bloc courant.

Quand le nouvel élément créé est simplement un paragraphe, vous pouvez changer immédiatement le type de cet élément, en sélectionnant le type désiré dans le menu Insertion ou en cliquant sur le bouton correspondant de l'outil Eléments. Vous pouvez aussi continuer à taper et changer le type de l'élément plus tard.

#### Sortir des ancres, des éléments en-ligne, etc.

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) ou tout autre élément en-ligne, 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 l'élément en-ligne.

Dans le mode XML seulement
  Si vous voulez saisir du simple texte après cet élément, il vous suffit de mettre le curseur à la fin de l'ancre ou de l'élément en-ligne et presser la touche `Entrée` pour sortir de l'élément et de taper.
  La même méthode s'applique pour insérer du simple texte avant le premier élément en-ligne du bloc de texte. Si vous voulez saisir du simple texte avant cet élément, il vous suffit de placer le curseur au début de l'élément et de presser la touche `Entrée` et continuer à taper.
Dans le mode Texte et XML
  Tous les éléments Type d'information et Eléments caractères peuvent être ouvert/fermés avec la même commande ou bouton de l'outil Eléments.
  Les commandes Insérer ou Ajouter du menu Edition ou menu contextuel peuvent être utilisées pour insérer avant le début ou après la fin de l'élément en-ligne.

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

En mode d'édition XML (seulement), quand le point d'insertion est dans un élément vide, une pression sur la touche `Entrée` 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 emboîtées complexes.

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 `Entrée` : cela crée un nouveau paragraphe dans l'item de liste.
3. A la fin de ce paragraphe, pressez la touche `Entrée` : cela crée 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 `Entrée` à 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 `Entrée`.
8. Entrez le contenu du dernier item. Pour créer le paragraphe qui suit ces listes, pressez la touche `Entrée` trois fois lorsque le point d'insertion est à la fin de l'item 3.

La touche `Entrée` 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 `Entrée`. Si vous appuyez deux fois sur `Entrée`, vous obtenez un nouvel item avant l'item en cours. Ceci est utile pour insérer un nouvel item avant le premier.

Note : Dans le mode XML, cette utilisation de la touche `Entrée` ne s'applique pas seulement aux listes et aux paragraphes, mais à tous les éléments.

Pour déplacer des items de liste :

La commande `Tab` permet de déplacer des items de liste dans une sous-liste à condition qu'il y ait un item de liste précédent. Par exemple, quand la sélection se trouve dans "Le second item.", la touche `Tab` engendrera la structure suivante :

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

   Un paragraphe dans le premier item.

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

La commande `Shift Tab` permet de déplacer des items de liste vers la liste englobante. Par exemple, quand la sélection se trouve dans "Le premier item dans la liste emboîtée.", la touche `Shift Tab` engendrera la structure suivante :

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

   Un paragraphe dans le premier item.

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

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

La touche `Entrée` 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 `Entrée`. Si vous pressez `Entrée` 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 `Entrée` : 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 `Entrée`. Tapez le nouveau terme (`dt`), puis pressez `Entrée` deux fois : une nouvelle définition (`dd`) est créée immédiatement après le nouveau terme.

### Les touches Suppr et Arrière

Le comportement des touches `Suppr` et `Arrière` ne dépend pas du mode d'édition:

- Si le point d'insertion se trouve au début ou à la fin d'un élément bloc (un élément comme `p`, `address`, `dt`, `h1`, `h2`, etc.) et que la touche `Suppr` ou `Arrière` est pressée, tout le contenu de l'élément voisin suivant (resp. précédent) est ajouté au contenu de l'élément contenant le point d'insertion.
- Si le point d'insertion se trouve dans un élément en-ligne (un élément HTML comme `strong`, `em`, `code`, `span`, `a`, etc.), les touches `Suppr` et `Arrière` détruisent seulement les caractères, en traversant les limites d'éléments en-ligne sans aucun effet sur la structure. Cependant, quand un élément en-ligne devient vide, il est lui-même détruit.

### Changer le titre du document

Vous pouvez éditer le titre du document (élément `title`) en utilisant le menu Outils/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 Outils/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.