Manuel de Kile

# Manuel de Kile

Jonathan Pechta

Federico Zenith `<federico.zenith@member.fsf.org>`

Holger Danielsson `<holger.danielsson@versanet.de>`

Thomas Braun

Michel Ludwig `<michel.ludwig@kdemail.net>`

Felix Mauch `<felix_mauch@web.de>`

Traduction française : Ludovic Grossard
Version 2.1 (22-05-2011)

Copyright © 2003 Jonathan Pechta

Copyright © 2003, 2005, 2006 Federico Zenith

Copyright © 2005, 2006, 2012 Holger Danielsson

Copyright © 2007 Thomas Braun

Copyright © 2007, 2011 Michel Ludwig

Copyright © 2011 Felix Mauch

Note légale

Kile est une console et un éditeur de source pour TEX et LATEX.

Chapitre 1. Préface
Préface

# Chapitre 1. Préface

## Éléments requis

Pour utiliser Kile, les éléments suivants doivent être installés sur votre ordinateur :

- L'environnement de bureau KDE (KDE) : KDE est un environnement de bureau libre populaire.

- Qt™: Qt™ is a C++ GUI et une bibliothèque de réseau nécessaire pour utiliser Kile.

- LATEX : un logiciel de composition typographique de grande qualité. Il est probable que vous avez (ou voulez) le paquet TeX Live (ou teTEX sur les systèmes plus anciens) puisque vous êtes sur un système de type UNIX®.

La plupart de ces éléments sont probablement inclus dans votre distribution Linux®. Veuillez vous référer à la documentation de votre distribution, ou vous référer au CD ou DVD d'installation pour ajouter ces paquets à votre ordinateur.

Kile est peut être déjà disponible sous forme de paquet précompilé pour votre distribution Linux®. Vous pouvez vérifier avec le gestionnaire de paquet de votre distribution.

À qui s'adresse ce manuel ?
À qui s'adresse ce manuel ?

## À qui s'adresse ce manuel ?

Ce manuel s'adresse à toute personne, quel que soit son niveau d'expérience avec LATEX, KDE, Kile ou Linux®.

Les utilisateurs experts peuvent probablement se passer de lire ce manuel, mais toutes les suggestions sur la documentation seront prises en compte. Si vous souhaitez contribuer à ce projet ou à la documentation, veuillez consulter la page web de Kile.

Vous avez besoin de réponses à propos de Kile ? Vous êtes coincés au niveau de la compilation ? Vous voulez voir une nouvelle caractéristique implémentée ? Le moyen idéal pour poser les questions techniques ou pour démarrer une discussion est d'utiliser notre liste de discussion : `(kile-devel AT lists.sourceforge.net)`.

Chapitre 2. Introduction
Introduction

# Chapitre 2. Introduction

## Données de base

### À propos de Kile

Kile est un environnement LATEX intégré pour l'environnement de bureau KDE. Kile vous donne la possibilité d'utiliser toutes les fonctionnalités de LATEX au travers d'une interface graphique, vous donnant un accès facilité, immédiat et personnalisable à tous les programmes pour la compilation LATEX, le post traitement, le débogage, la conversion et les outils d'affichage. Vous disposez également d'assistants faciles d'utilisation, d'une référence LATEX, et d'un gestionnaire de projets puissant.

### Kile et le composant éditeur Kate

Kile est fondé sur le composant éditeur Kate. Ainsi, un grand nombre de ses fonctionnalités d'édition proviennent du composant éditeur Kate lui-même. Kile étend ses possibilités avec des caractéristiques permettant d'éditer des documents LATEX. Pour en savoir plus à propos du composant éditeur Kate et de ses possibilités, consultez la page web de Kate.

### Qu'est-ce que LATEX ?

LATEX est un système de composition de documents dérivé de TEX, un programme développé à l'origine en 1977 par Donald Knuth pour aider les auteurs à présenter leurs textes de manière professionnelle, afin d'obtenir un résultat similaire à ce qu'aurait fait un typographe. LATEX a été créé par Leslie Lamport afin de fournir aux auteurs un typographe automatique, notamment pour la composition typographique coûteuse et minutieuse de formules mathématiques et d'expressions, qui sont entourées de signes dollar dans LATEX. Aujourd'hui, les traitements de texte laissent les utilisateurs être les typographes, mais ce qui est souvent souhaité est un document qui a une apparence correcte, et pas un document sur lequel il faut passer des heures pour lui donner une apparence correcte. LATEX prend en charge ce fardeau, et vous laisse réfléchir au document, pas à son apparence. Et oui, il aura une apparence correcte !

### Comment prononcez-vous ? Pourquoi cette typographie étrange ?

Il y a une tradition amusante avec TEX et autres paquets associés, celle d'avoir une prononciation et une écriture les plus étranges possibles. On suppose que TEX provient du grec τεχ, soit en lettres latines tech. Il y a beaucoup d'explications sur le pourquoi de ce choix, mais c'est probablement parce que LATEX a été conçu à l'origine pour les rapports techniques, et effectivement sa capacité première était la typographie correcte et facile des formules mathématiques, plutôt qu'une affaire terriblement coûteuse, longue et frustrante.

La prononciation est supposée être la suivante : T comme on s'y attend, E comme dans met, et X comme en allemand ich. Si vous ne connaissez pas à quoi ressemble ch, c'est plus ou moins le son que fait un chat qui siffle : le symbole IPA est /ç/. Certaines personnes disent que ça se prononce ach (symbole IPA /x/), mais d'après certains Grecs, la première version est en effet correcte. Gardez à l'esprit que beaucoup de personnes prononcent TEX à tort /teks/ ou /tek/.

Pour terminer, dans LATEX, les premières lettres LA se prononcent comme dans lay : l'idée est que alors que le TEX brut est difficile, même un non initié (layman) peut utiliser les macros LATEX. Une explication moins inspirante, mais plus réaliste est que ça provient du nom de Leslie Lamport, le créateur de LATEX. Maintenant, vous savez !

LATEX 101
LATEX 101

## LATEX 101

Le système de composition typographique LATEX est similaire à d'autres langages balisés comme XML, qui est utilisé dans beaucoup de types de documents (y compris celui que vous lisez actuellement), ou HTML, utilisé pour les pages web. L'idée générale derrière les langages balisés est d'avoir des mot clés spéciaux appelés balises, qui indiquent au programme (un traitement de texte, un navigateur web ou le compilateur LATEX) comment le texte encadré par ces balises doit être interprété. Kile vous offre un grand nombre de balises dans le menu LaTeX dans la barre de menus.

Bien que nous souhaitions vous donner une bonne idée de ce qu'est LATEX, ce document n'est évidemment pas le « Definitive Book on LATEX ». Si vous voulez apprendre LATEX en profondeur, allez emprunter un livre spécialisé à la bibliothèque.

Comme avec d'autres langages de balisage, les documents LATEX contiennent un préambule, qui définit les propriétés globales, comme la taille du papier, la numérotation des pages, les dimensions du texte dans la page, et un corps, qui contient le texte du document. Le préambule est composé d'au moins la commande `\documentclass`. Il précède le corps du document, qui débute par la commande `\begin{document}`, et, comme on peut s'y attendre, et se termine par la commande `\end{document}`.

Caractéristiques principales de Kile
Caractéristiques principales de Kile

## Caractéristiques principales de Kile

### Assistant de démarrage rapide

L'assistant inclus dans Kile est utile pour démarrer rapidement la création de documents. Choisir l'assistant depuis la barre de menu vous donne plusieurs choix pour la création de votre document. Vous pouvez également spécifier tout de suite quelques options relatives au document.

Options de classe :

- Classe du document : choisit le type de document que vous souhaitez créer : article, book, letter, report, scrartcl, scrreprt, scrbook, prosper, beamer ou tout autre champ personnalisé.

- Taille des caractères : indique à Kile quelle taille (pt) utiliser pour les caractères.

- Format papier : choisit la taille ou le type de papier.

- Jeu de caractères : en général, il est préférable d'utiliser l'encodage par défaut de votre système. Les systèmes modernes utilisent maintenant de plus en plus l'UTF-8 comme encodage par défaut. Si vous pouvez, utilisez utf8 ou utf8x (qui est en effet préférable à utf8 pour les documents LATEX).

- Options de la classe : ceci vous permet de régler d'autres options comme l'impression en mode brouillon et d'autres choses encore.

Paquets

Ceci liste certains des paquets supplémentaires les plus utilisés avec LATEX. Cochez les cases pour les inclure.

Propriétés du document :

- Auteur : mettez votre nom ici.

- Titre : ajoutez le titre de votre document ici.

- Date : spécifiez la date.

### Modèles prédéfinis

Les modèles prédéfinis dans Kile sont :

- Fichier vide : les vrais hommes partent de rien !

- Article : choisit le format article, pour un document suffisamment court pour ne pas être découpé en chapitres.

- Report (rapport) : choisit le format rapport, pour un document de taille moyenne, avec par exemple la numérotation des pages sur le bord extérieur.

- Book (livre) : choisit le format livre, une classe très complète, si puissante qu'elle est utilisée pour écrire un grand nombre de recueils universitaires.

- Letter (lettre) : choisit le format lettre.

- Beamer, HA-Prosper : pour créer des présentations agréables en PDF avec une apparence de très bonne qualité et toute la puissance de LATEX.

- Powerdot : il s'agit du successeur des paquets `seminar` et `HA-Prosper`. Il n'a pas autant d'options que Beamer, mais est facile à utiliser, et peut créer des présentations en PDF très agréables.

- Scrartcl, Scrbook, Scrreprt, Scrlttr2 : les classes de documents KOMA-Script, particulièrement adaptées pour la typographie allemande. Utilisez-les si vous écrivez des textes en allemand.

- Xelatex : un modèle `Article` modifié à utiliser avec `XeLaTeX`.

Notez que tous ces modèles peuvent être adaptés pour vos propres besoins.

Les nouveaux utilisateurs n'ont pas à s'inquiéter, cette liste est juste une brève description des caractéristiques disponibles, et une description plus détaillée peut être trouvée dans le Démarrage rapide.

### Coloration syntaxique

Kile est semblable aux autres programmes qui travaillent avec l'édition de code source, et va colorer automatiquement les commandes, options et éléments souvent utilisés. Kile permet donc de localiser facilement les endroits où se situent les problèmes. Par exemple, si vous voyez une grande zone avec du texte en vert, il est fort probable que vous avez oublié de fermer un environnement mathématique quelque part.

### Complètement automatique des environnements

Le complètement automatique des environnements signifie que lorsque vous commencez un nouvel environnement en saisissant `\begin{environnement}`, Kile insérera automatiquement la commande `\end{environnement}` correspondante, avec une ligne entre pour votre texte. Vous pouvez bien sûr désactiver ceci si vous le souhaitez dans Configuration → Configurer Kile... → LaTeX+Environnements.

### Aller à l'élément de structure

Tous les documents sont normalement structurés en une hiérarchie d'un certain type. LATEX vous permet de couper les documents avec la hiérarchie suivante (part étant la structure de plus haut niveau dans la hiérarchie, et subparagraph étant celle de plus bas niveau) :

- \part

- \chapter

- \section

- \subsection

- \subsubsection

- \paragraph

- \subparagraph

Lorsque vous visualisez un document dans la vue structure, vous pouvez aller d'élément en élément en cliquant sur l'élément que vous souhaitez voir.

### Recherche inverse

Lorsque vous créez votre propre fichier LATEX, la recherche inverse peut être très utile. Une fois que vous avez créé un fichier DVI (DeVice Independant File, ou fichier indépendant du périphérique), ou un fichier PDF, lorsque vous cliquez avec le bouton gauche de la souris tout en maintenant la touche Maj dans l'afficheur, Kile ira à la ligne correspondante dans le code source LATEX.

Un DVI est un type de fichier contenant une description du document formaté, ainsi que d'autres informations, incluant les polices de caractères, et est souvent le format de sortie de TEX ou LATEX. Il existe beaucoup d'utilitaires pour afficher ou imprimer les fichiers DVI sur divers systèmes et périphériques.

### Recherche avant

Lorsque vous utilisez la recherche inverse, la sélection d'éléments dans le fichier DVI ou PDF est associée avec l'éditeur, donc lorsque cliquez sur le fichier DVI ou PDF, la fenêtre principale saute à la section correspondante dans le code LATEX de l'éditeur. La recherche avant est l'opposé exact de ceci. Elle vous permet de cliquer sur une section de texte dans le code LATEX, et saute à la position associée dans la fenêtre d'affichage.

La barre d'outils
La barre d'outils

## La barre d'outils

- Nouveau : commence un nouveau document.

- Ouvrir : ouvre un document.

- Fermer : ferme votre document.

- Définir le document courant comme « document maître » : ceci est utilisé lorsque vous travaillez avec plusieurs fichiers. Avoir un document maître facilitera votre travail avec d'autres fichiers `.tex` inclus dans votre document. Si vous utilisez les projets, vous pouvez également régler dans Projet → Options du projet un document maître pour tout le projet.

- Quickbuild : compile votre code source LATEX et affiche le résultat automatiquement, à moins qu'il y ait des erreurs dans votre document.

- Mode surveillance fichier : ce mode « surveillera » les changements dans le fichier DVI, et ne lancera pas une nouvelle session de Okular après un Quickbuild.

- Voir le fichier du journal : affiche le fichier `.log` afin que vous localisiez les erreurs.

- Erreur LaTeX précédente : recule dans le fichier `.log` et met en surbrillance les erreurs dans le source.

- Erreur LaTeX suivante : avance dans le fichier `.log` et met en surbrillance les erreurs dans le source.

- Arrêter : arrête l'outil en cours.

- LaTeX : exécute LATEX sur le document actif.

- ViewDVI : lance l'afficheur DVI.

- DVItoPS : convertit le fichier DVI en un PostScript® (PS).

- ViewPS : lance l'afficheur PostScript® (PS).

- PDFLaTeX : exécute PDFLATEX sur le document actif.

- ViewPDF : lance l'afficheur PDF.

- DVItoPDF : convertit un DVI en PDF.

- PStoPDF : convertit un PS en PDF.

- ViewHTML : affiche le HTML créé.

- ForwardDVI : saute à la page du fichier DVI qui correspond à la ligne en cours de l'éditeur.

- ForwardPDF : saute à la page du fichier PDF qui correspond à la ligne en cours de l'éditeur.

Si vous regardez la barre d'outils d'édition, vous noterez trois grands menus déroulants. Ils ont été conçus pour vous permettre d'ajouter rapidement certaines caractéristiques habituellement utilisées dans votre document. La première liste déroulante est utilisée pour diviser rapidement votre document en parties, chapitres, sections, et ainsi de suite. Les commandes disponibles pour ajouter des segments à votre code source LATEX sont :

- part : le plus haut niveau de découpage pour un document.

- chapter : démarre un nouveau chapitre.

- section : crée une nouvelle section.

- subsection : crée une nouvelle sous-section.

- subsubsection : une section secondaire entre subsection et paragraphe.

- paragraph ; crée un nouveau paragraphe.

- subparagraph : crée un nouveau sous-paragraphe.

La liste déroulante nommée Autre est utilisée pour insérer des éléments dans votre document comme des index, des notes de bas de page et des références. Les commandes disponibles sont :

- label : une commande qui produit un label pour un chapitre, une figure ou un autre élément.

- index : crée une entrée pour l'index.

- footnote : crée une note de bas de page dans votre document.

- ref : utilisé pour référencer un label prédéfini, que vous pouvez choisir dans la liste déroulante.

- pageref : tout comme ref, mais réfère à la page au lieu de l'élément de structure.

- cite : crée une référence vers des données bibliographiques.

La liste déroulante Autre

Choix d'un label pour la référence

Lorsque vous utilisez cite, une liste déroulante d'éléments bibliographiques vous est présentée, mais si vous utilisez BibTEX, ceci ne fonctionnera que si le fichier appartient au projet. Pour modifier les fichiers BibTEX, il est recommandé d'utiliser des éditeurs spécialisés. L'auteur a de bons résultats avec KBibTEX. Bien sûr, vous pouvez également écrire les fichiers BibTEX à la main depuis Kile.

La dernière liste déroulante dénommée Taille est utilisée pour régler la taille du texte. Vous pouvez choisir la taille du texte principal, des notes de bas de page, etc. Les commandes disponibles sont :

- tout petit : le plus petit.

- taille des scripts : très petit.

- taille des notes de bas de page : plus petit.

- petit : petit.

- Normal : taille normale.

- grand : grand.

- Grand : plus grand.

- gros : encore plus grand.

- énorme : toujours plus grand.

- Énorme : le plus grand.

Chapitre 3. Démarrage rapide
Démarrage rapide

# Chapitre 3. Démarrage rapide

## Écrire un document LATEX avec Kile pour les débutants

Les utilisateurs de Kile ont deux possibilités lorsqu'ils commencent un nouveau document : ils peuvent utiliser l'assistant pour commencer un nouveau document, choisir le type de document à créer et des options comme la taille des polices, la taille du papier, etc. Ils peuvent également écrire le code à la main.

    \documentclass[12pt]{article}
    \begin{document}
            Voici un morceau de code \LaTeX.
    \end{document}

Chaque document LATEX commence par la commande `\documentclass[arguments optionnels]{classe}`, où classe spécifie le type de document.

En saisissant le code de l'exemple précédent dans la zone de texte, vous obtiendrez la sortie suivante :

Texte compilé dans la sortie DVI

Les crochets qui se trouvent après la commande `\documentclass` contiennent les options pour la commande. L'option `[12pt]` règle la taille de la police pour votre article, si vous ne réglez pas la taille de la police au début, vous pourrez le faire plus tard.

Une fois que vous avez saisi le code de l'exemple ci-dessus, vous devez compiler votre code source LATEX. La façon la plus simple pour vous de compiler est d'utiliser le menu Compilation, ou d'utiliser le bouton Quickbuild.

Alt+2 est le raccourci clavier pour compiler votre code source.

Vous devez enregistrer votre code source avant de pouvoir le compiler. Kile fera ceci pour vous automatiquement.

Si votre document ne compile pas, vérifiez les erreurs qui se trouvent dans le journal (log). Lorsque vous utilisez la touche Quickbuild, l'afficheur Okular devrait se lancer automatiquement. Si ce n'est pas le cas, regardez le journal.

Environnements
Environnements

## Environnements

Un environnement est un segment de texte qui est géré différemment du reste du document. Par exemple, vous créez un rapport avec une police de taille 12, mais vous devez modifier la taille de la police pour quelques phrases. Les commandes `\begin{environment}`, `\huge` et `\end{environment}` vous permettront de modifier temporairement le texte contenu entre les commandes d'environnement afin qu'il soit de taille huge.

Les changements ne sont effectifs que de `\begin{environment}` à `\end{environment}`. Il n'y a aucune limitation quant au nombre de changements que vous pouvez effectuer dans un environnement.

Vous pouvez ajouter un grand nombre de caractéristiques afin de rendre votre document plus lisible et plus accessible. Vous pouvez utiliser des polices spécifiques, le gras, l'italique, le souligné, etc. dans votre document, et ces commandes se termineront soit avec une commande `\end`, soit à la fin de votre environnement.

- `\begin{emph}` : cette commande met le texte en italique, et est valable jusqu'à ce qu'on rencontre dans le code soit `\end{emph}`, ou un autre environnement. Pour mettre en emphase un mot dans une phrase, vous pouvez utiliser la syntaxe suivante : ceci est `\emph{ma}` phrase.

- `\textbf{J'affiche en gras ce texte entre accolades}` : cette commande met votre texte en gras.

- `\quote` : pour créer une citation dans votre document ; commencez votre citation par `\begin{quote}` et terminez-là par `\end{quote}`.

- `\center` : centre le texte.

- `\verse` : crée du texte décalé pour les poèmes.

- `\itemize` : crée une liste d'éléments.

Utilisation de Kile
Utilisation de Kile

## Utilisation de Kile

Maintenant que nous vous avons donné quelques bases sur la façon d'écrire le code en utilisant le langage LATEX, nous allons vous montrer comment créer un document en utilisant Kile, pas à pas.

1. Démarrez Kile,

2. choisissez Assistant → Démarrage rapide, puis choisissez un format, et réglez vos préférences dans l'assistant,

3. une fois que l'assistant a inséré le texte, faites quelques personnalisations pour rendre le document plus lisible, ajoutez au minimum une citation, du texte en gras, en italique, et un vers pour voir la différence entre les commandes,

4. enregistrez votre fichier et donnez-lui le nom `intro.tex`,

5. compilez votre document en utilisant Alt+2, ou le bouton nommé LaTeX,

6. choisissez ForwardDVI,

7. vérifiez votre nouveau texte,

8. lorsque vous avez terminé de regarder votre document, cliquez sur le bouton Vue éditeur ou appuyez sur Ctrl+E pour retourner dans l'éditeur si vous avez utilisé l'afficheur embarqué, sinon, fermez la fenêtre de l'afficheur si vous utilisez un afficheur séparé.

C'est fait ! Vous venez de créer votre premier document LATEX !

Une fois que vous avez créé votre fichier DVI, vous pourrez imprimer votre document, ou le transformer en fichier PostScript® ou PDF si vous le souhaitez. Expérimentez et amusez-vous !

Fichiers DVI
Fichiers DVI

## Fichiers DVI

DVI signifie fichier DeVice Independent (indépendant du périphérique). Ces fichiers sont produits par TEX ou LATEX afin d'être lus par un pilote sur votre ordinateur. Vous pouvez envoyer un `.dvi` vers un grand nombre de sorties, comme une imprimante, un convertisseur vers un fichier PostScript® ou PDF, ou l'écran de votre ordinateur.

### Afficher un DVI

Vous avez déjà vu comment afficher un fichier DVI à l'écran en utilisant le bouton ForwardDVI de la barre d'outils.

### Imprimer un DVI

Pour imprimer un DVI, vous pouvez utiliser le même procédé que celui utilisé pour créer votre document précédemment (voir Utilisation de Kile). À l'étape 7, après avoir cliqué sur ForwardDVI, choisissez Fichier → Imprimer dans l'afficheur, et si vous disposez d'une imprimante correctement configurée, vous pourrez imprimer le DVI.

### Convertir les fichiers DVI

La barre d'outils fournit les options de conversion d'un fichier DVI vers d'autres formats. Une fois que vous avez créé un fichier DVI à partir de votre code source LATEX, vous pourrez l'exporter au format de votre choix en utilisant les boutons de la barre d'outils.

Recherche avant entre Kile et Okular
Recherche avant entre Kile et Okular

## Recherche avant entre Kile et Okular

Les fonctions de recherche avant vous permettent de passer de votre éditeur directement à la position correspondante dans le fichier DVI ou PDF.

Kile offre une configuration pour cette option pour tous les exécutables LATEX. Allez dans Configuration → Configurer Kile... → Outils+Compilation et choisissez toujours la configuration PDFLatTeX+ViewPDF.

Pour réaliser une recherche avant, positionnez le curseur sur la ligne du code source, et cliquez sur ForwardDVI pour aller à la position associée dans la fenêtre de l'afficheur DVI ou PDF.

Recherche inverse entre Kile et Okular
Recherche inverse entre Kile et Okular

## Recherche inverse entre Kile et Okular

La recherche inverse est une caractéristique très utile lorsque vous écrivez un document LATEX vous-même. Si tout est configuré correctement, vous pouvez cliquer dans la fenêtre de Okular avec le bouton gauche de la souris tout en maintenant enfoncée la touche Maj. Après cela, Kile chargera le fichier source LATEX et ira au paragraphe approprié. Pour utiliser la recherche inverse, vous devez compiler votre fichier LATEX avec la configuration PDFLatTeX+ViewPDF.

La recherche inverse fonctionnera uniquement si :

- le fichier source a été compilé correctement,

- Okular sait quel éditeur vous souhaitez utiliser.

Avec cette caractéristique de Okular, un clic avec le bouton gauche de la souris dans le document DVI ou PDF, tout en maintenant enfoncée la touche Maj, fera s'ouvrir Kile avec le document LATEX correspondant, et tentera d'aller à la ligne correspondante. N'oubliez pas d'indiquer à Okular d'utiliser Kile comme éditeur de texte, dans l'élément de menu de Okular Configuration → Configurer Okular... (sur la page Éditeur).

Configuration de Okular

Résolution des erreurs
Résolution des erreurs

## Résolution des erreurs

Si vous essayez d'utiliser QuickBuild, et que l'afficheur DVI ne s'ouvre pas, il est probable que vous avez une erreur. Si c'est le cas, elle sera visible dans le fichier journal ou la zone de message, et le résumé de l'erreur sera donné.

Le fichier journal explique la source de l'erreur dans votre code. Dans l'éditeur, vous pouvez utiliser les boutons de la barre d'outils nommés Erreur LaTeX précédente et Erreur LaTeX suivante pour naviguer entre les erreurs. Le fichier journal indique toujours la ligne à laquelle l'erreur s'est produite. Pour voir cette ligne, cliquez sur l'erreur dans la fenêtre du journal, et Kile vous emmènera à cette ligne.

Chapitre 4. Démarrer un nouveau document
Démarrer un nouveau document

# Chapitre 4. Démarrer un nouveau document

Lorsque vous cliquez sur le bouton de la barre d'outils pour démarrer un nouveau document, une boîte de dialogue apparaît, vous demandant le type de modèle que vous souhaitez utiliser pour rédiger votre document. Les choix par défaut sont :

- Empty File

- Article

- Beamer

- Book

- HA-Prosper

- Powerdot

- Letter

- Report

- Scrartcl (du paquet KOMA-Script)

- Scrbook (du paquet KOMA-Script)

- Scrlttr2 (du paquet KOMA-Script)

- Scrreprt (du paquet KOMA-Script)

- PDF

- XeLaTeX

Si vous choisissez Empty File (fichier vide), vous pouvez soit commencer à écrire votre document en partant de rien, soit utiliser l'assistant pour démarrer rapidement un nouveau document (voir Assistant de démarrage rapide).

## Modèles

La plupart des utilisateurs de LATEX utilisent le même préambule pour à peu près tous leurs documents. Les modèles peuvent être créés, enregistrés et chargés dans Kile afin de faciliter le démarrage d'un nouveau document.

### Créer un nouveau modèle

Pour créer un nouveau modèle, vous devez tout d'abord soit ouvrir un fichier TEX / LATEX, soit créer vous-même un fichier. Kile peut générer un modèle à partir d'un document existant en ouvrant le document choisi et en sélectionnant Fichier → Créer un modèle à partir du document....

### Configurer les substitutions automatiques

Lorsque vous créez un nouveau document en choisissant un modèle depuis Fichier → Nouveau, certaines combinaisons de caractères peuvent être remplacées par des données comme votre nom, ou l'encodage des caractères que vous utilisez. Ces variables peuvent être configurées dans Configuration → Configurer Kile... → Configuration+Général.

Lorsque vous concevez votre propre modèle, il est utile de connaître les combinaisons de caractères qui seront remplacées par les variables du modèle :

- `$$AUTHOR$$` : cette chaîne sera remplacée par la variable auteur.

- `$$DOCUMENTCLASSOPTIONS$$` : cette chaîne sera remplacée par la variable des options de documentclass. Typiquement, ceci s'utilise de la façon suivante : `\documentclass[$$DOCUMENTCLASSOPTIONS$$]{article}`.

- `$$INPUTENCODING$$` : si la variable d'encodage est positionnée sur, disons, `latin1`, cette chaîne est remplacée par `\input[latin1]{inputenc}`.

### Créer un nouveau modèle à partir de l'assistant

Le moyen le plus simple de créer un nouveau modèle est de partir de l'assistant, puis d'ajouter ensuite des commandes dans l'éditeur. Une fois que vous avez préparé votre document comme vous le souhaitiez :

1. enregistrez votre fichier,

2. allez dans Fichier,

3. choisissez Créer un modèle à partir du document...,

4. faites les corrections éventuellement nécessaires sur le modèle,

5. saisissez un nom pour votre modèle,

6. cliquez sur Ok pour ajouter votre modèle au menu.

La prochaine fois que vous démarrerez un nouveau document, vous pourrez choisir votre modèle personnalisé à la place de ceux par défaut.

### Créer un modèle à partir d'un fichier

Un modèle peut être créé à partir de n'importe quel fichier LATEX. Si vous cherchez un moyen facile de configurer un modèle, allez en chercher un qui vous plaît sur Internet, et suivez les mêmes étapes que celles vues dans Créer un nouveau modèle à partir de l'assistant.

Par exemple, vous voulez créer un poster « A0 » à part entière. Ces posters sont fréquemment rencontrés lors de conférences scientifiques. LATEX vous aidera à faire un poster attractif et captivant. Veuillez noter que vous avez besoin d'un paquet `a0poster`, qui, en général, n'est pas inclus dans les distributions standards de TEX. Vous pouvez le télécharger depuis ici et le placer dans le même dossier que votre fichier LATEX.

### Suppression d'un modèle

Pour enlever un modèle dans Kile, faites comme suit :

1. allez dans Fichier → Supprimer un modèle...,

2. une boîte de dialogue apparaîtra, listant tous les modèles. Choisissez celui que vous souhaitez enlever,

3. cliquez sur Ok, et votre modèle sera enlevé.

Les modèles marqués d'une astérisque (*) ne peuvent pas être enlevés sans les permissions appropriées.

Chapitre 5. Éditer des documents LATEX
Éditer des documents LATEX

# Chapitre 5. Éditer des documents LATEX

L'éditeur interne que Kile utilise est Kate. Il s'agit d'un éditeur de texte pour programmeur, capable de lire et d'appliquer une coloration syntaxique à un grand nombre de types de fichiers texte, parmi lesquels LATEX et BibTEX. Vous pouvez accéder à beaucoup d'options de Kate directement depuis le menu Outils de Kile.

Pour en savoir plus à propos de Kate et de ses possibilités, consultez le manuel de Kate. Les utilisateurs de Kile peuvent commencer à lire à partir du chapitre « travailler avec l'éditeur Kate ».

## La référence LATEX

Kile contient un référentiel des balises LATEX très pratique. Vous pouvez y accéder en choisissant Aide → Référence LaTeX. Il contient une description exhaustive de presque toutes les commandes que vous pouvez utiliser dans LATEX, ainsi que leur syntaxe.

Mouvements du curseur
Mouvements du curseur

## Mouvements du curseur

Pour sélectionner du texte, vous disposez des options suivantes :

- maintenez enfoncé le bouton gauche de la souris, et glissez la souris pour surligner le texte,

- cliquez une fois sur un mot pour déplacer le curseur dans une nouvelle zone,

- cliquez deux fois sur un mot pour sélectionner le mot entier,

- cliquez deux fois sur un mot et appuyez sur Ctrl pour sélectionner le mot TEX en entier. Cela signifie que cliquer de cette façon sur `\par` dans `\par\bigskip` ne sélectionnera que \par.

- cliquez trois fois pour sélectionner la phrase entière.

Maintenir le bouton gauche de la souris, puis sélectionner le texte en glissant la souris copie automatiquement le texte sélectionné dans le presse-papiers.

Maintenir enfoncée la touche Maj et utiliser les touches fléchées permet de sélectionner des portions de code source dans la fenêtre de l'éditeur.

Parenthèses
Parenthèses

## Parenthèses

Le complètement des parenthèses est un outil visuel utilisé par l'éditeur pour vous indiquer quelle parenthèse correspond avec telle autre. Si vous ouvrez n'importe quel fichier `.tex`, et sélectionnez une parenthèse (ce peut être des parenthèses (), des crochets [] ou des accolades {}), l'éditeur va colorer cette parenthèse et la parenthèse correspondante en jaune (cette couleur par défaut peut être modifiée). Ainsi, par exemple, si vous positionnez le curseur sur l'accolade dans `\section{Introduction}`, vous verrez `\section{Introduction}` avec la coloration syntaxique par défaut jaune, vous montrant l'emplacement des accolades de début et de fin.

Coloration syntaxique
Coloration syntaxique

## Coloration syntaxique

Kile a la possibilité d'analyser et d'appliquer une coloration syntaxique pour différents types de code. Par exemple, les commandes LATEX se distinguent du texte normal, les formules sont également colorées avec une couleur différente.

Puces
Puces

## Puces

Plusieurs assistants peuvent insérer les puces optionnelles, une sorte de signets dans le texte. L'élément de menu Modifier → Puces ou le raccourci clavier correspondant vous permettront d'aller à la puce précédente ou suivante. Ceci mettra également cette puce en évidence de sorte qu'elle sera automatiquement supprimée lorsque vous saisirez la première lettre.

Puce suivante (Ctrl+Alt+Droite)

  Va à la puce suivante dans le texte s'il y en a une.

Puce précédente (Ctrl+Alt+Gauche)

  Va à la puce précédente dans le texte s'il y en a une.

Sélection
Sélection

## Sélection

L'édition est bien sûr l'aspect principal lorsque vous utilisez un programme comme Kile. Bien que Kate dispose déjà de grandes possibilités, Kile ajoute quelques caractéristiques importantes, qui sont spécifiques à l'écriture de code source LATEX. LATEX utilise toujours beaucoup d'environnements et de groupes. Kile possède donc des commandes très spéciales pour les sélectionner. Dans Modifier → Sélectionner, vous trouverez les commandes suivantes pour sélectionner du texte.

L'environnement (intérieur) (Ctrl+Alt+S,E)

  Sélectionne un environnement sans les balises qui l'entourent. Si la commande est appelée lorsqu'un environnement est déjà sélectionné, Kile étendra la sélection au prochain environnement qui l'entoure.

L'environnement complet (Ctrl+Alt+S,F)

  Sélectionne un environnement, en incluant les balises qui l'entourent. La sélection peut également être étendue avec un second appel à la commande.

Le groupe TeX (intérieur) (Ctrl+Alt+S,T)

  Sélectionne un groupe TEX à l'intérieur des accolades qui l'entourent.

Le groupe Tex complet (Ctrl+Alt+S,U)

  Sélectionne un groupe TEX, y compris les accolades qui l'entourent.

Le groupe de mathématiques (Ctrl+Alt+S,M)

  Sélectionne le groupe de mathématiques actuel, y compris les commandes mathématiques.

Le paragraphe (Ctrl+Alt+S,P)

  Sélectionne un paragraphe entier, c'est-à-dire un groupe de lignes de texte séparées de chaque côté par des lignes vides. Un paragraphe ne signifie pas simplement une suite de lignes de texte, comme c'est le cas dans d'autres éditeurs de texte. Ce sens étendu inclut également les tableaux, les commandes LATEX, et toutes les autres lignes de code du source. La seule chose importante pour Kile est que ce genre de paragraphe est séparé par deux lignes vides.

La ligne (Ctrl+Alt+S,L)

  Sélectionne la ligne de texte à la position du curseur.

Le mot TeX (Ctrl+Alt+S,W)

  Sélectionne le mot qui se trouve à la position du curseur. Cette sélection a également une signification étendue, parce que cette commande peut également sélectionner des commandes LATEX, qui commencent par un backslash, et peuvent éventuellement avoir une étoile à la fin.

### Sélection de commandes LATEX

Kile dispose d'une caractéristique étendue pour sélectionner les commandes LATEX. Par exemple, si vous avez saisi

    texte \bfseries\itshape encore du texte

et que vous double-cliquez sur l'une des commandes LATEX, les deux seront sélectionnées. Mais souvent, vous ne voulez sélectionner qu'une des deux commandes. Ceci peut être fait en utilisant la touche Ctrl. Vous avez juste à appuyer sur la touche Ctrl et à double cliquer uniquement sur la commande choisie.

Supprimer
Supprimer

## Supprimer

Pour supprimer des parties du document, vous pouvez bien sûr les sélectionner, et utiliser la touche Supprimer. Kate offre également la commande Ctrl+K qui supprime la ligne entière. Mais Kile propose une commande de suppression plus rapide. Dans Modifier → Supprimer, vous trouverez les commandes suivantes pour supprimer du texte.

L'environnement (intérieur) (Ctrl+Alt+T,E)

  Supprime un environnement sans les balises qui l'entourent.

L'environnement complet (Ctrl+Alt+T,F)

  Supprime un environnement y compris les balises qui l'entourent.

Le groupe TeX (intérieur) (Ctrl+Alt+T,T)

  Supprime le groupe TEX à l'intérieur des accolades.

Le groupe Tex complet (Ctrl+Alt+T,U)

  Supprime le groupe TEX, y compris les accolades qui l'entourent.

Le groupe de mathématiques (Ctrl+Alt+T,M)

  Supprime le groupe de mathématiques actuel, y compris les commandes mathématiques.

Le paragraphe (Ctrl+Alt+T,P)

  Supprime un paragraphe entier. Regardez la commande Sélectionner → Le paragraphe pour voir comment un paragraphe est défini dans Kile.

Jusqu'à la fin de la ligne (Ctrl+Alt+S,L)

  Supprime le texte depuis curseur jusqu'à la fin de la ligne.

Le mot TeX (Ctrl+Alt+T,W)

  Supprime le mot ou la commande LATEX qui se trouve à la position actuelle du curseur.

Environnement
Environnement

## Environnement

Nous avons déjà vu que les environnements sont un point central de LATEX. Kile offre quatre commandes pour faire les choses le plus simplement possible avec LATEX, dans le sous-menu Modifier → Environnement.

Aller au début (Ctrl+Alt+E,B)

  Cette commande vous fera aller au début de l'environnement en cours, quelle que soit la position du curseur. Le curseur sera placé directement devant la balise d'ouverture de l'environnement.

Aller à la fin (Ctrl+Alt+E,E)

  Cette commande vous fera aller à la fin de l'environnement en cours, quelle que soit la position du curseur. Le curseur sera placé directement derrière la balise d'ouverture de l'environnement.

Aller à l'autre bout (Ctrl+Alt+E,M)

  Lorsque votre curseur est placé devant ou après la balise `\begin{environnement}`, il sera placé au côté opposé de l'environnement et vice-versa.

Fermer (Ctrl+Alt+E,C)

  Lorsque vous saisissez un grand nombre de balises imbriquées, vous pouvez perdre le contrôle de tous ces environnements. Cette commande fermera le dernier environnement ouvert, afin de ne pas briser la structure des environnements imbriqués.

Tout fermer (Ctrl+Alt+E,A)

  Ferme tous les environnements ouverts, pas uniquement le dernier.

Groupe TEX
Groupe TEX

## Groupe TEX

Kile offre également quelques commandes spéciales pour les groupes LATEX, qui sont caractérisés par une paire d'accolades `{...}`. Dans le sous-menu Modifier → Groupe TeX, vous trouverez des commandes importantes, qui correspondent à celle de Modifier → Environnement.

Aller au début (Ctrl+Alt+G,B)

  Cette commande vous fera aller au début du groupe en cours, quelle que soit la position du curseur. Le curseur sera placé directement devant l'accolade ouvrante.

Aller à la fin (Ctrl+Alt+G,E)

  Cette commande vous fera aller à la fin du groupe en cours, quelle que soit la position du curseur. Le curseur sera placé directement derrière l'accolade fermante.

Aller à l'autre bout (Ctrl+Alt+G,M)

  Lorsque le curseur est placé devant ou derrière une accolade ouvrante d'un groupe TEX, il sera déplacé au côté opposé du groupe, et vice-versa.

Fermer (Ctrl+Alt+G,C)

  Saisir un grand nombre de groupes imbriqués peut être une tâche compliquée. Cette commande ferme le dernier groupe ouvert, de façon que la structure imbriquée des groupes TEX ne soit pas cassée.

Guillemets doubles
Guillemets doubles

## Guillemets doubles

Dans LATEX, deux guillemets simples sont utilisés comme guillemets doubles. De façon à vous aider à les insérer efficacement, Kile vous permet d'appuyer sur " pour insérer deux guillemets simples d'ouverture. De plus, si vous souhaitez fermer une citation, vous devez également appuyer sur ". Kile reconnaîtra cette situation et insérera deux guillemets fermants pour LATEX.

Pour obtenir un guillemet double au sens littéral, appuyez sur " deux fois.

Vous pouvez activer ou désactiver cette insertion automatique des guillemets doubles ouvrant et fermant dans la section Configuration → Configurer Kile... → LaTeX+Général.

Si vous ajoutez également des options spécifiques à la langue ou des fichiers de style comme `ngerman` ou `french`, vous pourrez également utiliser les guillemets doubles en allemand ou en français. Beaucoup d'autres langues sont disponibles.

Nouvelle ligne intelligente
Nouvelle ligne intelligente

## Nouvelle ligne intelligente

Si vous appuyez sur Ctrl+Entrée, Kile insère une nouvelle ligne intelligente. Si le curseur se situe dans un environnement de liste, comme `enumerate` ou `itemize`, Kile n'insérera pas simplement une nouvelle ligne, mais également une commande `\item`.

Si vous êtes dans un environnement tableau, Kile terminera la ligne en cours avec `\\`, suivi d'une nouvelle ligne.

Si vous êtes dans un commentaire LATEX, Kile commencera la ligne suivante avec un `%`.

Encore mieux, Kile est suffisamment intelligent pour gérer les environnements LATEX prédéfinis et ceux définis par l'utilisateur, qui peuvent être ajoutés dans la section Configuration → Configurer Kile... → LaTeX+Général.

Tabulation intelligente
Tabulation intelligente

## Tabulation intelligente

Certains utilisateurs aiment arranger les colonnes dans des environnements tabular et mettre tous les caractères « et commercial » & les uns en dessous des autres. Kile tente de gérer ceci. Si vous appuyez sur Alt+Maj+&, Kile regardera la prochaine tabulation dans la ligne au dessus. Bien qu'il soit possible que la tabulation ne soit pas celle correspondante, Kile ajoutera des espaces pour ajuster la position de la colonne pour la tabulation actuelle.

Chapitre 6. Complètement du code
Complètement du code

# Chapitre 6. Complètement du code

Bien que Kate offre déjà un mode de complètement performant, Kile étend le complètement du code pour gérer certaines méthodes spéciales, tout particulièrement pour LATEX. Cinq modes différents sont intégrés. Trois d'entre deux fonctionnent à la demande, les deux autres sont des modes de complètement automatique. Tous les modes peuvent être configurés pour fonctionner de manière très différente depuis le menu Configuration → Configurer Kile....

## Complètement automatique des environnements

Lorsque vous commencez un nouvel environnement en saisissant `\begin{environnement}`, Kile ajoutera automatiquement une commande `\end{environnement}`, avec une ligne entre pour votre texte.

Le complètement automatique peut être désactivé dans la section LATEX de Configuration → Configurer Kile... → LaTeX+Environnements.

Complètement d'un environnement mathématique

Commandes LATEX
Commandes LATEX

## Commandes LATEX

Lorsque vous saisissez des caractères, vous pouvez activer ce mode de complètement pour les commandes LATEX et pour les mots normaux avec Modifier → Complètement → Compléter la commande (La)TeX ou avec le raccourci clavier Ctrl+Maj+Espace. Kile lit d'abord les lettres à partir de la position actuelle du curseur vers la gauche, et s'arrête au premier caractère qui n'est pas une lettre ou au premier backslash. Si le motif commence par un backslash, Kile entrera en mode de complètement pour les commandes TEX ou LATEX. Sinon, il entrera en mode dictionnaire normal, dans lequel vous ne trouverez aucune commande LATEX. En fonction du mode choisi, une boîte de complètement sera ouverte. Vous verrez toutes les commandes ou les mots dont le début correspond au motif actuel. Vous pouvez naviguer avec les touches du curseur dans cette liste et choisir un élément avec Entrée ou double-cliquer avec la souris.

Lorsque vous appuyez sur Retour arrière, la dernière lettre de votre motif est effacée, et la liste de complètement devrait augmenter. En revanche, si vous saisissez une nouvelle lettre, le motif est étendu et les mots visibles dans la liste devraient être moins nombreux.

Si vous décidez de ne pas utiliser les suggestions de cette liste, faites-la disparaître avec Échap.

Vous verrez que toutes les commandes sont écrites avec une courte description de leurs paramètres. Ces descriptions disparaissent bien évidemment lorsque vous choisissez une commande. Vous pouvez également si vous le souhaitez laisser Kile insérer des puces à ces endroits, de façon à pouvoir y aller facilement avec Modifier → Puces → Puce suivante et insérer le paramètre souhaité.

Allez dans Configuration → Configurer Kile... → Kile+Complètement pour configurer une ou plusieurs de ces listes. Vous pouvez choisir différentes listes de mots pour les commandes TEX et LATEX, et un mode dictionnaire pour les mots normaux.

Si vous choisissez l'option Afficher les commandes LaTeX, les éléments de tous les fichiers de mots compressés cwl choisis pour le complètement des commandes LATEX seront affichées dans une vue séparée de la barre latérale de Kile. Vous verrez les commandes disponibles ainsi que des paramètres et options qui doivent ou peuvent être fournies pour un complètement. Vous pouvez également simplement choisir une entrée avec un clic de souris, et elle sera insérée dans le document, avec tous les paramètres et options vidés.

Comme chaque liste de mots choisie sera affichée dans une vue séparée, il est possible qu'il y ait trop de vues, de sorte que la fenêtre principale de Kile soit plus grande que ce qu'un petit écran permet. Ceci est particulièrement laid, et Kile travaille avec un nombre maximum permis de vues, qui est réglé par défaut à 10. Si cette valeur est trop élevée pour votre écran, vous pouvez la réduire.

Environnements
Environnements

## Environnements

Le mode commande n'est pas utile pour le complètement des environnements. Vous devez toujours saisir quelques lettres de `\begin`, et invoquer le mode de complètement qui résulte en une longue liste de balises d'environnements. D'un autre côté, les environnements sont si souvent utilisés que Kile offre un mode spécial pour le complètement des environnements. Oubliez la balise ouvrante et écrivez par exemple `al`.

Lorsque vous appelez le mode de complètement avec Modifier → Complètement → Environnement ou avec le raccourci clavier Alt+Maj+Espace, la balise ouvrante est automatiquement ajoutée et vous verrez `\begin{al`. Après ce changement, la liste de complètement est beaucoup plus courte.

Maintenant sélectionnez un environnement, et vous verrez qu'il est également automatiquement fermé. Encore mieux, si Kile reconnaît un environnement de liste, il insérera également une balise `\item`.

Allez dans Configuration → Configurer Kile... → Kile+Complètement pour configurer une ou plusieurs de ces listes. Ce mode utilise les mêmes listes de mots que le mode de complètement pour les commandes TEX et LATEX.

Abréviations
Abréviations

## Abréviations

Kile gère les listes d'abréviations définies par l'utilisateur, qui sont remplacées à la demande par une chaîne de caractères plus longue. Regardez Configuration → Configurer Kile... → Kile+Complètement pour configurer une ou plusieurs de ces listes. Pour l'exemple donné ici, la liste d'abréviations dans `example.cwl` doit être choisie. Vous trouverez dans ce fichier par exemple l'élément `L=\LaTeX`.

Par exemple, saisissez uniquement la lettre `L`. Maintenant appelez le mode abréviation du complètement par mot avec Modifier → Complètement → Abréviation ou le raccourci clavier Ctrl+Alt+Espace, et la lettre `L` sera remplacée par la chaîne `\LaTeX`.

Le complètement des abréviations gère aussi les nouvelles lignes `%n` et `%C` pour placer le curseur, si ces caractères sont présents dans le texte étendu. Ainsi, si vous avez l'entrée

    en1=\begin{enumerate}%n\item %C%n\end{enumerate}%n

dans le fichier de complètement, et si vous appelez le complètement de l'abréviation, le texte remplacé ressemblera à ce qu'il y a ci-dessous, où le `x` montre la position finale du curseur.

    \begin{enumerate}
            \item x
    \end{enumerate}

### Abréviations

Si vous choisissez Afficher les abréviations, toutes les abréviations possibles seront affichées dans une vue de la barre latérale. Vous aurez donc un bon aperçu de toutes les abréviations utilisables.

Modes de complètement automatique
Modes de complètement automatique

## Modes de complètement automatique

### Commandes LATEX

Vous pouvez également activer le mode de complètement automatique pour les commandes LATEX. Lorsqu'un certain seuil de lettres (trois par défaut) est atteint, une fenêtre surgissante affiche une liste de toutes les commandes LATEX correspondantes. Vous pouvez choisir une de ces commandes, ou ignorer la fenêtre et saisir d'autres lettres. Ces éléments de la boîte de complètement changeront en permanence pour correspondre au mot saisi.

Allez dans Configuration → Configurer Kile... → Kile+Complètement pour activer ou désactiver ce mode ou pour modifier le seuil.

### Mots du document

Les grands dictionnaires ne sont pas utilisables en mode de complètement automatique, mais nous avons vu qu'un grand nombre de mots dans un documents sont saisis plus d'une fois. Kile permet le complètement de tous les mots du document qui ont déjà été saisis. Vous pouvez appeler manuellement le complètement, si vous appuyez sur Ctrl+Espace. Notez que ce mode est différent du mode de complètement pour les commandes LATEX.

Si vous souhaitez activer ce mode, allez dans Configuration → Configurer Kile... → Éditeur → Édition+Complètement automatique. Dans cette boîte de dialogue, vous pouvez configurer si le complètement automatique des mots doit être activé. Il y a également un mode de complètement automatique dans lequel une boîte de complètement surgit lorsqu'un certain seuil est atteint.

Écrire vos propres fichiers de complètement
Écrire vos propres fichiers de complètement

## Écrire vos propres fichiers de complètement

Les spécifications du format des fichiers de complètement se trouvent dans les spécifications du format de fichier CWL.

Les fichiers de complètement peuvent être installés dans le dossier personnel d'un utilisateur sans le sous-dossier `~/.kde/share/apps/kile/complete/<mode>/`, où `<mode>` vaut soit `abbreviation`, `dictionary` ou `tex`.

Chapitre 7. Assistants et boîtes de dialogue
Assistants et boîtes de dialogue

# Chapitre 7. Assistants et boîtes de dialogue

## Assistant de démarrage rapide

Cet assistant a déjà été décrit dans la section Assistant de démarrage rapide.

Insertion d'images
Insertion d'images

## Insertion d'images

La boîte de dialogue Insérer une image permet l'insertion d'images le plus simplement possible. Elle peut être obtenue par le menu LaTeX → Insertion d'image. Vous pouvez jeter un œil sur Formats de fichiers graphiques et Graphiques EPS pour un aperçu de quelques éléments fondamentaux sur les formats d'images.

1. Choisissez un fichier image. Ce peut être un JPEG, PNG, PDF, EPS ou même un fichier eps zippé ou gzippé, si vous avez correctement installé votre système teTEX. Si vous avez installé ImageMagick et configuré Kile pour l'utiliser (Configuration → Configurer Kile... → LaTeX+Graphiques), la hauteur et la largeur des images sont affichées automatiquement. Si ImageMagick peut déterminer la résolution, la taille de l'image est également affichée en centimètres.

2. Choisissez si votre image doit être centrée sur la page.

3. choisissez si vous voulez utiliser la commande `\graphicspath` pour votre fichier image.

   Par défaut, les images doivent se trouver dans le même dossier que votre document maître. Cependant, il est possible de les placer dans d'autres dossiers pour mieux ordonner les choses. Sans une commande `\graphicspath`, Kile inclurait l'emplacement pour les images. Mais si vous utilisez `\graphicspath` dans votre préambule, comme ceci :

       \graphicspath{{/emplacement/de/mes/images}{autre/emplacement/de/mes/images}}

   et cochez cette option, Kile utilisera uniquement ce nom de base pour les images.

   Un autre exemple : si vous réglez la commande `\graphicspath` comme suit :

       \graphicspath{{./}{camera/}{images/}}

   LATEX cherchera votre image dans le dossier en cours, puis dans `camera` et enfin dans `images`.

4. si vous choisissez soit une largeur soit une hauteur, l'image sera mise à l'échelle en conservant les proportions. Si vous donnez deux valeurs pour la largeur et la hauteur en même temps, elle sera mise à l'échelle avec des facteurs différents, chose que vous ne souhaitez probablement pas. Consultez les informations en haut de la boîte de dialogue pour connaître la taille d'origine de l'image.

5. insérez l'angle correspondant à une rotation de l'image dans le sens contraire des aiguilles d'une montre.

6. les informations sur la boîte englobante sont réglées automatiquement lorsque vous choisissez une image. Ces informations ne sont nécessaires que si vous travaillez avec LATEX classique et des images bitmap. Voyez la discussion à propos des graphiques EPS.

   Si LATEX a besoin d'une boîte englobante et que vous ne souhaitez pas générer un fichier bb, Kile gère cette option. D'un autre côté, PDFLATEX donnera une alerte lorsque vous voudrez inclure une image png ou jpg avec cette option. Cette case à cocher active ou désactive la boîte englobante.

7. redimensionnez l'image du facteur souhaité, par exemple, 0.5 pour diviser ses dimensions de moitié, ou 2 pour les doubler. Lorsque vous utilisez cette option, vous n'avez pas à régler la largeur ou la hauteur de l'image.

8. dans l'onglet couper l'image, vous pouvez rogner l'image dans les quatre directions.

9. enfin, vous devez spécifier si vous souhaitez insérer cette image dans un environnement figure. Si vous souhaitez que le texte se répartisse autour de l'image, utilisez plutôt l'environnement wrapfigure.

   ### Note

   Lorsque vous choisissez l'environnement wrapfigure, vous devez inclure le paquet wrapfig dans votre préambule.

   Dans les deux cas, vous pouvez ajouter une légende et un label à votre image. Il est recommandé généralement d'ajouter un préfixe différent pour chaque type de label. On utilise souvent le préfixe `fig:` pour les images.

10. si vous optez pour l'environnement figure, vous pouvez choisir où LATEX doit préférentiellement placer l'image.

11. dans l'environnement wrapfigure, vous pouvez :

    1. choisir une règle de placement et décider si la figure doit flotter ou non. Dans un document recto-verso, vous pouvez définir si la figure se place du côté intérieur ou du côté extérieur de la page.

    2. définir combien de lignes de texte raccourcies sont placées de part et d'autre de l'image. Si vous laissez ce champ vide, LATEX déterminera lui-même ce nombre de la meilleure manière possible.

    3. définir un débordement pour le côté choisi. Ceci est particulièrement utile si votre document comporte plusieurs colonnes, et que vous souhaitez qu'une figure se répartisse sur plus d'une colonne, ou si vous souhaitez de texte raccourci des deux côtés de la figure.

    4. choisir la largeur de la figure. Ce devrait être un peu plus grand que la largeur réelle de la figure, de sorte qu'il y ait un peu d'espace vide entre la figure et le texte.

Tableaux et matrices
Tableaux et matrices

## Tableaux et matrices

Un travail particulièrement fastidieux avec LATEX est l'écriture d'une matrice ou d'un environnement tableau. On doit garder un œil sur tous les éléments, s'assurer que l'environnement est bien formé, et que tout est bien là où il doit l'être. Une bonne indentation permet d'améliorer les choses, mais il y a plus simple : utiliser les éléments de menu Assistant → Tableau ou Assistant → Matrice de Kile. Vous aurez alors un formulaire de saisie en forme de matrice, que vous pouvez facilement remplir. Cette boîte de dialogue offre également des options de typographie pour le contenu du tableau.

En utilisant la barre d'outils en haut de la boîte de dialogue, vous pouvez régler `l'alignement` d'une cellule, définir un `style de police`, `Fusionner` et `Scinder` les cellules, choisir un `cadre`, et spécifier les `couleurs` du texte et de l'arrière-plan. Tout à droite se trouve un bouton Coller. Avec ce bouton, vous pouvez insérer un tableau depuis le presse-papiers dans la boîte de dialogue, ce qui vous permet de copier / coller des tableaux depuis un tableur par exemple.

Vous pouvez choisir en dessous le nombre de lignes et de colonnes, et vous pouvez améliorer d'autres éléments de votre tableau :

- avec l'option Nom, vous pouvez choisir quel environnement doit être utilisé pour le tableau ou la matrice.

- vous pouvez choisir l'alignement vertical des cellules avec l'option Paramètres. Cette option n'est disponible que pour les environnements qui le gèrent.

- si elle existe pour l'environnement choisi, vous pouvez choisir d'utiliser la version étoilée. Lorsque vous choisissez cette option, vous devez également spécifier une largeur du tableau.

- les tableaux sont parfois plus jolis lorsque vous choisissez l'option utiliser le paquet booktabs.

- bien sûr, vous pouvez également centrer le tableau entier.

- Croix dans les cellules vides vous aide lorsque vous voulez saisir votre contenu depuis l'éditeur. En cochant cette option, Kile insérera des croix pour chaque élément de votre tableau.

L'option Assistant → Tabulation affichera une boîte de dialogue plus simple pour configurer rapidement un environnement tabulation. Elle vous permet de régler facilement le nombre de lignes et de colonnes, ainsi que l'espacement nécessaire.

Insérer des éléments flottants
Insérer des éléments flottants

## Insérer des éléments flottants

Kile vous aide à insérer vos éléments flottants. Avec Assistant → Flottants, il est très simple de créer un nouvel environnement figure ou tableau.

Pour insérer un nouvel environnement flottant, suivez simplement les étapes suivantes :

1. choisissez si sous souhaitez insérer une figure ou un tableau.

2. choisissez les règles de positionnement.

3. saisissez une légende pour votre élément flottant.

4. saisissez une étiquette pour l'élément flottant. Kile suggérera automatiquement un préfixe approprié, par exemple « fig » pour les figures, et « tab » pour les tableaux.

Insérer des environnements mathématiques
Insérer des environnements mathématiques

## Insérer des environnements mathématiques

Se souvenir de la façon dont les différents éléments mathématiques fonctionnent peut être vraiment ennuyant. Bien sûr, Kile peut vous aider ici : Assistant → Mathématiques

Options :

- Nom : choisissez le type d'élément mathématique à créer.

- Sans numérotation : ceci active ou non la numérotation des éléments comme les équations ou les éléments « align »

- Commande d'espacement pour séparer les groupes. Dans un environnement qui gère plusieurs groupes comme alignat, vous pouvez définir un espace de séparation lorsque vous avez plus d'un groupe. Vous pouvez saisir ici n'importe quelle commande d'espacement qui existe en mode mathématique, par exemple \quad.

- Tabulateur standard : choisissez le tabulateur qui sera utilisé. Kile devrait sélectionner automatiquement le bon pour vous.

- Mode displaymath : pour les environnements comme les matrices ou les tableaux, vous pouvez choisir avec quel environnement mathématique votre texte mathématique sera affiché.

- Utiliser des puces : en cochant cette option, Kile insérera des puces pour chaque élément de votre texte mathématique.

Outils PostScript®
Outils PostScript®

## Outils PostScript®

Les fichiers PS ne sont pas aussi populaires que les fichiers PDF, mais sont une excellente base pour la manipulation et le réarrangement des pages. Si vous avez besoin d'une sortie PDF, vous pouvez réarranger les pages avec des utilitaires PostScript®, puis convertir en PDF avec la commande ps2pdf.

L'assistant PostScript® disponible dans le menu Assistant → Outils PostScript suggérera les réarrangements les plus populaires. La conversion est réalisée par les programmes pstops et psselect, qui se trouvent dans la plupart des distributions dans le paquet `psutils`. Si l'un de ces programmes n'est pas disponible, l'élément correspondant ne sera pas visible.

Choisissez d'abord votre fichier d'entrée. Si Kile trouve un fichier PS correspondant à votre document maître actuel, le fichier d'entrée sera déjà rempli, mais vous pouvez également choisir un autre fichier. Choisissez ensuite un fichier de sortie, et choisissez une des tâches. Finalement, vous devez décider si vous souhaitez réaliser la conversion uniquement, ou également invoquer Okular pour afficher le résultat.

1 page A5 + page vide → A4

  combine une page A5 avec une page vide sur une page A4. Si deux pages A5 sont combinées ensemble, elles sont tournées de 90 degrés et seront réarrangées sur une page A4 en mode paysage.

1 page A5 + copie → A4

  met une page A5 et une copie ensemble dans une page A4.

2 pages A5 → A4

  met deux pages A5 consécutives ensemble sur une page A4.

2 pages A5 paysage → A4

  Met deux pages A5 consécutives en mode paysage ensemble sur une page A4.

4 pages A5 → A4

  combine quatre pages A5 consécutives ensemble sur une page A4. Les pages A5 doivent être redimensionnées d'un facteur 0,7 pour s'adapter aux dimensions de la page.

1 page A4 + page vide → A4

  combine une page A4 avec une page vide sur une page A4. Quand deux pages A4 sont combinées sur une page A4, elles sont redimensionnées d'un facteur 0,7 et seront réarrangées en mode paysage.

1 page A4 + copie → A4

  place une page A4 et une copie ensemble sur une page A4.

2 pages A4 → A4

  place deux pages A4 consécutives ensemble sur une page A4.

2 pages A4 paysage → A4

  place deux pages A4 consécutives en mode paysage ensemble sur une page A4.

Sélectionner les pages paires

  Sélectionne toutes les pages paires d'un document.

Sélectionner les pages impaires

  Sélectionne toutes les pages impaires d'un document.

Sélectionner les pages paires (ordre inverse)

  Sélectionne toutes les pages paires d'un document et inverse l'ordre.

Sélectionner les pages impaires (ordre inverse)

  Sélectionne toutes les pages impaires d'un document et inverse l'ordre.

inverser toutes les pages

  Inverse toutes les pages d'un document.

Copier toutes les pages (triées)

  Copie toutes les pages d'un document. Vous devez choisir le nombre de copies triées.

copier toutes les pages (non triées)

  Copie toutes les pages du document. Vous devez choisir le nombre de copies non triées.

ps2ps : choix des paramètres

  Il y a beaucoup d'options pour les outils PostScript® pstops et psselect. Si vous avez besoin d'une option bien spécifique, vous pouvez invoquer pstops avec l'option de votre choix. Consultez le manuel pour la liste des options possibles.

psselect : choix des paramètres

  Vous pouvez invoquer psselect avec l'option de votre choix. Consultez le manuel pour la liste des options possibles.

Utilitaires PDF
Utilitaires PDF

## Utilitaires PDF

Beaucoup de gens pensent que les fichiers PDF sont des fichiers gelés, qui ne peuvent pas être modifiés. Mais ce n'est pas vrai, car il existe d'excellents outils

- pour manipuler et réarranger les pages

- pour lire et mettre à jour les informations sur le document

- pour lire, régler ou modifier des permissions

d'un document PDF existant.

L'assistant PDF de Kile, dans Assistant → Outils PDF utilise deux méthodes pour manipuler et réarranger les documents PDF :

- le paquet LATEX pdfpages, qui fait partie de chaque distribution LATEX. pdfpages ne fonctionne pas avec les pages chiffrées.

- pdftk, qui est un excellent outil en ligne de commande pour la manipulation de documents PDF au quotidien (voir The PDF Toolkit).

Si un de ces utilitaires, pdfpages ou pdftk, n'est pas présent dans votre système, les éléments correspondant ne seront pas visibles. De plus, rappelez-vous que seul pdftk peut fonctionner avec les fichiers chiffrés.

### Réarrangements

Lorsque l'assistant PDF de Kile est appelé, il démarre avec l'outil `Réarrangements`.

Choisissez d'abord votre fichier d'entrée. Si Kile trouve un fichier PDF correspondant à votre document maître actuel, le fichier d'entrée sera déjà rempli, mais vous pouvez également choisir un autre fichier. Choisissez ensuite un fichier de sortie ou écrasez le ficher PDF existant, et choisissez une des tâches. Finalement, vous devez décider si vous souhaitez réaliser la conversion uniquement, ou également invoquer l'afficheur (par exemple Okular) pour afficher le document résultant.

Si le fichier PDF est chiffré, seul pdftk fonctionne et vous devez fournir le mot de passe de ce document pour exécuter les tâches.

1 page + page vide --> A4

  combine une page avec une page vide sur une page A4. Si deux pages A5 sont combinées ensemble, elles sont tournées de 90 degrés et réarrangées sur une page A4 en mode paysage.

  Si deux pages A4 sont combinées ensemble, elles sont mises à l'échelle, tournées de 90 degrés et réarrangées sur une page A4 en mode paysage.

1 page + copie --> A4

  met une page et une copie ensemble dans une page A4.

  Si la page à copier est de dimension A4, elle sera redimensionnée pour s'adapter à la page.

2 pages --> A4

  combine deux pages consécutives sur une page. Si deux pages A5 sont combinées ensemble, elles sont tournées de 90 degrés et réarrangées sur une page A4 en mode paysage.

  Si deux pages A4 sont combinées ensemble, elles sont mises à l'échelle, tournées de 90 degrés et réarrangées sur une page A4 en mode paysage.

2 pages (paysage) --> A4

  Met deux pages consécutives en mode paysage ensemble sur une page A4.

4 pages -->A4

  combine quatre pages consécutives ensemble sur une page A4. Les pages doivent être redimensionnées pour s'adapter aux dimensions de la page.

4 pages (paysage) --> A4

  combine quatre pages consécutives en mode paysage sur une page A4. Les pages doivent être redimensionnées pour s'adapter aux dimensions de la page.

Sélectionner les pages paires

  Sélectionne toutes les pages paires d'un document.

Sélectionner les pages impaires

  Sélectionne toutes les pages impaires d'un document.

Sélectionner les pages paires (ordre inverse)

  Sélectionne toutes les pages paires d'un document et inverse l'ordre.

Sélectionner les pages impaires (ordre inverse)

  Sélectionne toutes les pages impaires d'un document et inverse l'ordre.

inverser toutes les pages

  Inverse toutes les pages d'un document.

déchiffrer un fichier

  Si le fichier PDF est chiffré, vous pouvez le déchiffrer.

Choisir les pages

  Ajoutez une liste de pages séparées par des virgules, ou une plage de pages, par exemple 1,4-7,9. Seules ces pages apparaîtront dans le PDF résultant.

Supprimer des pages

  Ajoutez une liste de pages séparées par des virgules, ou une plage de pages, qui seront retirées du fichier PDF choisi.

Appliquer un filigrane en arrière plan

  Applique un filigrane PDF à l'arrière plan d'un fichier PDF unique. L'assistant utilise uniquement la première page du PDF pour le fond et l'applique à toutes les pages du PDF en entrée. Cette page est redimensionnée et orientée si nécessaire afin de l'adapter à la page.

appliquer une couleur d'arrière-plan

  Applique une couleur d'arrière plan à toutes les pages du document actuel. Ce ne peut être fait qu'une fois car la seconde couleur sera placée derrière la première couleur, et ne sera donc plus visible.

appliquer un tampon à l'avant plan

  Applique un tampon à l'avant plan en haut des pages du document PDF fourni en entrée. L'assistant n'utilise que la première page du document PDF du tampon, et l'applique à toutes les pages du PDF fourni en entrée. Cette page est redimensionnée et tournée si nécessaire pour l'ajuster à la page en entrée. Vous obtiendrez de meilleurs résultats si le tampon a un fond transparent.

pdftk : choisissez un paramètre

  Vous pouvez invoquer pdftk avec l'option de votre choix. Consultez le manuel pour la liste des options possibles.

pdfpages : choisissez un paramètre

  Vous pouvez invoquer pdfpages avec l'option de votre choix. Consultez le manuel pour la liste des options possibles.

### Propriétés

L'ajout, la modification et la suppression des propriétés ne sont possibles que si la commande pdftk est installée, et si Kile a été compilé avec la bibliothèque `libpoppler`.

Les métadonnées classiques des fichiers PDF incluent le titre du document, l'auteur, le sujet, les mots clés, le créateur, le producteur et les dates de création et de dernière modification.

### Permissions

L'ajout, la modification et la suppression des permissions ne sont également possibles que si la commande pdftk est installée.

Un mot de passe est nécessaire pour ajouter ou modifier ces paramètres du document. De plus, le PDF est chiffré pour verrouiller le contenu du fichier par ce mot de passe ou pour renforcer des restrictions plus laxistes imposées par l'auteur. Ainsi l'auteur peut permettre ou interdire de

- Imprimer les pages

- modifier les pages

- copier de texte et les images depuis les pages

- modifier ou ajouter des annotations

- remplir les formulaires avec des données

Modifier les permissions force toujours le chiffrement sur 128 bits de `Acrobat` 5 et 6, et nécessite également un mot de passe.

Mais gardez à l'esprit que le chiffrement et un mot de passe ne garantissent pas une sécurité réelle pour le PDF. Le contenu est chiffré, mais la clé est connue. Vous devriez plutôt considérer ceci comme une demande polie, mais ferme de respecter les souhaits de l'auteur.

Statistiques du document
Statistiques du document

## Statistiques du document

La boîte de dialogue des statistiques dans Fichier → Statistiques vous donne un aperçu des statistiques pour une sélection, un document ou un projet entier. Elle inclut le nombre de mots, de commandes ou d'environnements LATEX ainsi que le nombre de caractères de chaque type.

Les statistiques obtenues peuvent être copiées dans le presse-papiers sous forme de texte ou comme tableau LATEX joliment formaté

Lorsque vous sélectionnez un texte et ouvrez la boîte de dialogue des statistiques, vous obtenez les statistiques pour le texte actuellement sélectionné. Si vous ouvrez la boîte de dialogue sans sélectionner de texte, les statistiques affichées concernent tous les fichiers ouverts. Si vous souhaitez obtenir les statistiques pour le projet entier, vous pouvez utiliser Projet → Ouvrir tous les fichiers du projet pour ouvrir facilement et rapidement tous les fichiers sources de votre projet.

Une note d'avertissement doit cependant être faite concernant l'exactitude des nombres. Nous avons ajouté de la logique pour obtenir une bonne estimation, par exemple K\"uhler donne un mot et une commande, avec respectivement six et deux caractères. Mais il y a d'autres combinaisons dans lesquelles des parties de commandes sont comptées comme des mots et vice-versa. Notez que l'algorithme a été testé pour des langues similaires à l'anglais ou l'allemand. Ne prenez pas ces chiffres pour argent comptant. Si vous devez faire un rapport avec un nombre de mot ou de caractères exact, faites des tests pour vérifier si l'exactitude de Kile est satisfaisante pour vos besoins.

Chapitre 8. Balises spéciales dans LATEX
Balises spéciales dans LATEX

# Chapitre 8. Balises spéciales dans LATEX

## Utilisation de la bibliothèque de balises LATEX

LATEX dispose de milliers de balises pour les symboles et les caractères spéciaux. La façon la plus simple d'insérer ces balises est d'utiliser la barre de menu latérale, à gauche de la fenêtre de l'éditeur.

La barre de menu latérale

Les types suivants sont disponibles :

- Les plus souvent utilisés,

- Symboles de relation,

- Opérateurs,

- Flèches,

- Symboles mathématiques divers,

- Texte divers,

- Délimiteurs,

- Lettres grecques,

- Caractères spéciaux,

- Caractères cyrilliques,

- Personnalisé.

Les bulles d'aide des icônes affichent les commandes LATEX et les paquets additionnels nécessaires.

En appuyant sur Maj et en cliquant sur un symbole, `$\symbole$` sera inséré. De la même manière, en appuyant sur Ctrl, le symbole sera inséré entre accolades.

Si vous insérez une commande qui nécessite un paquet qui n'est pas inclus dans votre document LATEX, vous verrez un message d'alerte dans la fenêtre du journal.

La première liste de symboles contient les symboles les plus souvent utilisés. Les symboles insérés seront ajoutés à cette liste afin de pouvoir y faire référence rapidement et facilement. L'ordre des symboles n'est pas modifié lorsque de nouveaux symboles sont ajoutés, mais un compteur de référence est incrémenté. Si le nombre d'éléments dépasse 30, l'élément avec le compteur le plus faible est enlevé.

La liste des symboles personnalisés peut contenir vos propres symboles. Pour créer vos propres symboles, vous avez besoin du programme gesymb et du fichier `definitions.tex` disponibles dans le paquet des sources de kile. De plus, vous avez besoin d'un compilateur LATEX (quelle surprise) et de dvipng (version 1.7 et supérieures). La procédure consiste à créer un fichier LATEX avec `\input{definitions}` qui rend les commandes listées en dessous disponibles, et laisser `gesymb monsymbole.tex user` (qui appelle LATEX et dvipng) créer les icônes. Après les avoir copiés dans `$HOME/.kde/share/apps/kile/mathsymbols/user/` et avoir redémarré kile, vous pouvez utiliser vos propres symboles.

Les commandes suivantes sont définies dans `definitions.tex` :

- `\command[\optarg]{\symbole}` : inclut le symbole `\symbole` dans la liste des symboles, l'argument optionnel `\optarg` spécifie la commande que kile doit insérer. S'il n'est pas donné, la commande dans l'argument obligatoire est utilisée.

- `\mathcommand[\optarg]{\symbol}` : même chose que précédemment, sauf que la commande dans l'argument obligatoire est insérée en mode mathématique.

- `\pkgs[arg]{pkg}` : déclare que la commande donnée dans cette ligne nécessite le paquet LATEX `pkg` avec l'argument optionnel `arg`. Cette commande doit se situer en face de la commande `\command` et écrase toute spécification de paquet par l'environnement neededpkgs.

- `\begin{neededpkgs}[pkgs-args]{pkgs} ... \end{neededpkgs}`: a le même effet que précédemment, mais pour toutes les commandes qui se situent à l'intérieur.

Voici un exemple pour terminer :

    \documentclass[a4paper,10pt]{article}
    \usepackage{amssymb}
    \input{definitions}
    %
    \begin{document}
    \pagestyle{empty}
    %
    \begin{neededpkgs}{amssymb}
    \mathcommand{\surd}
    \pkgs{amsmath}\mathcommand[\ddddot{}]{\ddddot{a}}
    \mathcommand{\angle}
    \end{neededpkgs}
    \command{\"A}
    \mathcommand{\exists}
    \mathcommand[\stackrel{}{}]{\stackrel{abc}{=}}

    %\begin{neededpkgs}[russian,koi8-r,T2C,]{babel,inputenc,fontenc,mathtext}
    %
    %   \end{neededpkgs}
    % this would need to include the packages
    % \usepackage{mathtext}
    % \usepackage[T2C]{fontenc}
    % \usepackage[russian]{babel}
    % \usepackage[koi8-r]{inputenc}
    %  just to explain the format
    \end{document}

Utilisation des éléments bibliographiques
Utilisation des éléments bibliographiques

## Utilisation des éléments bibliographiques

`\bibitem` est une commande utilisée pour saisir une référence dans un environnement `thebibliography` dans votre document. La syntaxe pour utiliser `\bibitem` est `\bibitem[label]{key}`.

L'option `[label]` vous permet d'ajouter votre propre système de labels pour les éléments de la bibliographie. Si aucun label n'est défini, les éléments apparaîtront dans l'ordre numérique : [1], [2], [3], etc.

L'argument `{key}` est utilisé pour référencer et lier les commandes `\bibitem` et `\cite` ainsi que les informations qu'elles contiennent. La commande `\cite` contient le label associé avec le futur `\bibitem`, qui se trouve dans un environnement `thebibliography`, et contient les données de la référence. Deux `\bibitem` et `\cite` correspondant doivent avoir la même `{key}` ; le moyen le plus simple d'organiser les clés est d'utiliser le nom de l'auteur. Les secondes accolades dans l'environnement `thebibliography` correspond au label bibliographique le plus long que vous comptez utiliser. Ainsi, en insérant `{`machin`}`, cela signifie que tous vos labels sont plus court ou égaux à l'expression ``machin``. Si ce paramètre est mal réglé, l'indentation dans la bibliographie ne sera pas très esthétique.

La bibliographie est une section séparée de votre document principal, et un exemple de code pour la bibliographie ressemblerait à quelque chose comme ceci :

    \begin{thebibliography}{50}
            \bibitem{Simpson} Homer J. Simpson. \textsl{Mmmmm...donuts}. Evergreen Terrace Printing Co.,
                              Springfield, SomewhereUSA, 1998
    \end{thebibliography}

Ainsi, votre code source principal contiendra l'emplacement des informations liées aux `\bibitem` en utilisant `\cite`. Ce code source ressemble à :

    Ma thèse, sur la philosophie des Simpsons\copyright est inspirée de mon livre favori \cite{Simpson}.

Comme il est souvent difficile de se souvenir des clés de citation exactes lorsque vous avez de nombreuses références, Kile fournit un moyen facile d'insérer une citation. En utilisant LaTeX → Références → Cite, une liste de toutes les clés de citation s'affichera : choisissez la référence correcte et une citation sera insérée dans votre document. Pour mettre à jour la liste des clés, soit enregistrez le fichier, ou choisissez Modifier → Rafraîchir la structure ou appuyez sur F12. Si le complètement automatique est activé, Kile vous affichera la liste de toutes les étiquettes `bibitem` dès que vous ouvrez une commande `\cite`.

Le résultat dans la bibliographie de votre document devrait ressembler à quelque chose comme :

`[1] Homer J. Simpson. Mmmmm...donuts. Evergreen Terrace Printing Co., Springfield, SomewhereUSA, 1998.`

Kile peut également travailler avec les éditeurs BibTEX, comme KBibTEX, afin de faciliter la saisie des citations. Lorsqu'un fichier BibTEX est ajouté au projet, Kile vous aidera à insérer la commande de citation, comme décrit ci-dessus.

Chapitre 9. Menu utilisateur
Menu utilisateur

# Chapitre 9. Menu utilisateur

## Configuration

Kile prend en charge un menu configurable par l'utilisateur, qui apparaîtra comme une partie du menu de Kile. Ce menu peut être configuré à partir de la boîte de dialogue de configuration de Kile avec Configuration → Configurer Kile → Menu utilisateur.

Vous avez deux options pour placer ce menu :

- soit le menu Menu utilisateur apparaîtra dans la barre de menu principale entre les menus LaTeX , Assistant et l'assistant de configuration Modifier le menu utilisateur dans le menu Assistant

- ou les deux éléments apparaîtront en bas du menu LaTeX.

Les balises définies par l'utilisateur déjà existantes dans les anciennes versions de Kile sont automatiquement transformées dans le nouveau menu configurable par l'utilisateur. Les balises sont enregistrées dans un fichier appelé `usertags.xml` et comme tous les fichiers de définition de menu, elles peuvent être trouvées dans le dossier local du menu utilisateur de Kile : `KILE_APP_DIR/usermenu/`, par exemple `/home/user/.kde/share/apps/kile/usermenu/`.

Vous pouvez utiliser différents fichiers de définition de menu pour différentes tâches. Utilisez l'assistant du menu utilisateur Assistant → Modifier le menu utilisateur ou LaTeX → Modifier le menu utilisateur pour installer ou modifier un fichier de définition de menu.

Assistant
Assistant

## Assistant

Vous pouvez créer de nouveaux menus ou en modifier en utilisant un assistant de configuration de menu utilisateur confortable depuis Assistant → Modifier le menu utilisateur.

Sur la gauche, vous verrez une arborescence de menu. Tout comme dans un menu standard, trois types différents d'éléments de menu sont disponibles :

- des entrées de menu standard, qui sont assignées à une action,

- des sous-menus, qui contiennent d'autres éléments de menu,

- des séparateurs, pour obtenir une structure lisible de toutes les entrées.

Pour modifier ce menu, utilisez les six boutons sur le côté gauche. Des actions supplémentaires sont disponibles dans le menu contextuel des éléments de menu déjà existant.

Chaque élément de menu standard est assigné à une action parmi trois types possibles, où chacun d'eux dispose d'attributs différents qui peuvent être réglés :

- Texte : Kile vous donne la possibilité de faire vos propres balises. Une balise est similaire à un raccourci qui lance des commandes ou écrit des texte fréquemment utilisés. Par exemple, Monsieur Martin utilise souvent la phrase`Salut, j'ai été inséré…`. Cette balise sera insérée à la position courante du curseur chaque fois que cette action est appelée (voir ci-dessus). Les métacaractères sont également disponibles (voir Caractères de remplacement).

- Insérer le contenu d'un fichier : insère le contenu complet d'un fichier donné.

- Exécuter un programme : la sortie de ce programme peut être insérée dans un document ouvert. Le métacaractère `%M` est également disponible dans la ligne de commande de ce programme, puisque le texte sélectionné sera enregistré dans un fichier temporaire. Utilisez `%M` pour le nom de ce fichier temporaire.

Si une information importante pour une action est manquante, les éléments de menu sont colorés en rouge. Ce peut être par exemple in fichier inexistant.

ou un titre manquant pour l'entrée de menu, qui sera alors affichée avec des points d'interrogation comme `???`.

Si vous ouvrez le menu contextuel d'un tel élément de menu coloré en rouge, vous aurez une option supplémentaire pour obtenir des informations concernant l'erreur.

D'autres informations sont également disponibles en utilisant le bouton Qu'est-ce que c'est ? de la plupart des éléments graphiques.

Caractères de remplacement
Caractères de remplacement

## Caractères de remplacement

### Insérer du texte

Il y a quelques caractères de remplacement que vous pouvez utiliser dans vos balises : `%C`, `%B`, `%M`, `%E`, `%R` et `%T`.

- `%C` : ceci correspond à l'emplacement du curseur après l'insertion d'une balise définie par l'utilisateur.

- `%B` : sera remplacé par une puce (voir Puces).

- `%M` : sera remplacé par le texte sélectionné.

- `%E` : correspond à la profondeur de l'indentation du texte dans un environnement.

- `%R` : appellera une boîte de dialogue de référence pour choisir un label précédemment défini. Ceci peut être utilisé pour faire référence à un label prédéfini, que vous pouvez choisir dans une liste déroulante (voir aussi LaTeX → Références → ref ou LaTeX → Références → pageref).

- `%T` : appellera une boîte de dialogue de citation pour choisir une citation précédemment définie. Tout comme lorsqu'on utilise LaTeX → Références → cite, une liste contenant toutes les clés de citation apparaît.

Considérons un autre exemple, avec la macro suivante `\frac{%M}{%C}`. Nous sélectionnons d'abord un nombre dans notre texte, disons `42`. Maintenant, nous appelons cette macro et obtenons `\frac{42}{}` avec le curseur positionné dans la seconde paire d'accolades.

### Insérer le contenu d'un fichier

Si vous souhaitez insérer le contenu d'un fichier texte, vous pourriez utiliser les mêmes caractères de remplacement.

### Exécuter un programme

Si vous souhaitez exécuter un programme externe, seul `%M` pour le texte sélectionné est reconnu dans la ligne de commande. La sélection sera enregistrée dans un fichier temporaire et le caractère de remplacement `%M` sera remplacé par ce nom de fichier.

Un autre caractère de remplacement est `%`, qui est remplacé par le nom complet du document actuel sans l'emplacement. Ce nom consiste en tous les caractères dans le fichier jusqu'au dernier point (mais sans l'inclure).

Paramètre
Paramètre

## Paramètre

La plupart des entrées de menu disposent de paramètres supplémentaires explicites, qui peuvent être cochés. Si certains de ces paramètres ne sont pas disponibles pour certaines actions, ils sont désactivés.

Voici un exemple pour exécuter un programme externe :

Vous pouvez voir qu'un script `perl` est appelé, ce qui ne devrait pas fonctionner avec la sélection actuelle. Le paramètre Nécessite du texte sélectionné est coché pour s'assurer qu'il y a une sélection. La sortie de ce script sera insérée (Insérer la sortie du programme choisi) et remplacera la sélection actuelle (Remplacé le texte sélectionné), mais ne sera pas elle-même sélectionnée.

Bien sûr, vous pouvez également appeler vos propres programmes et scripts. Par exemple, vous choisissez une liste de nombres, séparés par des espaces, puis appelez un script ou un programme en Perl, qui transforme cette sélection en code LATEX pour une matrice. Quel que soit ce que vous avez en tête, vous pouvez le réaliser en utilisant les entrées de menu utilisateur suivantes.

Fichiers de définition de menu
Fichiers de définition de menu

## Fichiers de définition de menu

Vous pouvez installer différents menus à chaud pour différentes tâches. Lorsque vous appelez l'assistant de menu utilisateur, le fichier de définition du menu actuel est chargé. Si vous le modifiez et fermez la boîte de dialogue avec Ok, vos modifications seront enregistrées et installées comme le nouveau menu utilisateur. Fermer la boîte de dialogue avec Annuler annulera tous les changements.

Vous êtes également libre d'enregistrer le fichier modifié dans le dossier des menus utilisateurs ou de charger un autre fichier de définition de menu et de l'installer. Tous les fichiers de définition de menu doivent être enregistrés dans le dossier des menus utilisateurs local de Kile : `KILE_APP_DIR/usermenu/`.

Regardez le fichier de définition de menu d'exemple `example.xml` pour voir davantage d'entrées de menu et leurs paramètres.

Chapitre 10. Les outils de compilation
Les outils de compilation

# Chapitre 10. Les outils de compilation

## Compiler, convertir, afficher

Pour afficher le résultat de votre travail, vous devez d'abord compiler le source. Tous les outils de compilation sont groupés dans les menus Compilation → Compiler, Compilation → Convertir et Compilation → Afficher.

Pour compiler votre code source pour un affichage à l'écran avec Okular ou pour d'autres conversions, vous pouvez utiliser le raccourci Alt+2. Vous pouvez alors voir le fichier DVI en utilisant votre afficheur par défaut avec Alt+3, convertir le DVI en fichier PS avec Alt+4, et voir le fichier PS avec Alt+5.

### BibTEX

Si vous utilisez BibTEX pour vos éléments de bibliographie, vous devez souvent suivre un processus de compilation spécial : appeler LATEX, puis BibTEX, et encore LATEX deux fois. Heureusement, Kile est suffisamment intelligent pour détecter automatiquement s'il est nécessaire d'appeler des outils supplémentaires comme BibTEX, makeidx et Asymptote. Cette logique est activée par défaut, et ceci peut être modifié dans Configuration → Configurer Kile... → Outils+Compilation dans l'onglet Général des outils LATEX et PDFLATEX.

### MetaPost et Asymptote

Si vous souhaitez compiler votre document avec MetaPost ou Asymptote, des programmes de dessin, vous pouvez le faire avec Compilation → Compiler → Metapost ou Compilation → Compiler → Asymptote.

### PDFLATEX

Il y a un autre moyen de compiler votre document, si vous voulez un PDF : vous pouvez exécuter PDFLATEX, qui compilera le source pour générer directement un fichier PDF, avec Alt+6. Vous pouvez ensuite voir le fichier compilé en appuyant sur Alt+7.

Vous pouvez également convertir un fichier PS en PDF avec Alt+8, ou directement un fichier DVI en PDF avec Alt+9.

Utiliser PDFLATEX plutôt que LATEX peut être juste une question de simplicité ou d'habitude, mais quelquefois, le comportement des deux programmes peut différer.

### LATEX vers le Web

Enfin, vous pouvez publier votre travail sur le web, et pas uniquement sur papier. Vous pouvez alors utiliser pour cela le programme latex2html, qui peut être appelé depuis le menu de Kile Compilation → Compiler → LaTeX to Web. Le résultat sera placé dans un sous-dossier du dossier de travail, et vous pourrez voir le résultat de la conversion en choisissant l'élément de menu Compilation → Afficher → View HTML.

### Passer des arguments en ligne de commande

Si vous souhaitez passer des arguments spécifiques en ligne de commande pour les outils de compilation, de conversion ou d'affichage, vous pouvez configurer leurs appels dans Configuration → Configurer Kile... → Outils+Compilation.

Prévisualisation rapide
Prévisualisation rapide

## Prévisualisation rapide

Vous aurez toujours besoin de voir le résultat lorsque vous travaillez avec LATEX. LATEX doit compiler le source, et l'afficheur doit ensuite être appelé. Ceci peut être ennuyant si vous n'avez modifié que quelques lettres dans une équation difficile à saisir. Kile offre un mode Prévisualisation rapide, dans lequel vous pouvez ne compiler qu'une partie du document et gagner ainsi beaucoup de temps. Il gère quatre modes différents, qui peuvent être combinés avec sept configurations.

Tous les réglages doivent être faits dans Configuration → Configurer Kile... → Outils+Prévisualisation.

### Mode sélection

L'utilisateur doit choisir une partie du document. L'élément de menu Compiler → Prévisualisation rapide → Sélection ou le raccourci clavier Ctrl+Alt+P, S démarrera les programmes choisis. Kile prend le préambule du texte original, afin que tous les paquets et les commandes définies par l'utilisateur soient incluses. L'utilisateur peut choisir une des huit configurations prédéfinies :

- LaTeX+DVI (afficheur embarqué),

- LaTeX+DVI (Okular),

- LaTeX+PS (afficheur embarqué),

- LaTeX+PS (Okular),

- PDFLaTeX+PDF (afficheur embarqué),

- PDFLaTeX+PDF (Okular),

- XeLaTeX+PDF (afficheur embarqué),

- XeLaTeX+PDF (Okular).

Cela devrait être suffisant pour toutes les situations dans lesquelles la prévisualisation est nécessaire.

### Mode environnement

Souvent, vous souhaitez prévisualiser l'environnement courant, tout particulièrement dans les environnements mathématiques, qui sont parfois difficiles à écrire. Kile vous offre un moyen très rapide de faire cela. Aucune sélection n'est nécessaire, choisissez juste Compilation → Prévisualisation rapide → Environnement ou le raccourci clavier Ctrl+Alt+P, E et l'environnement courant sera compilé et affiché.

### Mode sous-document

Si vous avez un gros projet avec beaucoup de documents, la compilation de l'ensemble du projet n'est pas une bonne idée si vous n'avez fait de changements que sur un document. Kile est capable de compiler et afficher le sous-document en cours. Il prend le préambule du document maître, et ne compile que la partie actuelle lorsque vous choisissez Compilation → Prévisualisation rapide → Sous-document ou le raccourci clavier Ctrl+Alt+P, D.

### Mode groupe mathématiques

Le mode de prévisualisation groupe mathématique vous permet d'avoir un aperçu du groupe mathématique sur lequel vous travaillez actuellement. Kile prend le préambule du document maître, et ne compile que le groupe mathématique dans lequel se trouve le curseur lorsque vous choisissez Compilation → Prévisualisation rapide → Groupe mathématiques ou le raccourci clavier Ctrl+Alt+P, M.

### Prévisualisation rapide dans la barre du bas

Au lieu d'afficher l'aperçu dans un nouveau document, Kile peut également être configuré pour utiliser la barre du bas pour les compilations des aperçus. Vous pouvez activer cette caractéristique dans le panneau de configuration de la prévisualisation rapide.

Formats de fichiers graphiques
Formats de fichiers graphiques

## Formats de fichiers graphiques

### LATEX et PDFLATEX

PDFLATEX, lorsqu'il est utilisés avec les paquets `graphics` ou `graphicx`, peut compiler correctement des fichiers PNG et JPG en DVI ou PDF, mais ne peut pas gérer les fichiers EPS. Inversement, la compilation avec LATEX pour produire un DVI, puis le convertir en PS et éventuellement en PDF prend en charge les EPS, mais ne reconnaît pas les PNG et JPG.

Beaucoup d'utilisateurs souhaitent créer des documents PDF, mais veulent également utiliser l'excellent paquet Pstricks pour créer des graphiques PostScript®, ou veulent utiliser la sortie PostScript® de logiciels mathématiques ou scientifiques comme Mathematica, Maple ou MuPAD. Ces utilisateurs de LATEX doivent d'abord compiler en PostScript®, même s'ils souhaitent créer un document PDF, parce que ces programmes produisent du code PostScript® qui ne peut pas être géré par PDFLATEX. Cependant, ce n'est pas si compliqué que ça parce que Kile vous aidera.

### Conversion de graphiques

Pour régler ce problème, lorsque vous souhaiterez inclure à la fois du code PostScript® et des fichiers PNG ou JPG, vous avez plusieurs solutions :

- Si vous avez besoin d'un fichier au format PS, mais avez des images en JPG ou PNG, vous pouvez également utiliser PDFLATEX avec la sortie DVI d'abord, puis ensuite exécuter dvips pour créer le fichier PS. Vous voyez que PDFLATEX est un très bon choix, si votre source ne contient aucun code PostScript®.

- Vous pouvez convertir les fichiers EPS en PNG ou autres formats avec des utilitaires comme Gimp ou ImageMagick et utiliser PDFLATEX.

- Un des meilleurs moyens est de convertir les graphiques EPS en graphiques PDF avec eps2pdf, qui est fourni avec toutes les distributions TEX, et ensuite utiliser PDFLATEX. Il produit des graphiques de grande qualité, et vous pouvez même contrôler le résultat avec quelques unes des options suivantes :

      -dAutoFilterColorImages=false
              -dAutoFilterGrayImages=false
              -sColorImageFilter=FlateEncode
              -sGrayImageFilter=FlateEncode
              -dPDFSETTINGS=/prepress
              -dUseFlateCompression=true

  Encore mieux : si votre système permet les `shell-escape`, la conversion peut se faire à la volée. Tout ce que vous avez à faire est d'inclure le paquet epstopdf, qui fait partie de toutes les distributions TEX, avec la commande `\usepackage{epstopdf}`. Supposons que votre code est :

              \includegraphics[width=5cm]{test.eps}

  Lorsque vous appellerez PDFLATEX avec l'option `--shell-escape`, le graphique `test.eps` sera automatiquement converti en `test.pdf`.

  Cette conversion aura lieu chaque fois que vous exécutez PDFLATEX. Si votre commande d'inclusion de graphique est implicite :

              \includegraphics[width=5cm]{test}

  epstopdf vérifie si `test.pdf` est déjà disponible, de façon à ne pas refaire la conversion.

- Vous pouvez convertir d'autres manières, et utiliser LATEX et les conversions PS-PDF. Ce n'est pas toujours une bonne idée, puisque l'encapsulation EPS de JPG ou de PNG ne gère pas les gros fichiers, qui en revanche mènent à des documents inutilement gros. Ceci dépend cependant grandement de l'utilitaire graphique que vous avez utilisé, puisque l'EPS peut encapsuler d'autres graphiques, mais toutes les applications ne gèrent pas ça parfaitement. Certaines tenteront de construire votre image JPG avec des vecteurs et des scripts divers, ce qui résultera en un fichier gigantesque. La conversion de tous les formats graphiques en EPS peut être réalisée par ImageMagick. Un autre programme simple qui fait cela correctement est jpg2ps.

- Vous pouvez également utiliser une conversion automatique. Tous les fichiers graphiques sont convertis à la volée en EPS, et insérés dans le document PS. C'est un moyen confortable mais vous devez configurer votre environnement correctement. Ceci est discuté dans la section graphiques EPS.

### Utiliser le bon fichier pour le bon graphique

- EPS est une sorte de langage de script vectoriel graphique, décrivant toutes les lignes et les points constituant le graphique. Le graphique reste correct même si vous augmentez ses dimensions, et convient le mieux pour les diagrammes et les graphiques vectoriels produits nativement en EPS, qui sont très propres et nets tout en conservant une taille réduite.

- PNG (ou l'ancien GIF) est un format de fichier sans pertes, avec une bonne compression et une bonne qualité. Il est très bon pour les diagrammes, les dessins numérisés. Il est parfois contreproductif lorsqu'utilisé pour des photos.

- JPG est un format avec pertes, qui compresse mieux les fichiers que le format PNG, au prix d'une baisse de qualité dans les détails de l'image. C'est la plupart du temps négligeable pour les photos, mais peut entraîner une mauvaise qualité d'image pour les diagrammes, les dessins, et peut même faire disparaître directement les lignes fines. Dans ce cas, utilisez EPS ou PNG.

Mais souvenez-vous, mauvaises données à l'entrée, mauvais résultats à la sortie. Aucune conversion ne rendra belle une image de mauvaise qualité.

Graphiques EPS
Graphiques EPS

## Graphiques EPS

Les fichiers graphiques EPS sont le moyen traditionnel d'insérer des fichiers graphiques dans des documents LATEX. Comme les listes de discussions sont pleines de questions concernant les graphiques EPS, vous discuterons des aspects importants et montreront comment Kile les gère.

### LATEX et les graphiques EPS

Si vous avez décidé d'utiliser le traditionnel LATEX pour produire une sortie PS ou PDF, vous rencontrerez probablement des problèmes avec les graphiques. Vous devez utiliser les graphiques EPS (PostScript® encapsulé ; pas de fichiers JPEG ou PNG. Ce ne devrait pas être un problème, puisqu'il y a beaucoup de convertisseurs, comme convert de l'excellent paquet ImageMagick. Mais cela demande du temps, bien sûr.

Les fichiers EPS sont utilisés à la fois par LATEX et par le convertisseur DVI-PS :

- LATEX balaye le fichier EPS à la recherche des bords de l'image, qui lui indiquent l'espace à réserver au graphique.

- Le convertisseur DVI-PS lit alors le fichier EPS et insère le graphique dans le fichier PS.

Ceci a quelques implications :

- LATEX ne lit jamais les fichiers EPS si les paramètres des bords sont spécifiés dans la commande d'insertion des graphiques.

- Comme LATEX ne peut pas lire les fichiers non ASCII, il ne peut pas lire les informations sur les bords de l'image dans des fichiers graphiques compressés ou non EPS.

- Les fichiers graphiques EPS ne sont pas inclus dans le fichier DVI. Comme les fichiers EPS doivent être présent lorsque le fichier DVI est converti en PS, les fichiers EPS doivent accompagner les fichiers DVI lorsqu'ils sont déplacés.

Maintenant vous pouvez appeler LATEX et un convertisseur DVI-PS comme dvips pour créer votre document PostScript®. Si vous souhaitez produire au final un document PDF, vous devrez exécuter dvips avec l'option `-Ppdf` et ensuite appeler ps2pdf. Vous trouverez beaucoup de documents décrivant cette solution.

### Gestion du PostScript® par Kile

Kile vous aide à obtenir les informations sur les dimensions de l'image. Si vous avez installé le paquet ImageMagick, Kile va extraire ces informations du fichier EPS et l'insérera comme option. Ceci est fait automatiquement lorsque vous choisissez le fichier graphique. Il y a deux avantages à procéder ainsi :

- les informations sont déjà renseignées dans la boîte de dialogue, et LATEX n'aura plus à les retrouver plus tard,

- encore plus important, les largeur et hauteur de l'image peuvent être calculées, lorsque la résolution est connue. Ces informations sont affichées vers le haut de la boîte de dialogue, et peuvent vous aider lorsque vous voulez changer l'échelle des graphiques.

- Kile peut également gérer les fichiers EPS compressés avec zip ou gzip, qui sont plus petits que les fichiers EPS non compressés. Mais cette caractéristique ne peut être utilisée qu'avec une configuration spéciale du système, et une modification locale de la configuration des graphiques, comme cela est décrit dans la section Graphiques bitmap.

### La gestion du PostScript® et les images bitmap

Si votre système permet les `shell-escape`, Kile dispose également d'un moyen facile d'inclure des graphiques bitmap, si vous configurez votre système TEX correctement. Il n'y a pas besoin de convertir les graphiques JPEG ou PNG, ceci peut être fait automatiquement lorsque le fichier DVI est converti en PS.

LATEX a besoin d'informations sur les suffixes des fichiers. Le paquet `graphicx` cherche un fichier `graphics.cfg`, qui doit être quelque part dans votre chemin de recherche des documents LATEX. Cherchez des éléments comme :

    \DeclareGraphicsRule{.pz}{eps}{.bb}{}%
       \DeclareGraphicsRule{.eps.Z}{eps}{.eps.bb}{}%
       \DeclareGraphicsRule{.ps.Z}{eps}{.ps.bb}{}%
       \DeclareGraphicsRule{.ps.gz}{eps}{.ps.bb}{}%
       \DeclareGraphicsRule{.eps.gz}{eps}{.eps.bb}{}%

et remplacez ces lignes par :

    \DeclareGraphicsRule{.pz}{eps}{.bb}{}%
       \DeclareGraphicsRule{.eps.Z}{eps}{.eps.bb}{}%
       \DeclareGraphicsRule{.ps.Z}{eps}{.ps.bb}{}%
       \DeclareGraphicsRule{.ps.gz}{eps}{.ps.bb}{}%
       % changed or new graphic rules
       \DeclareGraphicsRule{.eps.zip}{eps}{.eps.bb}{`unzip -p #1}%   zipped EPS
       \DeclareGraphicsRule{.eps.gz}{eps}{.eps.bb}{`gunzip -c #1}%   gzipped EPS
       \DeclareGraphicsRule{.jpg}{eps}{}{`convert #1 eps:-}%         JPEG
       \DeclareGraphicsRule{.gif}{eps}{.bb}{`convert #1 eps:-}%      GIF
       \DeclareGraphicsRule{.png}{eps}{.bb}{`convert #1 eps:-}%      PNG
       \DeclareGraphicsRule{.tif}{eps}{.bb}{`convert #1 eps:-}%      TIFF
       \DeclareGraphicsRule{.pdf}{eps}{.bb}{`convert #1 eps:-}%      PDF-graphics

Vous trouverez ce fichier, par exemple dans Debian, dans `/etc/texmf/latex/graphics.cfg`. Le meilleur moyen de procéder est de copier ce fichier dans votre texpath local et ensuite modifier cette copie. Consultez le manuel de votre distribution TEX pour apprendre comment obtenir la liste de vos dossiers TEX.

Avec ce fichier de configuration, vous pourrez insérer des graphiques bitmap et des fichiers compressés avec zip ou gzip dans LATEX. La commande pour la conversion est donnée par dvips. Lorsque vous regardez la commande de conversion, vous verrez qu'aucun fichier supplémentaire n'est créé. Le résultat du processus de conversion est directement redirigé dans le fichier PS. La seule chose que LATEX doit connaître est la taille des graphiques, et donc nous avons besoin des dimensions de l'image, qui est fournie par Kile.

Certains disent que cette façon de procéder est dangereuse ; vous devez décider de votre façon de travailler. Dans tous les cas, vous n'avez pas besoin des dimensions, puisque Kile extrait ces informations depuis tous les types de graphiques.

### PDFLATEX et les graphiques EPS

Comme nous l'avons déjà vu, PDFLATEX n'est pas capable de gérer les fichiers graphiques EPS, mais des convertisseurs comme epstopdf peuvent aider. Le meilleur est d'inclure le paquet `epstopdf`, qui doit suivre le paquet `graphicx`.

    \usepackage[pdftex]{graphicx}
       \usepackage{epstopdf}

Maintenant, vous pouvez inclure des graphiques EPS, si vous lancez la commande pdflatex avec l'option `--shell-escape`, mais nous pouvons faire encore mieux et gérer également les fichiers EPS compressés avec zip ou gzip. Encore une fois, nous devons modifier le fichier de configuration `graphics.cfg` comme précédemment. Cette fois nous cherchons :

    % pdfTeX is running in pdf mode
       \ExecuteOptions{pdftex}%

et ajoutons simplement quelques lignes :

    % pdfTeX is running in pdf mode
       \ExecuteOptions{pdftex}%
       \AtEndOfPackage{%
          \g@addto@macro\Gin@extensions{.eps.gz,.eps.zip}%
          \@namedef{Gin@rule@.eps.gz}#1{{pdf}{.pdf}{`gunzip -c #1 | epstopdf -f
    >\Gin@base.pdf}}%
          \@namedef{Gin@rule@.eps.zip}#1{{pdf}{.pdf}{`unzip -p #1 | epstopdf -f
    >\Gin@base.pdf}}%
       }%

Avec ces lignes, PDFLATEX peut maintenant gérer les fichiers EPS, et heureusement, il ne devrait plus y avoir de problèmes avec les fichiers graphiques.

Document maître
Document maître

## Document maître

En définissant votre document comme document maître, vous pouvez travailler avec des fichiers séparés, ce qui vous donne un document parent (ou un document maître), et des documents enfants. Après avoir défini votre document maître, avec la commande correspondante dans le menu Configuration, toutes les commandes du menu Outils ne s'appliqueront qu'à ce document, même si vous travaillez sur les documents enfants. Vous pouvez même fermer le document maître.

Gestion des erreurs
Gestion des erreurs

## Gestion des erreurs

Après avoir compilé quelque chose, Kile jette un œil aux messages d'erreur qui ont été générés. S'il y a des erreurs ou des alertes, elles seront reportées brièvement dans la fenêtre Journal et messages. On peut regarder de plus près les messages en choisissant Compilation → Voir le fichier du journal, ou en utilisant le raccourci clavier Alt+0. Le fichier journal généré est alors affiché dans la fenêtre Journal et messages, les erreurs et les alertes sont surlignées.

Affichage du journal

Vous pouvez facilement passer d'un message du journal à un autre en utilisant les éléments de menu Compilation → Erreur / avertissement LaTeX suivant / précédent, ou en utilisant les boutons de la barre d'outils correspondant.

Pour aller à la ligne du code source LATEX où l'erreur ou l'avertissement s'est produit, cliquez sur l'erreur ou l'avertissement dans la fenêtre Journal et messages. Kile vous emmènera automatiquement à la ligne en question.

Le mode surveillance fichier
Le mode surveillance fichier

## Le mode surveillance fichier

Lorsque vous lancez la commande QuickBuild, un afficheur est normalement appelé après la compilation. Si vous n'utilisez pas d'afficheur intégré, une nouvelle fenêtre s'affichera à chaque fois.

Si vous ajustez l'apparence de votre document, vous lancez probablement très souvent QuickBuild, et aurez par conséquent beaucoup de fenêtres ouvertes sur votre bureau. Pour éviter la confusion, vous pouvez activer le mode surveillance fichier, qui empêchera QuickBuild de lancer un afficheur.

Ce mode est bien sûr inutile avec les afficheurs intégrés, puisque vous devez les fermer de toutes façons pour revenir à l'édition du document pour recompiler.

Chapitre 11. Naviguer dans le source LATEX
Naviguer dans le source LATEX

# Chapitre 11. Naviguer dans le source LATEX

## Utiliser l'affichage de la structure

L'affichage de la structure montre la hiérarchie du document créé par Kile, et vous permet de naviguer rapidement à l'intérieur de celui-ci, mettant en évidence sa segmentation. Pour naviguer dans votre document, tout ce que vous avez à faire est de cliquer sur un label, un chapitre, une section, sous-section, etc., et vous irez au début de la zone correspondante.

Si vous avez inclus un fichier LATEX séparé dans votre source en utilisant les balises `\input` ou `\include`, ces fichiers seront référencés dans l'affichage de la structure. En double-cliquant sur leur nom, Kile affichera le fichier inclus dans la fenêtre de l'éditeur.

L'arbre hiérarchique possède également une branche séparée pour les labels utilisés dans le texte.

### Utilisation du menu contextuel

La plupart des éléments de l'affichage de la structure disposent de beaucoup d'entrées dans le menu contextuel, que vous pouvez ouvrir avec un clic avec bouton droit de la souris. Regardez l'affichage de la structure dans la figure suivante.

Vous y trouverez des labels, des éléments de structuration, deux environnements figure et trois images. Si vous cliquez avec le bouton droit de la souris sur un élément de structuration, un menu contenant des commandes utiles surgira. Toutes les commandes comme Sélectionner, Supprimer ou Commenter agiront sur toute les lignes qui appartiennent à cette section.

En cliquant sur une figure ou une table, des actions concernant les références seront disponibles, et un clic droit sur un élément de type graphique donnera accès à plusieurs programmes pour ouvrir le graphique.

### Mise à jour de l'affichage de la structure

Pour mettre à jour l'affichage de la structure, vous pouvez soit aller dans Modifier → Rafraîchir la structure, appuyer sur F12, ou enregistrer votre document. Kile mettra alors à jour l'affichage de la structure.

Signets
Signets

## Signets

Les signets font référence à un segment de texte ou une ligne dans l'environnement de Kile. Pour utiliser un signet, choisissez une ligne spécifique dans votre document à laquelle vous voudrez retourner, et appuyez sur Ctrl+B, et Kile ajoutera un signet pour cette ligne. Vous pouvez également placer un signet en surlignant une ligne et en choisissant le menu étiqueté Signets → Définir un signet.

Pour enlever tous vos signets, choisissez Signets → Effacer tous les signets.

Chapitre 12. Projets
Projets

# Chapitre 12. Projets

## Travailler avec les projets

Dans Kile, vous pouvez créer et travailler avec des projets. Un projet est un groupe de fichiers LATEX, images, BibTEX, ou autre fichier qui contient toutes les informations utilisées pour construire votre document complet. Un projet typique serait un document consistant en plusieurs chapitres, écrits dans différents fichiers `.tex`. Tous peuvent être inclus dans un projet, afin de faciliter la gestion du document entier. Les spécifications du projet sont placées dans un fichier spécifique, avec l'extension `.kilepr`.

Un projet ajoute les fonctionnalités suivantes :

- vous n'avez pas à définir de document maître, Kile le fait automatiquement,

- les fichiers du projet peuvent être facilement archivés ensemble depuis Projet → Archiver,

- l'affichage Fichiers et projets montre quels fichiers sont inclus dans le projet,

- après avoir ouvert un projet, tout fichier qui avait été précédemment ouvert sera restauré avec l'encodage et la coloration syntaxique d'origine,

- le complètement du code fonctionne dans tous les fichiers du projet,

- le complètement des références fonctionne dans tous les fichiers du projet,

- le complètement des citations fonctionne dans tous les fichiers du projet,

- il est possible de chercher du texte dans tous le projet,

- il est possible de spécifier des commandes de compilation et makeidx personnalisées.

Vous pouvez trouver toutes les commandes relatives dans le menu Projets. D'ici, vous pouvez ouvrir, fermer et gérer vos projets.

Créer un projet
Créer un projet

## Créer un projet

Pour créer un projet, choisissez Projet → Nouveau projet....

On vous demandera de donner les informations suivantes pour créer votre projet :

- le titre du projet (champ texte Titre du projet),

  Le titre du projet sera utilisé pour créer le nom du fichier projet en le passant en minuscules et en ajoutant l'extension `.kilepr`,

- un dossier dans lequel les fichiers du projet seront stockés (champ texte Dossier du projet),

- Si vous souhaitez créer un nouveau fichier principal pour le projet, cochez l'élément Créer un nouveau fichier et l'ajouter au projet).

- Lorsque vous remplissez la boîte nom de fichier, vous devez inclure un emplacement relatif depuis lequel le fichier de projet `.kilepr` est stocké (voir l'élément Dossier du projet).

- Le type du fichier créé, Fichier vide, Article, Book, Letter, Report, etc. peut être choisi dans la liste d'icônes en bas du panneau Fichier.

- Les extensions pour les fichiers par défaut dans le projet peuvent être choisies en utilisant le panneau Extensions. Votre choix sera utilisé pour définir les fichiers qui doivent être ouverts lorsque vous choisissez l'élément de menu Projet → Ouvrir tous les fichiers du projet, ainsi que dans les assistants de Kile. Les extensions dans la zone de texte doivent être séparées par des espaces.

L'affichage Fichiers et projets
L'affichage Fichiers et projets

## L'affichage Fichiers et projets

L'affichage Fichiers et projets est un bouton de la barre latérale. Depuis cet affichage, vous pouvez voir la structure de votre projet, ses fichiers, et le nom du fichier `.kilepr` qui contient les informations sur le projet. L'ajout, la suppression ou la modification des options dans votre projet sont faits via l'affichage Fichiers et projets.

L'affichage fichiers et projets

Ajouter et enlever des fichiers
Ajouter et enlever des fichiers

## Ajouter et enlever des fichiers

Pour ajouter un fichier à votre projet, ouvrez un fichier TEX, faites un clic droit sur son nom dans l'affichage Fichiers et projets, et choisissez Ajouter au projet. Si vous avez ouvert plusieurs projets, une boîte de dialogue apparaîtra, dans laquelle vous pouvez spécifier le projet auquel le fichier doit être ajouté.

Vous pouvez également cliquer avec le bouton droit de la souris sur le nom du projet dans l'affichage Fichiers et projets..., et choisir Ajouter des fichiers... afin de faire apparaître la boîte de dialogue de sélection de fichiers.

Ajout d'un fichier à un projet

Pour supprimer un fichier d'un projet, cliquez dessus avec le bouton droit de la souris et choisissez Retirer du projet. Ceci ne supprime pas le fichier, mais le retire simplement de la liste des fichiers contenus dans le fichier `.kilepr`.

### Archivage de votre projet

Kile vous permet d'archiver facilement votre projet en enregistrant tous ses fichiers dans une archive unique (souvent connue sous le nom de tarball). Pour archiver votre projet, cliquez avec le bouton droit de la souris sur son nom dans l'affichage Fichiers et projets, ou choisissez Projet → Archiver.

Par défaut, tous les fichiers du projet sont ajoutés à l'archive. Si vous ne souhaitez pas inclure certains fichiers à l'archive, cliquez avec le bouton droit de la souris sur l'affichage Fichiers et projets et décochez l'option Inclure dans l'archive.

L'opération d'archivage est actuellement réalisée en exécutant la commande tar depuis le dossier du projet (là où est situé le fichier `.kilepr`).

Options du projet
Options du projet

## Options du projet

Kile dispose de quelques options liées à votre projet. Pour les modifier, cliquez avec le bouton droit de la souris sur le titre de votre projet, et choisissez Options du projet, et vous pourrez modifier :

- le titre du projet,

- Extensions par défaut des fichiers,

- le document maître,

- la commande de compilation rapide,

- les options de génération de l'index (makeidx).

Fermer un projet
Fermer un projet

## Fermer un projet

Pour fermer un projet, choisissez l'affichage Fichiers et projets depuis la barre d'outils verticale, cliquez avec le bouton droit de la souris sur le titre du projet, et ensuite choisissez Fermer. Ceci fermera le votre projet, tous les fichiers qui lui sont associés, et ajoutera le nom du projet que vous venez de fermer dans Projets récemment ouverts... dans le menu Projet.

Chapitre 13. Encodage des documents
Encodage des documents

# Chapitre 13. Encodage des documents

L'éditeur Kile vous permet de lire, convertir et enregistrer du texte dans l'encodage requis par votre document. Avec ceci, il est possible par exemple d'utiliser des caractères accentués utilisés fréquemment en italien ou en français, directement dans vos documents LATEX. Choisir l'encodage de votre document peut être réalisé de deux manières :

- un moyen de régler l'encodage du document consiste à utiliser le sous-menu Configuration → Configurer Kile... → Éditeur, où vous pouvez régler l'encodage des caractères pour tous les fichiers.

- un second moyen de régler l'encodage pour un document est de choisir l'encodage dans l'assistant de création d'un nouveau document.

LATEX lui-même ne comprend que l'ASCII, qui représente un jeu de caractères très limité. Par conséquent, il n'est pas possible d'utiliser directement les caractères accentués. Pour les utiliser tout de même, une syntaxe spéciale a été inventée : comme par exemple `\"e` pour `ë`. Le paquet inputenc, est disponible pour vous aider. Il est inclus dans le préambule en utilisant `\usepackage[latin1]{inputenc}`, où l'argument optionnel spécifie l'encodage que vous souhaitez utiliser (dans la plupart des cas, `utf8`). Ceci demande à LATEX de traduire tous les `ë` que vous avez saisis en `\"e` avant de compiler. Veuillez consulter la documentation concernant inputenc pour davantage d'informations. Pour terminer, assurez-vous que votre fichier est réellement enregistré dans le même encodage que celui que vous avez indiqué pour le paquet inputenc !

Cette multitude de tables de codage de caractères est la source de nombreux problèmes. Par exemple, nous ne pouvez bien évidemment pas écrire un cours de turc en français sans perdre les caractères spéciaux d'une langue. Il est généralement admis qu'à terme, tout le monde passera à Unicode. Il y a plusieurs implantations d'Unicode, et UTF-8 est le plus célèbre sous Linux®. Windows®(R) repose plutôt sur le maladroit et peu flexible UCS-2. La plupart des distributions ont déjà commencé à régler leur encodage par défaut à UTF-8, et donc vous serez probablement très intéressé par l'argument `utf8` du paquet `inputenc`.

## Le paquet ucs

Si le paquet ucs n'est pas installé, vous pouvez procéder comme suit :

- procurez-vous le paquet ucs depuis le CTAN,

- pour l'installer, décompressez le fichier téléchargé et placez-le dans un dossier listé dans votre variable d'environnement `TEXINPUTS`. Ceci peut également être réglé depuis Kile.

    \usepackage{ucs}
    \usepackage[utf8]{inputenc}

XeLaTeX
XeLaTeX

## XeLaTeX

Si vous utilisez `XeLaTeX`, vous pouvez simplement charger le paquet `xltxtra`. Celui-ci chargera également les paquets requis.

    \usepackage{xltxtra}

Gestion de CJK
Gestion de CJK

## Gestion de CJK

Ajouter la gestion des langues idéographiques est un peu compliqué. Cependant, une fois que c'est fait, ça fonctionnera plutôt bien. En plus d'installer des paquets, il y a quelques configurations supplémentaires à faire.

### Astuce

Votre distribution Linux® contient probablement déjà le paquet CJK (chinois, japonais, coréen), donc vous devriez échapper à l'obstacle de l'installation manuelle. Vérifiez avant d'aller plus loin !

Il est possible d'utiliser le paquet ucs pour écrire quelques fragments courts de texte CJK, mais cette option est sérieusement limitée car ça ne prend pas en compte, entre autres, les nouvelles lignes. Nous installerons plutôt le paquet CJK-LATEX complet et le ferons fonctionner à la fois avec LATEX et PDFLATEX. Beaucoup de ce contenu a été inspiré par la page de configuration de PDFLATEX de Pai H. Chou.

1. Téléchargez le paquet CJK. Copiez ses fichiers décompressés dans un sous-dossier approprié de $`TEXMF`, tout comme vous l'avez fait précédemment pour le paquet ucs (voir Le paquet ucs). Les fichiers seront décompressés dans le dossier `CJK/X_Y.Z`. Il n'est pas important de les enlever, bien que ce soit probablement plus propre et plus facile à maintenir.

2. Maintenant, vous devez télécharger une police qui gère les caractères CJK dont vous avez besoin. Vous pouvez choisir n'importe quel fichier `*.ttf` qui fait l'affaire, mais dans cette explication, nous utiliserons Cyberbit. Décompressez le fichier et renommez-le de `Cyberbit.ttf` vers `cyberbit.ttf`, puisque les majuscule peuvent mettre le bazar dans votre système.

   Placez `cyberbit.ttf` dans un dossier avec `Unicode.sfd`, et générez les fichiers `*.tfm` et `*.enc` avec la commande `$ ttf2tfm cyberbit.ttf -w cyberbit@Unicode@`. Il arrive parfois que cela ne produise pas les centaines de fichiers attendus. Si c'est le cas, vous pouvez télécharger à la fois les fichiers `*.tfm` et `*.enc`.

   Placez les fichiers `*.tfm` dans un dossier approprié, disons `$`TEXMF`/fonts/tfm/bitstream/cyberbit/`. Les fichiers `*.enc` peuvent être installés dans `$`TEXMF`/pdftex/enc/cyberbit/`.

3. Maintenant nous avons besoin d'un fichier map pour connecter les fichiers `*.enc` à la police. Téléchargez `cyberbit.map` et installez-le dans `$`TEXMF`/pdftex/config/`.

4. Téléchargez un autre fichier, `c70cyberbit.fd`, et placez-le dans un dossier approprié. Vous pouvez choisir, par exemple, `$`TEXMF`/tex/misc/`.

5. Le dernier fichier que nous devons générer est la police PostScript® Type 1, nécessaire pour lire les fichiers DVI générés par LATEX. Lancez la commande `$ ttf2pfb cyberbit.ttf -o cyberbit.pfb`, et compilez le fichier `cyberbit.pfb` résultant dans un dossier comme `$`TEXMF`/fonts/type1/cyberbit/`.

6. Plaçons maintenant `cyberbit.ttf` parmi les fontes où LATEX peut les trouver. Vous pouvez le placer dans un dossier nommé `$`TEXMF`/fonts/truetype/`.

7. Vérifiez le fichier de configuration que vous trouvez dans `$`TEXMF`/web2c/texmf.cnf`, et assurez-vous que la ligne mentionnant `TTFONTS` est décommentée et pointe vers le dossier dans lequel vous avez enregistré `cyberbit.ttf`.

8. Afin que PDFLATEX puisse utiliser les fontes CJK, il est nécessaire que vous ajoutiez une ligne dans le fichier de configuration `$`TEXMF`/pdftex/config/pdftex.cfg`. Ajoutez `map +cyberbit.map` dans le fichier pour compléter la configuration pour PDFLATEX.

9. Pour configurer LATEX afin de produire des fichiers DVI avec les caractères CJK, vous devez ajouter une ligne dans le fichier `ttfonts.map`.. Le fichier doit se trouver dans un dossier nommé `$`TEXMF`/ttf2pk`, mais vous devrez probablement le chercher. Ajoutez-y la ligne `cyberbit@Unicode@ cyberbit.ttf`.

10. Maintenant, vous avez juste à lancer `texhash` et le système devrait être prêt.

Pour tester si votre configuration est correcte, vous pouvez essayer de compiler ce fichier de test.

### Problèmes avec CJK

Beaucoup de choses peuvent mal se passer lorsque vous ajoutez la gestion de CJK manuellement. Si quelque chose ne fonctionne pas, les vérifications suivantes peuvent peut-être vous aider.

- Évidemment, puisque vous exécutez LATEX comme utilisateur et non en superutilisateur, vous devez permettre aux utilisateurs d'accéder aux nouveaux fichiers. Assurez-vous que tous les dossiers et fichiers sont accessibles en utilisant la commande chmod.

- Si LATEX écrit un DVI sans problèmes, mais ne peut pas l'afficher, il est fort probable qu'il y ait des problèmes avec la génération automatique des fontes `*.pk`. Elles sont supposées être générées à la volée lorsqu'un fichier DVI est affiché, mais ceci peut échouer pour nombre de raisons : revérifiez votre ligne personnalisée dans `ttfonts.map` d'abord. Cependant, il est possible que votre commande ttf2pk, qui est habituellement invoquée par le lecteur DVI, a été compilé sans la gestion des bibliothèques kpathsea. Si c'est le cas, `ttf2pk `--version`` ne mentionnera pas kpathsea. Étant donné que la gestion de ces bibliothèques est nécessaire, vous devrez peut-être trouver un nouveau paquet, ou recompiler Freetype 1 vous-même.

### Comment saisir CJK en Unicode ?

Il y a un grand nombre de moteurs d'entrée, et le choix dépend également de vos préférences personnelles. L'auteur utilise Skim, un portage vers KDE du moteur Scim. Référez-vous à la documentation de votre distribution pour apprendre à installer ces programmes. La configuration de tels programmes peut être compliquée également, dans le cas de Skim, vous devrez définir une variable d'environnement ``XMODIFIERS`="@im=SCIM"` avant de démarrer X.

Chapitre 14. Écrire des scripts
Écrire des scripts

# Chapitre 14. Écrire des scripts

## Écrire des scripts dans Kile

Le module d'écriture de script de Kile permet l'exécution de code ECMAScript, largement connu sous le nom de JavaScript. Vous trouverez beaucoup de tutoriels, fournissant des informations sur les objets (variables), fonctions et propriétés gérés par JavaScript.

La prise en charge des scripts peut être activée dans la boîte de configuration de Kile : Configuration → Configurer Kile… → Kile+Scripts.

Si la prise en charge des scripts est activée, un panneau supplémentaire dédié aux scripts apparaît dans le panneau latéral, où les scripts peuvent être gérés :

Ce composant graphique contient six icônes proposant différentes fonctions :

- Exécuter le script sélectionné.

- Créer un nouveau script.

- Ouvrir le script sélectionné dans l'éditeur.

- Configurer une séquence de touches (raccourci) pour le script sélectionné.

- Supprimer une séquence de touches affectée (raccourci).

- Rafraîchir la liste des scripts disponibles qui ont été trouvés dans `$`KDEDIR`/share/apps/kile/scripts/`.

Exécution d'un script
Exécution d'un script

## Exécution d'un script

Vous pouvez exécuter un script de trois façons différentes :

1. Sélectionner le script désiré et cliquer sur le bouton Exécuter sur le côté gauche du composant graphique de gestion de scripts.

2. Utiliser un raccourci clavier.

   Vous pouvez assigner un raccourci clavier à un script en utilisant le bouton Configurer dans le panel de gestion des scripts.

3. Utilisez un éditeur de séquences clavier. Le script sera exécuté, si vous saisissez la séquence qui lui a été assignée dans l'éditeur.

   Cette méthode peut être étendue à un type plutôt compliqué de complètement de code. Supposons que vous ayez à écrire un script qui insère simplement la commande LATEX `\textbf{}` dans le document actuel.

       document.insertText("\\textbf{%C}");

   Si vous saisissez maintenant la séquence associée de caractère `bfx` dans votre document, cette séquence sera supprimée et le script sera exécuté. Il insérera `\textbf{}` et le curseur sera placé automatiquement entre les accolades.

   Quelle méthode confortable et puissante de complètement de code.

Référence de l'API
Référence de l'API

## Référence de l'API

L'API de scripts présenté ici est disponible dans tous les scripts. Avant le chargement du contenu d'un script, Kile ajoute d'abord plusieurs prototypes et fonctions dans le contexte du script. Cet API pratique, fournit des prototypes comme les curseurs de texte et les champs de texte. Il est disponible dans le dossier `KILE_APP_DIR/script-plugins/`.

Les scripts de Kile diffèrent légèrement des scripts de Kate, qui utilisent un autre modèle de conception, car ils sont conçus pour être aussi lancés en ligne de commande. Mais toutes les fonctions de l'API des scripts de Kate sont aussi disponibles dans l'API des scripts Kile. Par conséquent, le portage d'un code JavaScript de Kate à Kile devrait être extrêmement simple. Mais comme Kile est un éditeur LATEX riche en fonctionnalités, ses scripts offrent bien plus de possibilités que ceux de Kate.

Remarque : La description des appels API, qui sont aussi disponibles pour les scripts de Kate est déjà fournie dans la documentation de Kate.

### Fonctions générales

Cette section liste les fonctions générales.

    void debug(Chaîne texte);

  Imprime `texte` sur `stdout` dans la console. Le texte imprimé est coloré pour le distinguer des autres sorties de débogage.

### Le prototype « Cursor »

Comme Kile est un éditeur de texte, toute l'API de scripts est fondée sur les curseurs et les champs aussi souvent que possible. Un « curseur » est un simple couple `(ligne, colonne)` représentant la position d'un texte dans le document.

    Cursor();

  Constructeur : renvoie un curseur à la position `(0 , 0)`.

  Exemple : `var curseur = new Cursor();`

    Cursor(int ligne, int colonne);

  Constructeur : retourne un curseur à la position (ligne, colonne).

  Exemple : `var curseur = new Cursor(3,42);`

    Cursor(Cursor autre);

  Constructeur de copie : renvoie une copie du curseur `autre`.

  Exemple : `var copie = new Cursor(autre) ;`

    Cursor Cursor.clone();

  Renvoie un clone du curseur.

  Exemple : `var clone = curseur.clone();`

    bool Cursor.isValid();

  Vérifie la validité du curseur. Le curseur est non valable si la ligne et / ou la colonne valent `-1`.

  Exemple : `var validité = curseur.isValid();`

    Cursor Cursor.invalid();

  Renvoie une nouvelle position de curseur non valable à la position `(-1, -1)`.

  Exemple : `var curseur-non-valable = curseur.invalid();`

    int Cursor.compareTo(Cursor autre);

  Compare ce curseur avec le curseur `autre`. Renvoie

  - `-1` si ce curseur est positionné avant le curseur `autre`,

  - `0` si les deux curseurs sont à la même position et

  - `+1` si le curseur est positionné après le curseur `autre`.

    bool Cursor.equals(Cursor autre);

  Renvoie `vrai` si le curseur appelant et le curseur `autre` sont égaux, autrement renvoie `faux`.

    String Cursor.toString();

  Renvoie le curseur comme une chaîne de caractères sous la forme `Cursor(ligne, colonne)`.

### Le prototype « Range »

Comme Kile est un éditeur de texte, l'ensemble des API de scripts est fondée sur des curseurs et des zones lorsque cela est possible. Comme Cursor est un simple couple `(ligne, colonne)` représentant une position d'un texte dans un document, un « Range » encadre un texte entre une position de départ d'un curseur à une position de fin d'un curseur.

    Range();

  Constructeur : un appel à `new Range()` renvoie un intervalle (Range) en `(0,0) - (0,0)`.

    Range(Cursor début, Cursor fin);

  Constructeur : un appel à `new Range(`début`, `fin`)`, renvoie la plage à partir du curseur `début` au curseur `fin`.

    Range(int début-Ligne, int début-Colonne, int fin-Ligne, int fin-Colonne);

  Constructeur : un appel à `new Range(`début-Ligne`,`début-Ligne`,`début-Colonne`, `fin-Colonne`)` renvoie le Range à partir de (`début-Ligne`, `début-Colonne`) à (`fin-Ligne`, `fin-Colonne`).

    Range(Range autre);

  Constructeur de copie : renvoie une copie de l'intervalle `autre`.

    Range Range.clone();

  Renvoie un clone de l'intervalle.

  Exemple : `var clone = intervalle.clone();`

    bool Range.isValid();

  Renvoie `vrai` si les deux curseurs « début » et « fin » sont valables, sinon `faux`.

  Exemple : `var valid = intervalle.isValid();`

    bool Range.invalid();

  Renvoie le Range de (-1, -1) à (-1, -1).

    bool Range.contains(Cursor curseur);

  Renvoie `vrai` si cette plage contient la position du curseur, sinon `faux`.

    bool Range.contains(Range autre);

  Renvoie `vrai` si la plage contient Range `autre`, sinon `faux`.

    bool Range.containsColumn(entier colonne);

  Renvoie `vrai` si `colonne` est à la moitié de l'intervalle ouvert `[début.column, fin.column]`, sinon `faux`.

    bool Range.containsLine(intligne);

  Renvoie `vrai` si `ligne` est à la moitié de l'intervalle ouvert `[début.line, fin.line]`, sinon `faux`.

    bool Range.overlaps(Range autre);

  Renvoie `vrai` si cette plage et la plage `autre` partagent une région commune, sinon `faux`.

    bool Range.overlapsLine(int ligne);

  Renvoie `vrai` si `ligne` est dans l'intervalle`[début.line, fin.line]`, sinon `faux`.

    bool Range.overlapsColumn(int colonne);

  Renvoie `vrai` si `colonne` est dans l'intervalle `[début.column, fin.column]`, sinon `faux`.

    bool Range.equals(Range autre);

  Renvoie `vrai` si cette plage et la plage `autre` sont égales, sinon `faux`.

    String Range.toString();

  Renvoie la plage comme une chaîne de caractères de la forme`Range(Cursor(ligne, colonne) - Cursor(ligne, colonne))`.

### L'API d'affichage

À chaque fois qu'un script est exécuté, il y a un objet global (variable) `view` représentant la vue de l'actuel éditeur actif. Toutes les fonction de `view` fonctionnent avec les positions d'un curseur ou du texte sélectionné. La liste de toutes les fonctions disponibles de `view` est donnée ci-dessous.

    void view.backspace();

  Réalise l'équivalent à un appui sur la touche « Retour arrière ».

    Cursor view.cursorPosition();

  Retourne la position du curseur courant dans la vue.

    void view.setCursorPosition(int ligne, int colonne);
    void view.setCursorPosition(Cursor curseur);

  Définit la position du curseur courant en position `ligne`, `colonne` ou à la position donnée par `curseur`.

    void view.cursorLeft();

  Déplace le curseur d'une position en arrière du texte.

    void view.cursorRight();

  Déplace le curseur d'une position vers l'avant dans le texte.

    void view.cursorUp();

  Déplace le curseur d'une ligne vers le haut dans le document.

    void view.cursorDown();

  Déplace le curseur d'une ligne vers le bas dans le document.

    int view.cursorLine();

  Renvoie la ligne où se trouve actuellement le curseur.

    int view.cursorColumn();

  Renvoie la colonne de la position du curseur courant.

    void view.setCursorLine(int ligne);

  Définit la ligne du curseur à la valeur `ligne`.

    void view.setCursorColumn(int colonne);

  Définit la colonne du curseur à la valeur `colonne`.

    Cursor view.virtualCursorPosition();

  Lit la position courante du curseur virtuel. Virtuel signifie que le caractère de tabulation (TAB) compte pour plusieurs caractères, selon la configuration choisie par l'utilisateur (par exemple une tabulation (TAB) vaut 8 espaces). La position du curseur virtuel permet l'accès aux valeurs visibles par l'utilisateur de la position du curseur courant.

    bool view.hasSelection();

  Renvoie `vrai`, si la vue possède du texte sélectionné, auquel cas `faux`.

    String view.selectedText();

  Renvoie le texte sélectionné. Si aucun texte n'est sélectionné, la chaîne de caractères vide est renvoyée.

    Range view.selectionRange();

  Renvoie la plage de texte sélectionné. La plage renvoyée n'est pas valable si aucun texte n'est sélectionné.

    void view.setSelection(Range intervalle);

  Définit le texte sélectionné comme valant `intervalle`.

    void view.selectAll();

  Sélectionne la totalité du texte du document.

    void view.clearSelection();

  Efface la sélection sans supprimer le texte.

    void view.removeSelectedText();

  Supprime le texte sélectionné. Si la vue ne posséde aucun texte sélectionné, rien n'est fait.

    void view.selectLine();

  Sélectionne le texte dans la ligne courante.

    void view.selectLine(int ligne);

  Sélectionne le texte à la ligne donnée par `ligne`.

    void view.selectLines(int partir-de, int jusqu-a);

  Sélectionne tout le texte de la ligne `partir-de` jusqu'à la ligne `jusqu-a`.

    void view.selectWord();

  Sélectionne le mot courant. Si aucun mot n'a été trouvé à la position du curseur courant, rien n'est fait.

    void view.selectLatexCommand();

  Sélectionne la commande LATEX courante. Si aucune commande n'a été trouvée à la position du curseur courant, rien n'est fait.

    void view.selectEnvironment(bool inside = false);

  Sélectionne la totalité du texte de l'environnement LATEX courant. Si `dedans` est à `faux`, le texte de l'environnement, y compris les balises LATEX d'encadrement, `\begin{…}… \end{…}` sera sélectionné ; sinon seule le texte sans ces balises sera sélectionné. Si aucun paramètre n'est donné, `dedans` est positionné à `faux`.

    void view.selectTexgroup(bool dedans = true);

  Sélectionnez le texte du groupe LATEX courant. Si `dedans` est `vrai`, seul le groupe texte sans les accolades qui autour sera sélectionné. Si aucun paramètre n'est renseigné, `inside` est à `vrai`.

    void view.selectMathgroup();

  Sélectionne le texte de l'actuel groupe mathématique.

    void view.selectParagraph(bool wholeLines = true);

  Sélectionnez la totalité du texte du paragraphe LATEX courant. Si `Lignes-entières` est `vrai`, seules les première et dernière lignes du paragraphe seront prises en compte comme sélection (y compris le caractère de fin de ligne). Dans le cas contraire, la sélection ne contiendra que les caractères différents d'une espace.

### La documentation de l'API

Lorsqu'un script est en exécution, il y a un objet global (variable) `document` représentant le document actif courant. La liste de toutes fonctions disponibles de `document` est fournie ci-dessous.

    void document.insertText(String texte);

  Insère le `texte` à la position courante du curseur.

    void document.insertText(int ligne, int colonne, String texte);
    void document.insertText(Cursor curseur, String texte);

  Insère le `texte` à la position donnée du curseur.

    bool document.removeText(int de-La-Ligne, int de-La-Colonne, int a-La-Ligne, int a-La-Colonne);
    bool document.removeText(Cursor a-partir-de, Cursor jusqu-a);
    bool document.removeText(Range plage);

  Supprime le texte contenu dans la plage spécifiée. Renvoie `vrai` en cas de succès ou `faux`, si le document est en lecture seule.

    bool document.replaceText(Range plage, String texte);

  Remplace le texte de la plage donnée avec le texte spécifié.

    int document.lines();

  Renvoie le nombre total de lignes du document.

    int document.length();

  Retourne le nombre de caractères dans le document.

    Range document.documentRange();

  Renvoie la plage qui encapsule la totalité du document.

    Cursor document.documentEnd();

  Renvoie la position courante du curseur de fin de document.

    String document.text();

  Renvoie la totalité du contenu du document dans une seule chaîne de caractères. Les nouvelles lignes sont indiqué par le caractère de nouvelle ligne `\n`.

    String document.text(int de-Ligne, int de-Colonne, int a-Ligne, int a-Colonne);
    String document.text(Cursor a-partir-de, Cursor jusqu-a);
    String document.text(Range plage);

  Renvoie le texte contenu dans la plage donnée. Il est recommandé d'utiliser la version utilisant un curseur et une plage pour avoir une meilleure lisibilité du code source.

    bool document.setText(String texte);

  Définit le texte pour la totalité du document.

    bool document.clear();

  Supprime la totalité du texte dans le document.

    String document.line();

  Renvoie le texte de la ligne courante comme une chaîne de caractères.

    String document.line(int ligne);

  Renvoie le texte de la ligne donnée comme une chaîne de caractères. La chaîne de caractères vide est renvoyée si la ligne demandée est en dehors de la plage.

    int document.lineLength();

  Renvoie la longueur de la ligne courante.

    int document.lineLength(int ligne);

  Renvoie la longueur de `ligne`.

    bool document.insertLine(String chaîne);

  Insère « texte » dans la ligne courante. Retourne `vrai` en cas de succès ou `faux`, si le document est en lecture seul ou sila ligne n'est pas dans la plage du document.

    bool document.insertLine(int ligne, String chaîne);

  Insère « texte » dans la ligne spécifiée. Retourne `vrai` en cas de succès ou `faux`, si le document est en lecture seule ou la ligne n'est pas dans la plage du document.

    bool document.removeLine();

  Supprime la ligne courante. Renvoie `vrai` en cas de succès ou `faux`, si le document est en lecture seule.

    bool document.removeLine(int ligne);

  Supprime la ligne spécifiée. Retourne `vrai` en cas de succès ou `faux`, si le document est en lecture seule ou la ligne n'est pas dans la plage du document.

    bool document.replaceLine(String texte);

  Remplace le texte de la ligne courante avec le texte spécifié.

    bool document.replaceLine(int ligne, String texte);

  Remplace le texte de la ligne donnée avec le texte spécifié.

    bool document.truncateLine();

  Tronque la ligne courante à la colonne spécifiée ou à la position du curseur. Renvoie `vrai` en cas de succès ou `faux`, si la ligne donnée n'appartient pas à la plage du document.

    bool document.truncate(int ligne, int colonne);
    bool document.truncate(Cursorcurseur);

  Tronque la ligne spécifiée à la colonne spécifiée ou à la position du curseur. Renvoie `vrai` en cas de succès ou `faux` si la ligne spécifiée ne fait pas partie du document

    String document.word();

  Renvoie le mot à la position du curseur courant. Si aucun mot n'est trouvé à la position du curseur, la chaîne de caractères vide est retournée.

    String document.wordAt(int ligne, int colonne);
    String document.wordAt(Cursor curseur);

  Renvoie le mot à la position spécifiée du curseur. Si aucun mot n'est trouvé à cette position, la chaîne de caractère vide est retournée.

    Range document.wordRange();

  Renvoie la plage de mot à la position donnée du curseur. Si aucun mot n'est trouvé, `Range.invalid()` est retourné, qui peut être testé avec `Range.isValid()`.

    String document.latexCommand();

  Renvoie la commande LATEX à la position courante du curseur. Si aucune commande n'est trouvée à la position du curseur, la chaîne vide est retournée.

    String document.latexCommandAt(int ligne, int colonne);
    String document.latexCommandAt(Cursor curseur);

  Renvoie la commande LATEX à la position donnée du curseur. Si aucune commande n'est trouvée à cette position du curseur, la chaîne vide est retournée.

    Range document.latexCommandRange();

  Renvoie la plage de la commande LATEX à la position spécifiée du curseur. Si aucune commande LATEX n'est trouvée, `Range.invalid()` est retourné, qui peut être testé avec `Range.isValid()`.

    String document.charAt(int ligne, int colonne);
    String document.charAt(Cursor curseur);

  Renvoie le caractère à la position donnée du curseur.

    String document.firstChar(int ligne);

  Renvoie le premier caractère différent d'un espace blanc de la `ligne` donnée. Le premier caractère est à la colonne 0. Si la ligne est vide ou ne contient que des espaces blancs, la chaîne de caractère vide est retournée.

    String document.lastChar(int ligne);

  Renvoie le dernier caractère différent d'un espace blanc de la `ligne` donnée. Si la ligne est vide ou ne contient que des espaces blancs, la chaîne de caractère vide est retournée.

    bool document.isSpace(int ligne, int colonne);
    bool document.isSpace(Cursor curseur);

  Renvoie `vrai`, si le caractère à la position donnée du curseur est un espace blanc, sinon retourne `faux`.

    void document.insertBullet();

  Insert une puce Kile. Se rappeler que vous pouvez facilement sauter à la puce suivante ou précédente. Ceci devrait aussi mettre en valeur cette puce et cet effet sera automatiquement supprimé dès la saisie de votre premier caractère.

    void document.nextBullet();

  Passer à la prochaine puce dans le texte s'il y en a une.

    void document.previousBullet();

  Passer à la puce précédente dans le texte s'il y en a eu une.

    bool document.hasEnvironment();

  Renvoie `vrai` si un environnement LATEX englobant est trouvé sinon renvoie `faux`.

    String document.environment(bool inside = false);

  Renvoie la totalité du texte dans l'environnement englobant LATEX. Si `inside` vaut `faux`, le texte de l'environnement, y compris les balises LATEX englobantes `\begin{...}...\end{...}` sera renvoyé, dans l'autre cas, les balises ne seront pas incluses. Si aucun paramètre n'est donné, `inside` est mis à `faux`. Si aucun environnement n'est trouvé, la chaîne vide est retournée.

    Range document.environmentRange(bool dedans = faux);

  Retourne la plage de l'environnement LATEX englobant. Si `dedans` est `faux`, la plage incluant les balises LATEX englobantes, `\begin{…}…\end{…}` sera retournée, sinon ce qui sera retourné sera sans ces tags. Si aucun paramètre n'est fourni, `dedans` est mis à `faux`. Si aucun environnement n'est trouvé, `Range.invalid()` est retourné, pouvant être testé avec `Range.isValid()`.

    String document.environmentName();

  Renvoie le nom de l'environnement LATEX englobant ou une chaîne vide de caractères.

    void document.removeEnvironment(bool dedans = faux);

  Supprime le texte de l'environnement LATEX englobant. Si `dedans` est `faux`, l'environnement texte incluant les balises LATEX englobantes, `\begin{…}…\end{…}` sera enlevé, sinon celui-ci sera renvoyé sans balise. Si aucun paramètre n'est fourni, `dedans` est mis à `faux`.

    void document.closeEnvironment();

  Insère une balise d'environnement de fermeture, si un environnement LATEX d'ouverture est trouvé à la position du curseur courante.

    void document.closeAllEnvironments();

  Insert des balises de fermeture de l'environnement pour tous les environnements LATEX ouverts trouvés à la position du curseur courant.

    bool document.hasTexgroup();

  Renvoie `vrai`, si un groupe LATEX englobant est trouvé à la position du curseur courant, sinon `faux`.

    String document.texgroup(bool dedans = vrai);

  Renvoie le texte du groupe LATEX englobant. Si `dedans` est `faux`, le texte de ce groupe LATEX incluant les accolades, `{…}`, sera retourné, sinon ce sera sans accolade. Si aucun paramètre n'est indiqué, `dedans` est mis à `faux`. La chaîne vide est retournée, si aucun groupe LATEX englobant n'est trouvé à la position courante du curseur.

    Range document.texgroupRange(bool dedans = vrai);

  Renvoie la plage du groupe LATEX englobant. Si `dedans` est `faux`, la plage incluant les accolades englobantes, `{…}`, sera retournée, sinon la place sera retournée sans accolade. Si aucun paramètre n'est fourni, `dedans` est mis à `faux`. Si aucun groupe n'est trouvé, `Range.invalid()` est retourné, pouvant être testé avec `Range.isValid()`.

    void document.removeTexgroup(bool dedans = vrai);

  Supprime le texte du groupe LATEX englobant. Si `dedans` est `faux`, le texte de ce groupe LATEX, y compris les accolades englobantes, `{…}`, sera enlevé, sinon ce sera sans les accolades. Si aucun paramètre n'est donné, `dedans` est mis à `faux`.

    bool document.hasMathgroup();

  Renvoie `vrai` si un groupe mathématique LATEX englobant est trouvé à la position courante du curseur, sinon `faux`.

    String document.mathgroup();

  Renvoie le texte du groupe mathématique LATEX englobant. La chaîne de caractère vide est retournée, si aucun groupe mathématique LATEX englobant n'est trouvé à la position courante du curseur.

    Range document.mathgroupRange();

  Renvoie la plage du groupe mathématique LATEX englobant. S'il n'y a aucun groupe englobant de type mathématique, `Range.invalid()` est retourné ; pouvant être testé avec `Range.isValid()`.

    void document.removeMathgroup();

  Supprime le texte du bloc mathématique LATEX englobant.

    String document.paragraph();

  Renvoie le texte du paragraphe LATEX courant.

    Range document.paragraphRange();

  Renvoie la plage du paragraphe LATEX englobant.

    void document.removeParagraph();

  Supprime le texte du paragraphe LATEX courant.

    bool document.matchesAt(int ligne, int colonne, String texte);
    bool document.matchesAt(Cursor curseur, String texte);

  Renvoie `vrai`, si le paramètre `texte` correspond à la position correspondant du curseur, sinon renvoie `faux`.

    bool document.startsWith(int ligne, String expression, bool Sauter-Espaces-Blancs = vrai);

  Renvoie `vrai` si une ligne commence avec `motif`, dans les autres cas `faux`. L'argument `Sauter-Espaces-Blancs` indique si les espaces blancs en tête sont à ignorer.

    bool document.endsWith(int ligne, String forme, bool Sauter-Espaces-Blancs = vrai);

  Renvoie `vrai`, si la ligne se termine avec `motif`, dans les autres cas `faux`. L'argument `Sauter-Espaces-Blancs` indique si les espaces blancs en fin de ligne sont à ignorer.

    int document.firstColumn(int ligne);

  Renvoie la première position d'un caractère différent d'un espace blanc dans la ligne spécifiée par le paramètre `ligne`. S'il n'y a que des espaces blancs dans la ligne, la valeur retournée est `-1`.

    int document.lastColumn(int ligne);

  Renvoie la dernière position d'un caractère différent d'un espace blanc dans la ligne spécifiée par le paramètre `ligne`. S'il n'y a que des espaces blancs dans la ligne, la valeur retournée est `-1`.

    int document.prevNonSpaceColumn(int ligne, int colonne);
    int document.prevNonSpaceColumn(Curseur cursor);

  Renvoie la position contenant un caractère différent d'un espace blanc à partir d'une position donnée du curseur et en recherchant en l'arrière.

    int document.nextNonSpaceColumn(int ligne, int colonne);
    int document.nextNonSpaceColumn(Cursor curseur);

  Renvoie la position contenant un caractère différent d'un espace blanc à partir de la position spécifiée du curseur et en recherchant vers l'avant.

    int document.prevNonEmptyLine(int ligne);

  Renvoie la ligne suivante non vide contenant un caractère différent d'un espace blanc et en recherchant vers l'arrière.

    int document.nextNonEmptyLine(int ligne);

  Retourne la prochaine ligne non vide contenant un caractère différent d'un espace blanc et en recherchant vers l'avant.

    void document.gotoBeginEnv();

  Aller au début de l'environnement LATEX englobant.

    void document.gotoEndEnv();

  Aller à la fin de l'environnement LATEX englobant.

    void document.gotoBeginTexgroup();

  Aller au début du groupe LATEX englobant.

    void document.gotoEndTexgroup();

  Aller à la fin du groupe LATEX englobant.

    void document.gotoNextParagraph();

  Aller au paragraphe LATEX suivant.

    void document.gotoPrevParagraph();

  Aller au paragraphe LATEX précédent.

    void document.gotoNextSectioning();

  Aller à la section LATEX suivante.

    void document.gotoPrevSectioning();

  Aller à la section LATEX précédente.

    void document.gotoLine(int ligne);

  Aller à la `ligne` indiquée.

    void document.insertChapter();

  Insérez une commande de `\chapter` (voir aussi `document.insertSection()`).

    void document.insertSection();

  Insérez une commande de `\section`. Comme pour choisir l'entrée du menu LaTeX → Sectionnement → section, une boîte de dialogue apparaîtra, où vous pourrez choisir le titre et une étiquette optionnelle pour cette commande de sectionnement.

    void document.insertSubsection();

  Insérez une commande `\subsection` (voir aussi `document.insertSection()`).

    void document.insertSubsubsection();

  Insérez une commande `\subsubsection` (voir aussi `document.insertSection()`).

    void document.insertParagraph();

  Insérez une commande `\paragraph` (voir aussi `document.insertSection()`).

    void document.insertSubparagraph();

  Insérez une commande `\subparagraph` (voir aussi `document.insertSection()`).

    void document.insertLabel();

  Insérez une commande `\label`.

    void document.insertReference();

  Insérez une commande de `\ref`. Comme pour choisir l'entrée du menu LATEX → Références → ref, une boîte de dialogue apparaîtra, où vous pourrez choisir un des labels déjà définis dans une liste déroulante.

    void document.insertPageref();

  Insérez une commande `\pageref` (voir aussi `document.insertReference()`).

    void document.insertCitation();

  Insérez une commande `\cite`.

    void document.insertIndex();

  Insérez une commande `\index`.

    void document.insertFootnote();

  Insérez une commande `\footnote`.

    void document.comment();

  Insère des marqueurs de commentaires pour transformer la sélection ou la ligne courante en commentaires.

    void document.uncomment();

  Supprime les marqueurs de commentaires de la sélection ou de la ligne courante.

    void document.uppercase();

  Met en majuscule le texte sélectionné ou la lettre après le curseur.

    void document.lowercase();

  Met en minuscule le texte sélectionné ou la lettre après le curseur.

    void document.capitalize();

  Met en majuscule le texte sélectionné ou le mot courant.

    void document.joinLines();

  Regroupe les lignes de la sélection courante. Deux lignes successives de texte sont toujours séparées avec un seul espace.

    void document.insertIntelligentNewline();

  Insère une nouvelle ligne élégante (voir Nouvelle ligne intelligente).

    void document.insertIntelligentTabulator();

  Insère un tabulation élégante (voir Tabulation intelligente).

    void document.editBegin();

  Démarre un groupe d'édition pour annuler / refaire le regroupement. Veuillez vous assurer de toujours appeler `editEnd()` autant de fois que vous appellerez `editBegin()`. L'appel de `editBegin()` utilise en interne un compteur de référence, par conséquent, cet appel peut être imbriqué.

    void document.editEnd();

  Termine un groupe d'édition. Le dernier appel de `editEnd()` (c'est-à-dire, celui pour le premier appel de `editBegin()`) termine l'étape de modification.

    StringList document.labelList();

  Renvoie tous les labels définis comme un `StringList`, qui peuvent être utilisés dans JavaScript comme tableau de chaînes de caractères.

    StringList document.bibitemList();

  Renvoie tous les éléments « bib » comme un `StringList`, qui peuvent être utilisés dans JavaScript comme tableau de chaînes de caractères.

    void document.refreshStructure();

  Rafraîchit l'affichage de la structure (voir Chapitre 11, Naviguer dans le source LATEX).

### L'API de Kile

L'objet global (variable) `kile` est utilisé pour gérer des opérations de haut niveau avec le monde extérieur, des messages en entrée et des interfaces de boîtes de dialogue. Ces appels API sont divisés en sous objet pour structurer cette partie de l'API du langage de scripts. Conceptuellement `kile` est un peu comme `fenêtre` dans une API d'un navigateur.

- `kile.alert`: boîtes de messages

- `kile.input`: lit les entrées de l'utilisateur

- `kile.wizard`: appelle l'un des assistants de Kile

- `kile.script`: obtient des informations sur le script en exécution.

- `kile.file`: enregistre des opérations comme la lecture et l'écriture.

#### Alerte

    void kile.alert.information(String texte, String légende);

  Afficher un boîte de dialogue d'Informations. `texte` est un message de type chaîne de caractères et `titre` le titre de la boîte de messages. Le titre par défaut est le nom du script.

    void kile.alert.sorry(String texte, String légende);

  Afficher un boîte de dialogue d'Excuses. `texte` est un message de type chaîne de caractères et `titre` est le titre de la boîte de messages. Le titre par défaut est le nom du script.

    void kile.alert.error(String texte, String légende);

  Afficher une boîte de dialogue d'Erreur. `texte` est un message de type chaîne de caractères et `titre` est le titre de la boîte de messages. Le titre par défaut est le nom du script.

    String kile.alert.question(String texte, String légende);

  Afficher une boîte de dialogue Question. `texte` est un message de type chaîne de caractères et `titre` est le titre de la boîte de messages. Le titre par défaut est le nom du script. La chaîne retournée est soit `Oui` soit `Non`.

    String kile.alert.warning(String texte, String légende);

  Afficher une boîte de dialogue d'Alerte. `texte` est un message de type chaîne de caractères et `titre` est le titre de la boîte de messages. Le titre par défaut est le nom du script. La chaîne retournée est soit `Continuer` soit `Annuler`.

#### Entrée

    String kile.input.getListboxItem(String légende, String étiquette, StringList liste);

  Fonction laissant l'utilisateur sélectionner un élément à partir d'une liste de type choix unique.`légende` est le texte affiché dans le barre de titre,`étiquette` est le texte apparaissant comme étiquette de la liste et `liste` est la chaîne de caractères insérée dans la liste.

    String kile.input.getComboboxItem(String légende, String étiquette, StringList liste);

  Fonction laissant l'utilisateur sélectionner un élément à partir d'une liste à choix multiple.`légende` est le texte affiché dans le barre de titre, `étiquette` est le texte apparaissant comme étiquette de la liste et `liste` est la chaîne de caractères insérée dans la liste.

    String kile.input.getText(String légende, String étiquette);

  Fonction pour saisir une chaîne de caractères par l'utilisateur. `légende` est le texte affiché dans la barre de titre et `étiquette` est le texte apparaissant comme étiquette de la zone de saisie de texte.

    String kile.input.getLatexCommand(String légende, String étiquette);

  Fonction pour saisir une commande LATEX par l'utilisateur. Ceci ignifie que seuls les caractères (minuscules et majuscules) sont autorisés.`légende` est le texte affiché dans la barre de titre et `étiquette` est le texte apparaissant comme étiquette de la zone d'édition de texte.

    int kile.input.getInteger(String légende, String étiquette, int min = INT-MIN, int max = INT-MAX);

  Fonction pour saisir un nombre par l'utilisateur.`légende` est le texte affiché dans la barre de titre et `étiquette` est le texte apparaissant comme étiquette de la boîte à sélection multiple. `min` et `max` sont les valeurs minimum et maximum autorisées choisies par l'utilisateur. Les valeurs par défaut sont `INT_MIN` et `INT-MAX`.

    int kile.input.getPosInteger(String légende, String étiquette, int min = 1, int max = INT-MAX);

  Fonction pour saisir un nombre positif par l'utilisateur.`légende` est le texte affiché dans la barre de titre et `étiquette` est le texte apparaissant comme étiquette de la boîte de sélections multiples. `min` et `max` sont les valeurs minimum et le maximum autorisées choisies par l'utilisateur. Les valeurs par défaut sont `INT-MIN` et `INT-MAX`.

#### Assistant

    void kile.wizard.tabular();

  Appelle l'Assistant de tableau, qui aide à écrire un environnement de tableau (voir Tableaux et matrices).

    void kile.wizard.array();

  Appelle l'Assistant de table, qui aide à écrire un environnement de tableau (voir Tableaux et matrices).

    void kile.wizard.tabbing();

  Appelle l'Assistant de tabulation, qui aide à écrire un environnement de tabulation (voir la section intitulée « Tableaux et matrices »).

    void kile.wizard.floatEnvironment();

  Appelle l'Assistant de nombres à virgule, qui aide à insérer un nombre à virgule flottante (voir Insérer des éléments flottants).

    void kile.wizard.mathEnvironment();

  Appelle l'Assistant Maths, qui aide à insérer des environnements mathématiques (voir Insérer des environnements mathématiques).

    void kile.wizard.postscript();

  Appelle l'Assistant Outils PostScript, qui pourrait vous aider à manipuler ou ré-organiser des documents PostScript (voir Outils PostScript®).

#### Script

    String kile.script.name();

  Renvoie le nom racine du script en cours d'exécution (sans l'emplacement et l'extension).

    String kile.script.caption();

  Renvoie une chaîne de caractères pouvant être utilisée comme titre des boîtes d'alerte. Cela ressemble à `Script: scriptname.js`.

#### Fichier

    Object kile.file.read(String Nom-Fichier);

  Lit le contenu d'un fichier texte. Utilisé comme

  Exemple : `var res = kile.file.read("emplacement/vers/fichier.txt");`

  La valeur de retour `res` est un objet (mieux, une carte) possédant trois propriétés :

  - état : Donne les codes d'état de l'opération, pouvant être 0 (pas d'erreur), 1 (échec de l'accès) ou 2 (accès refusé). Ainsi, si aucune erreur n'est survenue, la valeur de `res.état` ou `res[ « état » ]` sera 0.

  - résultat : Contient le texte du fichier spécifié.

  - message : Contient un message d'erreur, si une erreur est survenue.

    Object kile.file.read();

  Tout comme `read(nom-fichier)`, mais sans qu'un nom de fichier ne soit fourni. Une boîte de dialogue apparaîtra pour sélectionner le fichier à lire.

    Object kile.file.write(String nom-fichier, String texte);

  Écrit le texte donné dans un fichier. C'est utilisé comme

  Exemple : `var des = kile.file.write("emplacement/de/fichier.txt","Du texte…");`

  La valeur de retour `res` est un objet (mieux : une carte) possédant deux propriétés : `état` et `message` (voir `read()` pour plus d'informations).

    Object kile.file.write(String texte);

  Tout comme `write(nom-fichier,texte)`, mais sans qu'aucun nom de fichier ne soit fourni. Une boîte de dialogue apparaîtra pour choisir un nom de fichier.

    String kile.file.getOpenFileName(String Dossier-Départ, String filtre);

  Crée une boîte de dialogue de sélection de fichier et renvoie le nom du ficher sélectionné ou une chaîne vide si aucun fichier n'est choisi. Veuillez noter qu'avec cette méthode, l'utilisateur doit sélectionner un nom de fichier existant.

  Paramètres :

  - Dossier-Départ : Dossier de base pour la boîte de dialogue d'ouverture de fichier.

  - filtre : Un shell global ou un filtre de type MIME spécifiant quel fichier à afficher. Veuillez vous référer à la documentation de KFileDialog pour plus d'informations sur ce paramètre.

  Les deux paramètres sont optionnels. Si vous ne renseignez pas `filtre`, tous les fichiers seront affichés. Si en plus `Dossier-Départ` est omis, la boîte de dialogue prendra le dossier du document courant comme point de départ.

    String kile.file.getSaveFileName(String Dossier-Départ, String filtre);

  Crée une boîte de dialogue de sélection de fichier et renvoie le nom du ficher sélectionné ou une chaîne vide si aucun fichier n'est choisi. Veuillez noter qu'avec cette méthode, l'utilisateur n'a besoin de sélectionner un nom de fichier existant. Veuillez consulter `getOpenFileName()` pour plus d'explications concernant ces paramètres.

Exemples
Exemples

## Exemples

Quelques exemples pourraient vous aider à comprendre comment utiliser l'API d'écriture de scripts. Ces exemples et bien d'autres sont disponibles dans le dossier de scripts de Kile : `KILE-APP-DIR/scripts/`. Chaque script contient une description succincte.

### Exemple 1 : remplacer le nom de l'environnement

Remplace l'environnement LATEX englobant avec un autre, où la position relative du curseur ne sera pas modifiée. `\begin{abc}…\end{abc}`, par exemple, peut être changé en `\begin{xyz}…\end{xyz}`.

    var range = document.environmentRange(false);
    if ( range.isValid() ) {
            var envname = kile.input.getLatexCommand("Saisissez l'environnement","Nouveau nom d'environnement : ");
            if ( envname != '' ) {
                    replaceEnvCommand(envname,range);
            }
    }
    else {
            kile.alert.sorry("Aucun environnement LaTeX englobant trouvé.");
    }

    function replaceEnvCommand(newEnv,r)
    {
            var c = view.cursorPosition();

            var envname = document.environmentName();

            if ( envname != "" ) {
                    var beginRange = new Range(r.start,new Cursor(r.start.line,r.start.column+8+envname.length));
                    var endRange = new Range(new Cursor(r.end.line,r.end.column-6-envname.length),r.end);

                    document.editBegin();
                    document.replaceText(endRange,"\\end{"+newEnv+"}");
                    document.replaceText(beginRange,"\\begin{"+newEnv+"}");
                    document.editEnd();
            }
    }

### Exemple 2 : remplacer une commande LATEX de polices de caractères

Remplace la commande LATEX de police englobante avec une autre commande, quand le curseur est placé à l'intérieur du groupe de texte. La position relative du curseur ne sera pas changée. Par exemple, `\textbf{abc}` peut être changé en `\textit{abc}`.

    var fontCommands = new Array("\\textbf","\\textit","\\textsl","\\texttt",
                                 "\\textsc","\\textrm","\\textsf","\\emph");

    var range = document.texgroupRange(false);
    if ( range.isValid() ) {
            replaceFontCommand(range);
    }
    else {
            kile.alert.sorry("Aucun groupe LaTeX englobant.");
    }

    function replaceFontCommand®
    {
            var c = view.cursorPosition();

            document.editBegin();
            view.setCursorPosition(r.start);
            var cmd = document.latexCommand();
            var index = fontCommands.indexOf(cmd);
            if ( index
    >= 0 ) {
                    var cmdRange = document.latexCommandRange();
                    if ( cmdRange.isValid() ) {
                            var newcommand = kile.input.getListboxItem("Choose",
                                                        "Choose font command:",buildCmdList(cmd));
                            if ( new command != "" ) {
                                    document.replaceText(cmdRange,newcommand);
                                    c.column = c.column - (cmd.length - newcommand.length);
                            }
                    }
    /                view.setCursorPosition©;
            }
            else {
                    kile.alert.sorry("No surrounding font command found.");
            }
            document.editEnd();
    }

    function buildCmdList(current)
    {
            var result = new Array();
            for ( i=0; i<fontCommands.length; ++i ) {
                    if ( fontCommands[i] != current ) {
                            result.push(fontCommands[i]);
                    }
            }
            return result;
    }

### Exemple 3: entourer le texte sélectionné

Entourer le texte sélectionné à l'aide commande TeX, où la position relative du curseur ne pourra plus être changée. Par exemple, `abc` peut être changé en `\texcommand{abc}`.

    var range = view.selectionRange();

    if ( range.isValid() ) {
            var cmd = kile.input.getLatexCommand(« Choisir », « Choisir la commande LaTeX englobante :  »);
            if ( cmd != "" ) {
                    surroundTexCommand("\\"+cmd,range);
            }
    }
    else {
            kile.alert.sorry("Aucune sélection trouvée.");
    }

    function surroundTexCommand(cmd,r)
    {
            var c = view.cursorPosition();

            document.editBegin();
            view.clearSelection();
            document.insertText(r.end,"}");
            document.insertText(r.start,cmd+"{");

            c.column = c.column + cmd.length + 2;
            view.setCursorPosition(c);
            document.editEnd();
    }

Chapitre 15. Aide
Aide

# Chapitre 15. Aide

## Documents d'aide

LATEX est un système plutôt compliqué, où les caractéristiques de base peuvent être étendue par une grande variété de paquets supplémentaires. Kile fournit de nombreux moyens d'aider l'utilisateur.

Le sous-menu d'aide → documentation LaTeX Documentation propose des liens vers la documentation pour tous les paquets inclus et des références additionnelles pour LATEX.

Navigateur dans la documentation

  Un outil élégant pour naviguer dans tous les sujets LATEX. Veuillez installer les paquets d'aide LATEX pour votre distribution si vous avez besoin d'un résumé de documentation très riche.

LaTeX

  Une référence non officielle pour TEX et autre. Ce n'est pas une simple description de tous les programmes, mais certains paquets importants sont également mentionnés. Elle inclut également un manuel de référence complet des commandes LATEX — idéal pour chercher un formatage particulier lorsque l'on écrit un document. Comme ce document est vraiment gros, il est référencé dans Kile par trois signets.

Commandes LaTeX

  Un autre index alphabétique des commandes LATEX les plus courantes.

Environnements LaTeX

  Un index alphabétique de toutes les commandes d'environnements LATEX.

Aide contextuelle
Aide contextuelle

## Aide contextuelle

Kile gère également une aide contextuelle, appelée avec Ctrl+Alt+H, K. Dans Configuration → Configurer Kile... → Kile+Aide, vous pouvez choisir si vous souhaitez utiliser la référence LATEX de Kile, ou bien le système d'aide de teTEX / TeX Live, qui est la configuration par défaut.

Recherche de mots clés
Recherche de mots clés

## Recherche de mots clés

Il n'est pas toujours aisé de trouver le bon document car teTEX/TeX Live est fourni avec une quantité énorme de documentation. Pour faciliter les choses, teTEX/TeX Live fournit un petit programme texdoctk. Il fournit une base de données de toutes les documentations, pour lesquelles Kile offre une interface utilisateur.

Tous les documents sont groupés dans des catégories. De plus, vous pouvez chercher des noms de paquets ou des mots clés. Kile affichera alors le résultat correspondant à votre recherche.

Un double clic de souris ou la touche Espace démarrera l'afficheur pour le document choisi. Ce peut être un document arbitraire, pas uniquement un document DVI, PS, PDF ou HTML. Kile prend en compte la configuration de KDE pour démarrer l'afficheur approprié.

Aide définie par l'utilisateur
Aide définie par l'utilisateur

## Aide définie par l'utilisateur

À côté de cette documentation teTEX/TeX Live statique, Kile gère également un autre type de documents d'aide plus flexible. Dans le menu Aide, Kile dispose d'un sous-menu spécial Aide utilisateur, dans lequel l'utilisateur peut ajouter les documents de son choix. Ce peut être les documents de la documentation teTEX/TeX Live les plus importants, ou même des documents qu'il aurait écrit lui-même. Il est également possible de saisir des URL.

Allez dans le menu Configuration → Configurer Kile... → Kile+Aide et choisissez le bouton Configurer pour configurer ce menu d'aide utilisateur. Vous pouvez ajouter, enlever ou déplacer les éléments de menu, et insérer des séparateurs pour optimiser la structure du menu.

En appuyant sur le bouton Ajouter, une autre boîte de dialogue s'ouvrira, dans laquelle vous pouvez modifier le nom de l'élément de menu, et choisir le fichier ou l'URL web correspondante. Le second bouton à droite du champ texte lance Konqueror, qui peut être utilisé pour déterminer l'URL correcte.

Après avoir terminé la configuration, tous les éléments apparaîtront dans le menu Aide de Kile comme élément de menu spécial Aide utilisateur.

Chapitre 16. Remerciements et licence
Remerciements et licence

# Chapitre 16. Remerciements et licence

Kile est un éditeur de code source LATEX / TEX facile d'utilisation et libre. Il fonctionne sur les systèmes sur lesquels l'environnement de bureau KDE est installé. KDE est disponible pour plusieurs architectures incluant Linux® et d'autres systèmes de type Unix.

De nombreux remerciements vont à ceux qui s'efforcent à continuer le projet Kile, et à ceux qui sacrifient de nombreuses heures de leur temps à développer des outils que nous pouvons tous utiliser sous la licence GNU. Des informations à jour à propos des contributeurs peuvent être trouvées dans la boîte de dialogue À propos de Kile depuis le menu Aide.

Merci beaucoup à tous ceux qui ont participé !

Traduction française par Ludovic Grossard `(grossard AT kde.org)`.

Cette documentation est soumise aux termes de la Licence de Documentation Libre GNU (GNU Free Documentation License).

Ce programme est soumis aux termes de la Licence Générale Publique GNU (GNU General Public License).