1. Manuel

TEXTALLION [tɛkstaljɔ̃] n.m. — (2009  ; de texte, et suffixe inconnu -llion, probabl. d’o. animale ou indiquant l'idée de la prem. pers. du pluriel. On l'écrit indiff. textallion ou TeXtallion.)

Système de traitement de texte utilisant une syntaxe wiki, générant une présentation finale attrayante, que cela soit au format PDF, HTML ou ePUB, et permettant une mise en forme simplifiée au clavier au lieu d'avoir à cliquer dans des menus. Accessoirement, la source d'un document peut être lue sans logiciel particulier. V.txt2tags.

Citation :

« Je t'envoie un fichier .t2t en pièce jointe, ne me dis plus que tu n'as pas le bon logiciel pour l'ouvrir ! »
Guillaume Grumbold, bibliothéquaire


1.1. Présentation

Le projet textallion permet à ses utilisateurs d'éditer et de publier simplement leurs textes, tout en leur donnant un aspect agréable.

Il est né de l'admiration pour l'apparence et la qualité du placement des lettres dans le système LaTeX, ainsi que pour la facilité d'utilisation de txt2tags.

Mais il est né également de la frustration de ne pas pouvoir utiliser simplement LaTeX pour écrire de la prose, sans avoir à subir sa syntaxe particulièrement intrusive et sa complexité d'apprentissage* (Remarque qui peut également concerner dans une moindre mesure la syntaxe html).

Le but est donc de pouvoir sortir un roman ou un texte littéraire, en utilisant txt2tags comme pré-processeur, et ainsi garder des marques de formatage non distrayantes, tout en pouvant exporter en LaTeX et html selon le type du document final envisagé : publication papier (pdf), page internet (html, ainsi qu'en version de présentation avec slidy), ou encore livre électronique (epub), et cela à partir d'une source unique pour tous ces documents.

Ainsi, cet outil s'adresse surtout à ceux qui souhaitent écrire facilement et rapidement des textes de type poésie ou prose, sans entrer dans les méandres des commandes LaTeX. (LaTeX est parfois le contraire du wysiwyg (what you see is what you get), par certains aspect cela devient du wysiwyhtst : "What you see is what you have tested several times".)

Il présente par défaut : mise en gras, italique, soulignage, barré, texte coloré, organisation hiérarchique (titres et sous-titres), listes à puce ou numérotées, inclusion d'images et de liens hypertextes, numérotation des pages, haut de page avec titre et ligne de séparation, support des notes de bas de page, exergues (épigraphes), table des matières, colonnes, modification de taille de polices (très basique), ornementations type lettrine ou petites feuilles aldines.

Il inclut également un système pour la création de « livres-jeux » (livres dont vous êtes le héros).

Cet outil est relativement simple à utiliser, mais pas simpliste : il est nécessaire pour en tirer partie d'avoir quelques bases en informatique, du fait de l'obligation de l'installation et de l'utilisation des ressources de plusieurs autres projets en même temps (python, latex). Dit autrement, c'est un peu un outil pour geeks, mais malgré tout il sera possible d'avoir un confort d'écriture nullement atteint avec les traitements de texte habituels, et l'installation de ces autres logiciels ne nous semble pas insurmontable avec un peu de bonne volonté.

On peut imaginer 3 manières d'aborder textallion :

Ce n'est donc pas un logiciel clé en main qui permettra de réaliser tout et n'importe quoi, mais c'est la réorganisation d'outils existants qui, mis ensemble avec quelques règles de styles, permettent de réaliser une tâche précise.

Ce présent manuel se focalise surtout sur la création de documents pdf, destinés en particulier à l'impression, mais tout est normalement adaptable pour la publication en html pour internet, et le format ePUB pour les liseuses numériques (lecteurs d'ebooks, livres électroniques, téléphones portables, smartphones).

Note : Ce projet avait pour nom « txt2tex » à l'origine.

1.2. Obtenir le Textallion

La dernière version en développement se trouve à cette adresse :

Elle s'obtient :

hg clone https://farvardin@hg.code.sf.net/p/textallion/code textallion-code

Une copie du dépôt est sur github à cette adresse : https://github.com/farvardin/textallion On peut l'obtenir :

git clone https://github.com/farvardin/textallion.git

Il y a également une copie ici (pas forcément toujours à jour) : http://anamnese.online.fr/site2/textallion/textallion.zip

Il est possible de retrouver les anciennes versions dans http://anamnese.online.fr/site2/textallion/archives/

1.2.1. Paquets optionnels

Il est recommendé d'automatiser vos créations de documents en utilisant 'GNU make', à partir du makefile d'exemple. Vous pouvez également ajouter des modifications postcripts (édition pdf au niveau vectoriel) avec des outils tels que pstopdf, psutils (pdfnup, psbook) et pdfjam.

Parfois l'utilisation de LaTeX n'est pas toujours aisée. Pour un export simple vers le format PDF, il est possible d'utiliser wkhtmltopdf

1.3. Pré-requis (installation)

Le Textallion a été testé avec succès sur ces plateformes :

1.3.1. Linux

LaTeX et python 3 doivent être présent sur votre ordinateur. La plupart des distributions, sinon toutes, fournissent cela. Par exemple Archlinux, Mandriva et Debian, via TeXlive. (Vous devez avoir au moins les paquets texlive-core et texlive-humanities).

(sous Debian/Ubuntu/Mint : apt-get install python3 texlive-base texlive-latex-base texlive-extra-utils texlive-latex-recommended texlive-latex-extra texlive-fonts-extra texlive-lang-french latexml tipa texlive-fonts-recommended texlive-xetex tidy calibre wkhtmltopdf)

Vous pouvez utiliser le petit script d'installation textallion_install.sh (à lancer en root), pour copier l'ensemble des fichiers nécessaires dans /usr/share/textallion/, ou le dossier de votre choix.

  sudo bash textallion_install.sh

Pour désinstaller ce qui a été précédemment installé par ce script, il suffit d'effacer le dossier /usr/share/textallion/ et le fichier /usr/bin/textallion

1.3.2. Windows

1ème méthode

Autre méthode

Python doit être installé sur votre ordinateur. Choisissez la version 3 de python de préférence, la version 2 devrait être encore compatible, mais python3 est maintenant utilisé par défaut.

1.3.3. *BSD

Même procédure que sous Linux, à la différence de taper gmake à la place de make car le makefile utilise GNU make. Comme texlive n'est pas officiellement supporté par FreeBSD, veuillez utiliser teTeX à la place.

1.3.4. Mac OS X

Non testé. Vous devriez pouvoir utiliser les instructions pour BSD plus haut, conjointement avec macports pour rajouter les logiciels spécifiques.

1.4. Utilisation

Vous pouvez vous inspirer du document examples.t2t comme base pour votre propre document.

Le fichier textallion.t2t est le moteur du système. Pour l'export PDF, il y a également le style textallion.sty, qui est indispensable pour son fonctionnement. Il n'y a normalement pas à modifier ces 2 fichiers. Vous pouvez les placer à l'endroit que vous voulez sur votre système, et juste faire référence à textallion.t2t depuis votre document de travail. De plus, selon l'export utilisé, il est nécessaire de rajouter des modèles, que l'on trouve dans le dossier "templates" : pour le moment xhtml.html pour les exports HTML et ePUB, et latex.tex pour l'export PDF.

Note: si vous avez utilisé auparavant une ligne dans ce genre : %!style(tex): /usr/share/textallion/core/textallion, elle devient maintenant %!postproc(tex): 'TEXTALLIONPATH' '/usr/share/textallion/'

Voici ensuite un rappel des avantages des divers formats de publications proposés :

1.4.1. HTML

Format du « web » par excellence, le HTML permet de s'afficher partout, quasi-universellement, dans les navigateurs internets* (Textallion ne supporte que les navigateurs utilisant les standards actuels, comme Firefox, Opera, Chrome etc), aussi l'affichage pourra être dégradés sur certaines versions d'Internet Explorer, a priori surtout les plus anciennes).

Le style par défaut, à modifier à votre convenance si nécessaire est sample.css (dans le dossier includes), à moins qu'un script d'initialisation l'ai renommé du nom de votre projet.

Nous avons également inclu par défaut l'affichage d'une police spécifique, récupérée sur les serveurs de google. Dans le cas où l'ordinateur visualisant le document HTML ne serait pas connecté à internet, la police sera automatiquement remplacée par une police serif de base disponible sur tous les navigateur. Et si vous souhaitez modifier ce comportement, soit pour éviter de se connecter sur un service externe, soit pour utiliser votre propre police, soit pour préférer des polices plus classiques (serif, arial etc), il suffit de retirer la partie "CustomFont" dans la ligne font:1.2em/1.625em CustomFont, serif ; et le bloc @font-face.

1.4.2. PDF

Format pour l'impression et l'affichage à l'écran, le PDF est nécessaire lorsqu'il s'agit d'avoir partout la même mise en page, quelque soit l'ordinateur qui l'affiche, ainsi que pour la création d'un livre destiné à l'imprimeur.

Le style par défaut, à modifier à votre convenance si nécessaire est sample.sty (dans le dossier includes), à moins qu'un script d'initialisation l'ai renommé du nom de votre projet.

1.4.3. ePUB

Format pour la lecture numérique, l'ePUB est adapté pour l'utilisation dans une liseuse ou sur un téléphone portable : il n'a pas de mise en page fixe, tout comme le HTML et contrairement au PDF, par contre il a l'avantage d'être optimisé pour l'affichage sur de tels écrans, tout en ne présentant qu'un unique fichier contenant les images et les différents chapitres, ce qui est plus commode pour l'utilisateur final.

Le style par défaut, à modifier à votre convenance si nécessaire est epub.css (dans le dossier includes), à moins qu'un script d'initialisation l'ai renommé du nom de votre projet.

Notre exportation ePUB est très loin d'être parfaite, on utilise simplement un export xhtml et quelques simplifications, pour la conversion avec le logiciel Calibre. Vous pouvez si nécessaire utiliser un outil comme Sigil pour reformater ensuite manuellement votre document ou optimiser son apparence.

1.5. Syntaxe

La syntaxe générale est celle de txt2tags, à laquelle on a rajouté quelques symboles pour permettre des fonctionalités avancées.

1.5.1. Rappel et mémo sur txt2tags

Nous rappelons brièvement ici cette syntaxe :

1.5.2. Symboles supplémentaires pour la typographie

Les nouveaux symboles sont généralement définis par 4 signes entre accolades. Ainsi on a ces conventions :

Description symbole code
lune premier quartier
{ )) }
pleine lune
{ () }
lune dernier quartier
{ (( }
soleil
{(  )}

Il est possible d'entrer ces symboles directement dans votre source si vous le souhaitez, mais ils seront peut-être plus difficiles à lire dans un éditeur de texte. Vous ne pourrez entrer de nouveaux symboles en unicode si vous voulez publier en pdf (à moins de modifier les directives de préprocesseur dans votre document, sur le modèle de ce qui a été fait dans le fichier textallion.t2t), car cette version de latex ne supporte pas unicode. Mais la sortie html pourrait le faire.

Certains lecteurs ePUB ne supportent pas ces symboles, aussi ils ont été remplacés par des étoiles * dans l'export ePUB.

Pour signifier des passages importants vous avez également ces symboles :

⊕ pour un passage positif ⊖ pour un passage négatif

⚠ pour un passage à faire attention (?) pour une question (i) pour une information générale

{x} (pour une erreur ?)

Notes de bas de page

Les notes de bas de pages sont possibles en entourant ces notes avec °° des deux côtés (voir exemple plus bas, et le code source du document pour des exemples plus précis).

Pour plus de logique avec la syntaxe ajoutée à txt2tags, il est possible de créer des notes de bas de page avec le symbole { °° } (celui-ci doit rester accolé à la portion de texte).

La version LaTeX renumérotera automatiquement les notes, tandis que la version html utilisera une étoile pour faire référence à la note.

Pour apporter plus de souplesse dans l'exportation html, qui ne peut générer cette renumérotation, on peut ajouter manuellement à la fin de la note, entre parenthèses, un numéro pour remplacer l'étoile, par exemple :

  Ceci est un texte avec une annotation°°Ceci est la note.(1)°°.

donnera :

Ceci est un texte avec une annotation1 (Ceci est la note.).

Le symbole ° peuvent être tapé sur les claviers qwerty avec alt+248 sous Windows, et alt gr + 0 sous Linux.

Table des matières et Index

La table des matières est automatiquement générée par txt2tags. C'est la commande %%toc qui indique l'endroit de cette table des matières dans votre document, sinon, par défaut c'est au début du document.

L'index est optionnel. Pour l'activer, il suffit de vérifier que les options \usepackage{makeidx} et \makeindex soient bien présentes dans le fichier de style .sty, et que la commande %%index soit appelée à l'endroit où vous souhaitez placer cet index. Les entrées d'index se font avec les mots à indexer entre le symbole {^}. Pour indexer sous un autre nom, il suffit d'écrire par exemple {^}pomme{^fruit}.

Dialogues, guillemets, espaces insécables et autres règles typographiques

Pour débuter des dialogues, veuillez écrire un triple tiret (-), qui générera un tiret cadratin (—) dans le document final.

Il est nécessaire de laisser une ligne entre chaque réplique.

Les guillemets à la française peuvent être ajoutés tels quels, mais il est également faisable d'écrire à la place {" } et { "} (sans espace avec les mots concernés).

Si vous voulez ajouter un espace insécable dans votre texte, vous pouvez utiliser le symbole ¯.

Txt2tags offre une réelle souplesse quand aux remplacements de portions de texte, aussi si votre source ne contient pas les espaces nécessaires à la ponctuation française (par exemple avec les points d'interrogation collés aux mots les précédant), vous pouvez utiliser dans l'entête de votre document ces remplacements :

%!preproc: '\?' ' ?'
%!preproc: '\!' ' !'
%!preproc: ' ;' '  ;'
%!preproc: '«' '« '
%!preproc: '»' ' »'

Textallion corrige automatiquement l'espace avant  ; par un espace insécable. Mais si le point virgule est collé ; rien ne sera corrigé (vous pouvez le faire manuellement avec une règle preproc).

Textallion ne corrige pas automatiquement les trois points de suspension…

Retours à la ligne

Txt2tags (txt2tags) est conçu pour ne pas prendre en compte un simple retour à la ligne dans l'affichage final.

Pour faire un véritable saut de ligne, il faut donc passer 2 lignes, mais il est également envisageable de faire débuter chaque ligne où vous voulez un retour, d'un espace simple (syntaxe rajoutée et spécifique à textallion). Cela peut être ainsi plus pratique et élégant pour afficher de la poésie, qui utilise de nombreux sauts de ligne. En cas de deux espaces ou plus avant le premier mot, cela fera un retour à la ligne suivi d'une indentation de paragraphe (dans la version PDF uniquement), ceci n'est pas un alinéa, c'est juste un effet visuel lié à LaTeX. Pour réaliser un véritable alinéa, il faut passer 2 lignes.

Vous pouvez forcer un retour à la ligne avec {//..}, ou la version simplifiée //... Si possible, vous devriez essayer malgré tout de garder la syntaxe complète avec les accolades pour garder une unité, mais c'est aussi selon votre goût.

Si vous souhaitez copier et coller rapidement du texte d'internet ou d'une autre source, vous trouverez sans doute ennuyeux de devoir inclure à chaque fois les marques spéciales de retour à la ligne (*-*-), aussi vous pouvez activer cette option dans l'entête de votre document pour pallier cela :

  %!postproc: "$" '{//..}'

Mais cela peut conduire à d'autres contraintes, aussi c'est à utiliser avec parcimonie.

Saut de page

Un saut de page se fait avec le symbole {/…}.

Exposants

On peut utiliser ^^ ou { ^^ } pour entourer la partie à utiliser en tant qu'exposant. Par exemple 2^^ème^^ ou 24^^5^^.

Taille d'image et alignement

Pour inclure des graphismes, il suffit d'utiliser la syntaxe générale de txt2tags, et de rajouter optionnellement accolé à votre image, entre crochets, la taille souhaitée (valeur en mm) :

par exemple : [chemin_vers/mon_image.png][24]

(10) (20) (30)

Dans la version html, cela affichera cette valeur en pourcentage de la page.

Il est possible de centrer l'image en utilisant une tabulation avant celle-ci

Pour entourer ou envelopper l'image avec du texte (wrapping), on peut utiliser la forme [image.png]{~~~~} (image à gauche) ou {~~~~}[image.png] (image à droite)

Cette dernière notation vient après l'éventuelle notation de taille.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Il est toujours possible d'indiquer l'information de taille d'image, ce qui sera d'ailleurs souhaitable pour maîtriser pleinement l'effet de la vignette.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

1.5.3. Liens

Si vous trouvez plus logique d'utiliser la syntaxe [description URL] pour vos liens, vous pouvez l'écrire ainsi, cela sera converti en interne par textallion, vers [description URL].

Site internet de txt2tags

Note : Même si vous écrivez [[description | http://www.monsite-internet.com/URL avec des espaces.html]], cela ne sera pas correctement retraduit en lien avec espaces, puisque cela sera transformé en [description http://www.monsite-internet.com/URL avec des espaces.html] et que seul espaces.html sera considéré comme le lien. Ici le | est juste un repère visuel pour séparer l'URL. Pour ajouter des espaces dans une URL, veuillez indiquer %20 à la place de ces espaces.

1.5.4. Rajout de sons, de musiques ou de vidéos

Plus spécialement utile pour le module de jeux textuels (voir plus bas), il est possible de rajouter de la musique avec la syntaxe : [musique.ogg], ce qui s'affichera dans le navigateur sous forme de lecteur de musique compatible balise HTML5 dans les exports HTML. Seul le format ouvert et libre ogg/vorbis est supporté, car contrairement au mp3, il est directement compatible avec la plupart des navigateurs : Firefox, Chrome, Opera.

Exemple de musique :

De la même manière vous pouvez inclure des vidéos au format ogg/theora, avec l'extension .ogv ou .webm à la place de l'extension .ogg : [video.ogv]

Exemple de vidéo (téléchargée depuis un site internet extérieur) :

Exemple de vidéo :

1.5.5. Taille du texte

1.5.6. Zones en italique ou en gras, zone de code

Txt2tags ne permet de formater en italique ou en gras que dans des passages sans retour à la ligne. Si vous souhaitez mettre en italique un passage contenant plusieurs paragraphes, il vous suffit de le débuter avec { // } et de le terminer avec {/// }.

De même pour des passages en gras, qu'il vous suffit de débuter avec { ** } et de clore avec {/** }.

Du code (écriture non-proportionnelle), s'écrit avec {####} et {/###}. Le Verbatim de txt2tags (trois fois `) fonctionne bien avec HTML, mais peut poser problème en LaTeX (sort du cadre de la page si la ligne est trop longue)

1.5.7. Exergue (épigraphe)

En exergue on place traditionnellement une citation avec son auteur sous un titre de chapitre. Nous avons fait en sorte de décaler le texte à droite, avec une margue assez importante à gauche, c'est pour cela que nous avons indiqué comme symboles pour débuter {  ~~} et pour terminer {/ ~~}. Il est possible de modifier l'apparence finale en modifiant le style LaTeX ou le style CSS. Vous pouvez indiquer un auteur à cette citation en l'accolant juste après {  ~~} ou après {/ ~~}, soit entre accolades, soit directement.

Veuillez éviter d'écrire sur une seule ligne : {  ~~}Citation{/ ~~}

Ainsi :

{  ~~}
Ce qu'il y a d'admirable dans le fantastique, c'est qu'il n'y a plus de fantastique : il n'y a que le réel.
{/ ~~}André Breton

deviendra :

Ce qu'il y a d'admirable dans le fantastique, c'est qu'il n'y a plus de fantastique : il n'y a que le réel.
André Breton

1.5.8. Couleurs

Pour illustrer ponctuellement des documents avec du texte en couleur (Traitement des couleurs), il est possible d'utiliser la syntaxe @@COLOR@@nom de la couleur@@Texte à coloriser@@/COLOR@@. On commence à observer une syntaxe un peu intrusive, mais c'est le prix à payer pour obtenir un peu de couleur, ce type d'indication ne pouvant se symboliser autrement. Cela reste plus simple que leurs équivalents respectifs en LaTeX ou html.

Les couleurs de base sont :

black blue brown cyan darkgray gray green lightgray lime magenta olive orange pink purple red teal violet white yellow

Et vous pouvez également utiliser les codes couleurs suivants, qui sont compatibles à la fois dans LaTeX et en HTML (couleurs svg, mais la plupart sont sans doute inutiles) :

AliceBlue AntiqueWhite Aqua Aquamarine Azure Beige Bisque Black BlanchedAlmond Blue BlueViolet Brown BurlyWood CadetBlue Chartreuse Chocolate Coral CornflowerBlue Cornsilk Crimson Cyan DarkBlue DarkCyan DarkGoldenrod DarkGray DarkGreen DarkGrey DarkKhaki DarkMagenta DarkOliveGreen DarkOrange DarkOrchid DarkRed DarkSalmon DarkSeaGreen DarkSlateBlue DarkSlateGray DarkSlateGrey DarkTurquoise DarkViolet DeepPink DeepSkyBlue DimGray DimGrey DodgerBlue FireBrick FloralWhite ForestGreen Fuchsia Gainsboro GhostWhite Gold Goldenrod Gray Green GreenYellow Grey Honeydew HotPink IndianRed Indigo Ivory Khaki Lavender LavenderBlush LawnGreen LemonChiffon LightBlue LightCoral LightCyan LightGoldenrod LightGoldenrodYellow LightGray LightGreen LightGrey LightPink LightSalmon LightSeaGreen LightSkyBlue LightSlateBlue LightSlateGray LightSlateGrey LightSteelBlue LightYellow Lime LimeGreen Linen Magenta Maroon MediumAquamarine MediumBlue MediumOrchid MediumPurple MediumSeaGreen MediumSlateBlue MediumSpringGreen MediumTurquoise MediumVioletRed MidnightBlue MintCream MistyRose Moccasin NavajoWhite Navy NavyBlue OldLace Olive OliveDrab Orange OrangeRed Orchid PaleGoldenrod PaleGreen PaleTurquoise PaleVioletRed PapayaWhip PeachPuff Peru Pink Plum PowderBlue Purple Red RosyBrown RoyalBlue SaddleBrown Salmon SandyBrown SeaGreen Seashell Sienna Silver SkyBlue SlateBlue SlateGray SlateGrey Snow SpringGreen SteelBlue Tan Teal Thistle Tomato Turquoise Violet VioletRed Wheat White WhiteSmoke Yellow YellowGreen

On peut indiquer une couleur avec son code html à la place de son nom, par exemple #6D7D2E, ce qui donne : Ma belle couleur verte. Par contre LaTeX n'affichera pas cette couleur, cela sera remplacé par du gris.

1.5.9. Centrage de texte

Vous pouvez centrer du texte en commençant une ligne par un | (avec LaTex uniquement) :

texte centré (mais pas en html)

ou encore en entourant un paragraphe avec {->--} et {-<--} :


Un bel haiku
Texte poétique bien centré
Voilà ce qu'on recherche ici

N'oubliez pas de rajouter une espace avant chaque ligne pour préserver les retours à la ligne.

ou encore avec @@begin((center))** et @@end((center))**


Un bel haiku
Autre méthode bien compliquée
Pour les amoureux du TeX

Troisième possibilité, pour aller avec le symbole de l'exergue, vous pouvez utiliser {  ~~  } et {/ ~~  }

1.5.10. Colonnes

Vous pouvez utiliser le symbole {|n|} pour signifier que vous voulez avoir votre texte sur n colonnes, n étant une valeur comprise entre 0 et 4. On considère que 4 colonnes c'est déjà un maximum pour une présentation de texte. À la fin de la zone à mettre en colonnes, on termine par cette même commande avec n=0 ou n=1 pour signifier le retour à la normale.

1.5.11. Tables

Les tables sont natives dans txt2tags. Mais dans l'export LaTeX (pdf) par défaut, si une table est trop longue, elle sortira en bas de la page et la fin ne sera pas affichée, aussi nous utilisons le paquet longtable et tabu au lieu de tabular. Si vous préférez revenir à tabular, veuillez rajouter ceci dans votre en-tête :

  %!postproc(tex): 'longtable' 'tabular'``
  %!postproc(tex): 'longtabu' 'tabular'``

In the case your tables has so many columns that it will print outside the width of the page, use this trick to wrap long texts, for example if your table has 4 columns:

  %!postproc(tex): '\{\|l\|l\|l\|l\|\}' {|p{3cm}|p{3cm}|p{3cm}|p{3cm}|}

(we must escape the { and | symbols when using *proc in txt2tags)

If your document has only one table, it will be ok. You can also customise the width of each column. If it has more tables and you wish to use different widths, you can use a second trick:

add extra spaces at the beginning of one of the colum, like this:

  | left | left | left |   right |

so this table will be unique to the document and you can use this now:

  %!postproc(tex): '\{\|l\|l\|l\|r\|\}' {|p{2cm}|p{3cm}|p{5cm}|p{3cm}|}

Reminder: tables are aligned like this:

  | Lorem ipsum dolor | sit amet, consectetur | adipiscing elit. Donec a diam lectus. |
  | left align |    right align |  center align  |
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus.
left align right align center align
   | Lorem ipsum dolor | sit amet, consectetur | adipiscing elit. Donec a diam lectus. |
   | left align |    right align |  center align  |
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus.
left align right align center align

1.5.12. Code LaTeX complet

Même si ce n'est pas prévu pour, vous pouvez également rajouter du code spécifique à LaTeX, en remplaçant les \ par des @@ et les { et } par respectivement (( et )). Si vous voulez que la commande disparaîsse totalement du document html, vous aurez besoin de finir la commande par deux étoiles ** pour indiquer la fin du code.

Il est également possible, de façon plus simple, d'encadrer votre code latex avec la syntaxe txt2tags pour le verbatim (trois ```) ou le nouveau format tagged (trois '''). Mais contrairement à la syntaxe décrite précédemment, cela inclura le code LaTeX dans le document html, ce qui n'est pas forcément souhaitable, sauf si vous avez uniquement besoin de l'exportation LaTeX.

Le code source du présent document vous donnera plus d'exemples sur comment rajouter directement des options latex dans votre texte. Par exemple une formule mathématique (qui n'apparaîtra pas dans la version html) :

En version verbatim :

  \begin{displaymath}
  \frac{a}{b} + \sqrt[n]{abcd}
  \end{displaymath}

Ou une boîte :

@@Ovalbox((Test de mise en boîte))

Ce dernier exemple apparaîtra bizarrement dans la version html car il n'y a pas les ** de fin de commande spéciale.

Exemple des notes :

On pourra ainsi include des notes (version avec le code de remplacement)

Mais attention, de cette manière, celles-ci n'apparaîtront pas lors de l'export html

Il vaut mieux utiliser cette forme pour avoir des notes sauvegardées* (Cette note sera gardée dans la version html du document, incluant également du formatage éventuel.)

Enfin, il y a également cette forme alternative* (Uniquement pour garder l'idée des symboles entourés d'accolades…)

Équations LaTeX

Elles se créent en entourant les équations avec le symbole { $$ } (des deux côtés).

Elles seront affichées telles quelles en html. Vous pouvez les visualiser en ligne avec http://www.codecogs.com/latex/eqneditor.php

En version en ligne : \delta = 3 \times \sum X_i^2, ainsi que 4 - \sqrt X

En version hors ligne : \delta = 3 \times \sum X_i^2

1.5.13. Exemple code unix

Si vous avez besoin d'include des caratères que l'on trouve dans le code txt2tags, vous pouvez protéger leur exécution en les entourant de double quote ("")

find . -print | cpio -o -H newc | gzip -9 > ../initrd.gz

1.6. Unicode, Ligatures… (rendu XeTeX)

L'utilisation de XeTeX à la place de LaTeX se fait avec la commande make xetex au lieu de make pdf. Cela permet d'utiliser des caractères unicodes dans la source :

Les ligatures :

Cela permet également de modifier l'apparence des chiffres (chiffres elzéviriens) : 1234567890

⚠ Le modèle de document xetex ne contient pas de page de garde.

1.7. Installation de nouvelles polices pour LaTeX

Vous pouvez trouvez des exemples de belles polices pour LaTeX et des moyens pour les installer depuis The LaTeX Font Catalogue. Notamment en utilisant getnonfreefonts vous pouvez installer la belle police dayroman.

1.8. Module de courrier

La commande make lettre utilisée sur un modèle tel que celui fourni dans le fichier samples/exemple_lettre.t2t permet de créer un courrier (pdf) en utilisant le style Lettre de LaTeX :

1.9. Module de création de livres-jeux

Cette partie de la documentation a été déplacée dans le fichier textallion_cyoa_fr

2. Exemples de prose

2.1. La tour de Nesle

Il y avait à la tour de Nesle un corps-de-garde auquel se logeait le guet pendant la nuit.
Brantome.

« Valet de trèfle ! — Dame de pique ! de gagne ! » Et le soudard qui perdait envoya d’un coup de poing sur la table son enjeu au plancher.

Mais alors messire Hugues, le prévôt, cracha dans un brasier de fer avec la grimace d’un cagou qui a avalé une araignée en mangeant sa soupe.

— « Pouah ! les chaircuitiers échaudent-ils leurs cochons à minuit ? Ventre dieu ! c’est un bateau de feurre qui brûle en Seine ! »

L’incendie qui n’était d’abord qu’un innocent follet égaré dans les brouillards de la rivière, fut bientôt un diable à quatre tirant le canon et force arquebusades au fil de l’eau.

Une foule innombrable de turlupins, de béquillards, de gueux de nuit accourus sur la grève, dansaient des gigues devant la spirale de flamme et de fumée.

Et rougeoyaient face à face la tour de Nesle, d’où le guet sortit l’escopette sur l’épaule, et la tour du Louvre, d’où, par une fenêtre, le roi et la reine voyaient tout sans être vus.

par Aloysius Bertrand dans Gaspard de la Nuit.


Voir examples.html pour plus d'exemples de textes.

3. Ressources diverses

3.1. Outils concurrents, similaires ou associés

4. License and credits


All textallion code and hacks are released under the BSD license

  Copyright (c) 2008-2020, Éric Forgeot. 
  All rights reserved.
  
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the <organization> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES ; LOSS OF USE, DATA, OR PROFITS ; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


All personal artwork and documentation, if applicable, are licensed under the CC-BY-SA license.


You can contact me about Textallion:


Textallion uses txt2tags as a backend. Txt2tags is covered by the GNU GPL.


Credit is due to:

5. Changelog

The release filenames are in the form: textallion_year-month-day_artistname.zip. If some additions are made during the same month, there won't be a full release with a new artist's name, but the update's filename will show a new date, for example: textallion_2010-08-13_chasseriau.zip and then textallion_2010-08-15_chasseriau.zip

- 18 mai 2020:

- updated installation script - adding more free audio/video formats - use .desktop with the installer - use tabu instead of longtable for the tables - CYOA: adding templates for inform7, twee - CYOA: new target: Inkle (Ink syntax) - CYOA: new target: Dialog (can render to zcode, html and C64) - now default txt2tags version is for python3 - change mercurial repository from Bitbucket to Sourceforge


- updated ms windows installer

6. Todo and known bugs

6.1. Syntax, backend and docs

6.2. HTML

6.3. PDF (LaTeX and XeTeX)

6.4. EPUB

6.5. Windows

6.6. txt2cyoa