# Écrire des livres avec txt2tags

### par Aurelio Jargas

> Ce document est un guide rapide montrant l'intérêt d'utiliser txt2tags pour écrire un livre. C'est aussi applicable pour d'autres gros documents tels des guides ou des thèses.

# 1. Préface

Je suis l'auteur de txt2tags `[1]` et a écrit deux documents publiés en l'utilisant : Regular Expressions book (96 pages) et Shell Programming Course (108 pages). La procédure d'écriture était régulière et sans douleur, donc je veux faire partager cette expérience.

Un livre est un vrai gros travail, mais cela n'a pas à être compliqué. Ecrire est organiser des idées dans des structures de texte comme des paragraphes, des sections et des listes. Txt2tags est un outil qui rend cette tâche simple et aisée.

Écrire seul ou dans une équipe, avec ou sans gestion de version, un contenu technique ou non, du texte seul ou avec des graphiques, dans tous les cas txt2tags peut être utilisé comme outil principal pour la création de livre.

> `[1]` Txt2tags lit un fichier texte avec un minimum de marques comme **gras** et //italique// et convertir en documents HTML, LaTeX et Adobe PageMaker. plus d'infos sur : http://txt2tags.org.

# 2. Éditeurs graphiques contre langage à balise

Les deux facons communes d'écrire un livre sont d'utiliser un éditeur visuel (Microsoft Word, Adobe Pagemaker) ou un langage à balises (LaTeX, docbook).

Avec les éditeurs visuels, vous écrivez et mettez en forme le contenu en même temps. Cette approche est bonne pour de courts documents mais pour des livres de 300 pages, la mise en forme consomme du temps et distrait l'auteur.

Dans les langages à balises, vous écrivez le contenu et insérez les marques, un programme externe le convertit dans sa forme finale. L'auteur ne s'occupe pas de la mise en forme mais insérer des `<tags></tags>` et `\encore{des marques}`. Cela est source d'erreur et très `intrusive`, rendant le contenu très difficile à lire dans les fichiers source.

Txt2tags utilise aussi les balises, mais la grosse différence est que les marques sont minimales, et aussi naturelles que d'utiliser des tirets pour les listes d'items. Ainsi l'auteur ne se concentre que sur le contenu et les fichiers source restent lisibles.

# 3. L'approche Txt2tags

En utilisant txt2tags, le processus d'écriture du livre suit les étapes suivantes :

1. L'auteur(s) apprend quelques règles de marques très simples.

2. L'auteur écrit le contenu du livre, sans s'occuper des détails tels que les marges, les fontes les couleurs et les tailles.

3. L'auteur (ou l'éditeur) ouvre le contenu sur un processeur de texte graphique qui lit le HTML (ou le LaTeX ou ...) et termine la mise en forme.

L'étape 1 dure quelques minutes. L'étape 2 peut prendre des mois, et l'étape 3 prend quelques jours ou semaines.

Vous écrivez le contenu quand vous voulez y passer du temps, il est donc important que cela soit simple, productif et plaisant.

Nous allons montrer les arguments qui font que txt2tags peut être utilisé pour cette tâche.

# 4. Rapide et acharné

Le temps est le plus important. En utilisant txt2tags vous allez avoir une grande productivité parce que vous écrivez le contenu, pas la mise en forme.

- Première révision rapide

  Il est très difficile de démarrer quelque chose, mais txt2tags a une approche agréable pour régler ce problème. Installez vous et écrivez du texte brut. Au bout de quelques minutes, vous ajoutez les marques txt2tags sur le texte et il est prêt à être converti et publié.

- Prévisualisation rapide

  Le format final n'a pas d'importance, HTML est le format préféré au moment de l'écriture. Une image de ce qui a été réalisé peut être faite à tout moment, en convertissant les sources en pages HTML, ainsi on peut le lire avec n'importe quel butineur. Si vous avez besoin d'une version imprimable, convertissez le en PDF avec l'excellent outil htmldoc.

- Vue du contenu

  Pour avoir rapidement une vue globale du contenu du livre utilisez l'option txt2tags TOC Only. Le programme montre la table des matières avec la liste des chapitres et section, numérotés ou non, avec n'importe quelle profondeur.

- Écriture rapide

  Les marques de txt2tags sont simples et minimales, très faciles à apprendre. Pas de noms, d'option ou de paramètres. Vous ne devez pas arrêter d'écrire pour insérer des marques, elles se coulent dans le texte. Si vous ne vous rappelez pas d'une marque spécifique oubliez la et continuez à écrire. A la fin faites une relecture globale et insérez rapidement les marques manquantes.

- Conversion Rapide

  Même si vous faites un livre de 500 pages, la conversion est rapide. C'est parce que txt2tags agit comme un filtre, convertissant d'un format à l'autre. Il ne fait pas d'index, de compilation, de compression, de tracé ou de traitement important sur les sources. Plus de librairies, de catalogues, de schémas ou de cauchemars DTD.

# 5. Organiser les sources en dossiers

Txt2tags a un commande interne pour inclure des fichiers externes n'importe où dans le document. On peut découper le source en de multiples fichiers.

- Chaque chapitre dans un dossier

  Vous pouvez faire un dossier pour chaque chapitre, enregistrant les sources dans une arborescence structurée. Dans chaque dossier (chapitre) vous pouvez créer des sous-dossiers pour enregistrer des images, des configurations ou des fichiers inclus.

- Plus de conflits

  En séparant les chapitres, des personnes différentes peuvent travailler sur des chapitres différents sans interférence. Chaque équipe travaille sur son propre dossier, éliminant les conflits dus à des changements intempestifs.

- Contrôle d'accès flexible

  Avec l'organisation des dossiers et des fichiers, on peut implémenter des règles de contrôle d'accès, positionnant les propriétés et les permissions pour chacun des fichiers ou chapitres. On peut utiliser des outils systèmes standard pour configurer les autorisations de lecture-écriture, comme dans le schéma "utilisateurs et groupes".

- Vue globale des source

  Structurer les sources aide aussi à avoir une vue globale du livre, en utilisant une butineur pour voir rapidement la quantité du texte et des images de chaque chapitre. (Astuce : sur UNIX, commandes `tree` et `du`).

- Travaillez sur votre chapitre, oubliez les autres

  En séparant les sources en fichiers, vous pouvez convertir un seul chapitre , pas besoin d'attendre que le livre soit terminé. En plus de la rapidité de conversion, un chapitre seul peut être envoyé aux relecteurs ou publié seul, comme échantillon du livre complet.

- Vous découpez, txt2tags regroupe

  À la conversion, txt2tags va automatiquement concaténer tous les chapitres dans le livre final, quelle que soit la taille et la grandeur des dossiers.

# 6. Le contrôle de version rendu facile

Txt2tags aide le contrôle de version avec des outils ligne (tels que CVS and Subversion). Les sources sont du texte brut, pas des //données compilées.

- Travaillez avec des lignes courtes

  Vous pouvez faire des lignes courtes en les coupant à 72 caractères. Cela va aider au contrôle de version, puisque c'est un outil ligne. Si le format final nécessite une longue ligne (comme PageMaker), txt2tags va les concaténer automatiquement.

- Sources lisibles

  Avec des marques minimales, les sources sont lisibles. On peut voir aisément ce qui a changé d'une version à l'autre. Les marques ne polluent pas le texte.

- Gros contenus, petits sources

  Avec du texte brut, vous pouvez avoir un gros contenu, avec peu d'occupation du disque. Les gens peuvent faire des `checkout` (des sorties du contrôle d'accès) et des `commits` même avec des connexions lentes.

- Versionnage de chapitre

  Comme vu auparavant, les sources sont organisés en dossiers. Cela rend le contrôle de version séparé possible par chapitre ou par section, cela dépendant de la granularité désirée.

# 7. La qualité en premier

Vous pouvez écrire un livre ou écrire LE livre. Txt2tags a des possiblités intégrées pour augmenter la qualité du travail.

- Correction orthographique

  Comme les marques de txt2tags sont des symboles et pas des mots, vous pouvez utiliser un correcteur orthographique sur les sources. Il ne s'occupera que du texte et n'essayera pas de corriger les marques.

- Base d'alias

  Txt2tags a un Pre Processing Filters (filtre avant conversion), où vous pouvez définir des couples clé/valeur. Partout où la clé est trouvée dans le source, elle est remplacée par la valeur au moment de la conversion. Par exemple si vous utilisez la chaine `URL_GOOGLE` dans votre texte, elle va apparaître comme `http://www.google.com` dans votre livre. Si l'URL de Google change, il n'y a qu'à changer la définition du filtre et toutes les occurences seront remises à jour. Vous pouvez définir autant de clés que vous voulez, et cela sans limite.

- Contenu dynamique

  Txt2tags a une commande pour inclure à la conversion du texte pré-formatté dans le document, par exemple un échantillon de code source. Vous pouvez séparer le code source du document et le remettre à jour soit manuellement soit automatiquement. Une bonne idée est de marquer le code source du programme avec des commentaires spécifiques, et un petit programme extrait les parties marquées dans des fichiers séparés.

- Contrôle sur le résultat

  Txt2tags a Post Processing Filters(filtre après conversion), où vous pouvez définir des règles qui ajustent le document généré. Ainsi si la conversion standard de txt2tags ne vous satisfait pas, vous pouvez `improve` avec vos propres filtres. Vous pouvez utiliser les expressions régulières pour faire vos filtres.

# 8. Autres avantages

Et il y a plus !

- Séparer la mise en forme de l'écriture

  En utilisant le HTML comme format de sortie, vous pouvez utiliser les fichiers CSS pour voir plusieurs rendus du livre. CSS définit la mise en forme pour les pages HTML, et il y a des éditeurs graphiques pour créer des fichiers CSS. Une équipe peut travailler sur les fichers CSS pendant que l'autre écrit le contenu.

- Inclure des structures complexes

  Txt2tags n'a pas le support de toutes les structures utilisées dans les textes : listes, définitions, `quotation`, `verbatim area` et tables. Mais si votre livre a besoin d'une structure plus complexe vous pouvez utiliser la possibilité des "inclusions marquées" (`Pass-Thru Include`) où vous insérez le texte déjà marqué comme une jolie table HTML. Avec txt2tags, les exceptions ne sont pas un problème !

- Utiliser n'importe quel éditeur

  Comme les sources sont du texte brut, même le plus modeste éditeur du monde peut être utilisé pour écrire un livre. Il n'a pas besoin d'autres capacités que d'écrire et sauver du texte. Si vous utilisez un éditeur avec le support txt2tags vous aurez la coloration syntaxique, qui aide à identifier les marques txt2tags. Ce sont les éditeurs : Vim, Emacs, Kat et Nano.

- Support technique

  Txt2tags a différents canaux de support technique : deux mailing lists (anglais et portugais), un canal IRC et une communauté `ORKUT`. Pour des projets de livre, vous pouvez envoyer directement des emails à l'auteur du programme, qui vous répondra prioritairement.

# 9. Aucun outil ne couvre tous les besoins

Il y a des cas spécifiques où txt2tags n'est pas un bon outil pour écrire un livre.

- Livres très complexes

  Les livres qui utilisent des tables compliquées, des formules ou des structures spécifiques, ont besoin d'un éditeur graphique ou un langage de balises plus complexe comme LaTeX. Si votre livre correspond à cela, txt2tags ne peut pas vous aider.

- Notes de bas de page

  Txt2tags n'a pas de support pour les notes de bas de page. Si vous en utlisez peu vous pouvez les ajouter après. Si vous voulez en faire un usage intensif, txt2tags ne peut pas vous aider. (NdT : Malgré tout avec le système de preproc et postproc propre à txt2tags, il est relativement aisé de rajouter des notes en LaTeX et de les simuler en html).

- Réferences pour des pages, des tables et des images

  On peut utiliser un éditeur graphique au moment de la publication pour inclure les index pour les pages, les tables et les images, pas de problème. Mais si vous voulez y référer dans le texte comme "voir table 4.11 page 35", txt2tags ne peut pas vous aider.

Writing Books with Txt2tags - Oct/2004 (voir le source)

Traduit par Claude Hiebel.