Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
distributions:annexes:alternatives_a_tex [2018/05/24 16:59] joseph.wright6_distributions:annexes:alternatives_a_tex [2021/11/07 20:22] (Version actuelle) – Suite et fin de traduction en français. jejust
Ligne 1: Ligne 1:
---+====== Existe-t-il des alternatives à TeX? ======
-section: Current TeX-related projects +
-permalink: /FAQ-alternatives +
-date: 2018-05-24 +
-redirect_from: /FAQ-ant +
----+
  
-# Alternatives to TeX+L'idée d'écrire ses documents « comme des programmes » ne se limite pas à TeX
 +et de nombreuses pistes d'implémentation ont été explorées au fil des ans, 
 +dont certaines de façon fructueuse. 
 +Quelques unes ont été antérieures à TeX, d'autres cherchent à le remplacer, 
 +enfin d'autres sont relativement complémentaires. 
 +L'utilisation d'une syntaxe de type (La)TeX se retrouve dans un certain nombre d'entre elles, 
 +mais pas dans toutes.
  
-The idea of using a programmatic approach to typeset documents is not limited +<note> 
-to TeX, and there have been many different approaches explored over the years. +Les projets énumérés ici sont entièrement distincts de TeX ou de ses dérivés 
-Some of these seek to potentially replace TeX, others are more complementary. +(ce ne sont pas des [[1_generalites:histoire:projets_derives_de_tex|programmes « TeX-like »]]). 
-The use of (La)TeX-like syntax is seen in some, though not all, of these.+</note>
  
-The projects listed here are entirely distinct from TeX or its derivatives 
-(they are not ''TeX-like'' programs). 
  
-## Active projects+===== Projets actifs =====
  
-### Patoline+{{ https://sile-typesetter.org/images/logo.png?170}} 
 +==== SILE ====
  
-[Patoline](http://patoline.org/) is a typesetting system written in OCaml and +[[http://sile-typesetter.org/|SILE]] est un système de mise en page écrit en Lua 
-using a mix of TeX-like syntax and ''escape'' to OCaml to provide typesetting +et utilisant la [[wpfr>HarfBuzz|bibliothèque HarfBuzz]] pour le rendu des caractères. 
-controlPatoline aims for a module designand fast numerical processing.+Sa syntaxe d'entrée est largement inspirée de LaTeXpar exemple:
  
-### SILE +<code latex>
- +
-[SILE](http://sile-typesetter.org/) is a typesetting system written in Lua and +
-using the HarfBuzz font shaper. It's input syntax is somewhat inspired by +
-LaTeX, for example +
-```latex+
 \begin{document} \begin{document}
 Hello SILE! Hello SILE!
 \end{document} \end{document}
-``` +</code> 
-is a valid SILE document (notice the _lack_ of preamble here).+ 
 +est un document SILE valide (remarquez l'absence de préambule ici). 
 + 
 +SILE peut également prendre du XML en entrée (en fait, ce qui précède est lu comme du XML avec une syntaxe particulière). 
 + 
 +SILE est programmable en Lua. Puisque XML est un langage de description raisonnable, et que Lua est un vrai langage de programmation, 
 +l'écriture d'extensions et de commandes pour SILE tend à être plus facile et plus rapide que pour TeX. 
 + 
 +SILE supporte complètement [[wpfr>Unicode]] et les polices [[wpfr>TrueType]]/[[wpfr>OpenType]]. 
 +Comme il s'appuie sur des bibliothèques de mise en forme modernes, il prend facilement en charge plusieurs langues 
 +et tous les types d'écritures (par exemple l'arabe et le japonais). 
 +Il sait également mettre en forme les équations mathématiques. 
 + 
 +Bien que SILE n'ait pas la pléthore d'extensions dont dispose TeX, il possède quelques fonctionnalités qui sont absentes de TeX : 
 +  * le support de mises en pages complexes à base de cadres, inspiré d'InDesign; 
 +  * la composition du texte sur une grille (pour éviter les problèmes de transparence quand on imprime sur papier fin). 
 + 
 +Par ailleurs, la possibilité de prendre du XML en entrée permet d'automatiser la création de catalogues, de dictionnaires, etc. 
 + 
 +{{  https://www.speedata.de/images/logo-int.png?180}} 
 +==== Speedata Publisher ==== 
 + 
 +[[https://www.speedata.de/en/|Speedata Publisher]] est, comme SILE, écrit en [[wpfr>Lua]], 
 +mais utilise [[1_generalites:glossaire:qu_est_ce_que_luatex|LuaTeX]] pour toute la partie interne 
 +du traitement du document (nous parlons bien de LuaTeX et non de Lua pur). 
 +Il comporte une couche externe basée sur TeX, mais une fois que les données sont passées à Lua, 
 +TeX n'est plus impliqué. 
 + 
 +FIXME Préciser clarifier la structure de la chaîne de traitement, car le paragraphe précédent est confus. 
 + 
 +Speedata Publisher est particulièrement bien adapté à certains domaines dans lesquels TeX un peu de mal, 
 +par exemple les documents comportant de nombreuses images, comme les catalogues de produits. 
 +Il sait utiliser XML et peut parcourir une base de données. 
 + 
 +{{ https://raw.githubusercontent.com/wiki/gfngfn/SATySFi/img/satysfi-logo.png?170}} 
 +==== SATySFi ==== 
 + 
 +[[https://github.com/gfngfn/SATySFi|SATySFi]] (prononcé de la même manière que le verbe « //satisfy// » en anglais) 
 +est un nouveau système de mise en page basé sur un langage de programmation fonctionnelle à typage statique. 
 +Il se compose principalement de deux couches: la couche texte et la couche programme. 
 +La première sert à écrire des documents dans une syntaxe semblable à celle de LaTeX. 
 +La seconde, dont la syntaxe est semblable à celle d'OCaml, sert à définir les fonctions et les commandes. 
 +SATySFi vous permet d'écrire des documents balisés avec des commandes de votre cru. 
 +De plus, les erreurs de typage sont signalées avec des messages informatifs, 
 +ce qui est une aide précieuse quand on écrit ses propres fonctions.  
 + 
 +{{ https://patoline.github.io/images/titleduck.png?170}} 
 +==== Patoline ==== 
 + 
 +[[http://patoline.github.io/|Patoline]] est un système de mise en page écrit en [[wpfr>OCaml]] 
 +qui utilise un mélange de syntaxe de type TeX et d'« échappements » vers OCaml 
 +pour fournir le contrôle de la mise en forme. 
 +Patoline vise une conception modulaire, et un traitement rapide des documents par la machine. 
 + 
 +(Le projet Patoline était précédemment hébergé à [[http://patoline.org/]]) 
 + 
 + 
 +==== Lout ==== 
 + 
 +[[https://savannah.nongnu.org/projects/lout/|Lout]] est un formateur de documents automatique, écrit par Jeffrey H. Kingston. 
 +Il prend en entrée une description de haut niveau d'un document, dans un style similaire à celui de LaTeX. 
 +Lout reprend certains des algorithmes de mise en forme de TeX mais utilise comme langage de personnalisation 
 +un langage de programmation fonctionnelle de haut niveau, au lieu d'un langage de macros. 
 +Lout a été publié en même temps que LaTeX2ε au début des années 1990. 
 +Il n'a jamais eu une base d'utilisateurs aussi vaste que celle de LaTeX, mais il est toujours maintenu. 
 + 
 +<note tip> 
 +Plus de renseignements sur [[wpfr>Lout|la page wikipedia de Lout]]. 
 +</note> 
 + 
 +==== troff/nroff/groff ==== 
 + 
 +[[https://www.gnu.org/software/groff/|groff]]: la [[wpfr>Roff_(langage_informatique)|famille des outils de mise en forme]] 
 +« ''*roff'' » est apparue avant TeX et a beaucoup influencé sa conception. 
 +Ils font partie intégrante d'Unix et de tous les systèmes de ce type, comme linux. 
 + 
 +Notamment, [[wpfr>Man_(Unix)|les pages de manuel]] sont composées avec ''groff'' et ses dérivés, 
 +aussi bien pour leur affichage sur écran que pour leur impression. 
 + 
 + 
 +===== Projets historiques ===== 
 + 
 +==== ANT typesetting system ==== 
 + 
 +//ANT// est l'acronyme de « //**A**NT is **n**ot **T**eX// ». 
 + 
 +Le [[ctanpkg>ant|projet ANT]], d'Achim Blumensath, ne visait pas à reproduire TeX avec une implémentation simplement différente, 
 +mais plutôt à fournir un remplacement de TeX, utilisant des algorithmes de composition semblables à ceux de TeX, 
 +mais offrant un environnement de programmation très différent, basé sur [[wpfr>OCaml]] et ayant une conception flexible et modulaire, 
 + 
 +Ainsi, bien qu'ANT possède un langage de balisage essentiellement identique à celui de (La)TeX, 
 +le langage servant à définir la mise en forme des documents est un langage de programmation bien établi 
 +et assez répandu, de sorte que la conception des documents ne dépend plus des compétences 
 +de quelques experts en programmation de macros TeX.
  
-### Speedata Publisher 
  
-[Speedata Publisher](https://www.speedata.de/en/) is like SILE written in Lua, +La version la plus récente de ANT est la 0.8, publiée [[http://mirrors.ctan.org/systems/ant/manual.pdf|en décembre 2007]]
-but uses LuaTeX (not pure Lua) to provide the ''back-end''This means it does +Son développement été [[https://github.com/Miko4/ant|brièvement repris en 2016]].
-feature _tiny_ TeX-based wrapper, but once that has handed over to Lua, TeX +
-is not involvedSpeedata Publisher is particularly well-suited to some areas +
-in which TeX is less successful, for example more image-rich documents.+
  
-## Historical projects 
  
-### The ANT typesetting system+----- 
 +//Sources:// 
 +  * [[faquk>FAQ-alternatives|Alternatives to TeX]], 
 +  * [[https://discuss.ocaml.org/t/are-there-any-news-about-patoline-typesetting-engine|Are there any news about Patoline typesetting engine?]] 
 +  * [[https://tug.org/TUGboat/tb41-2/tb128gundlach-speedata.pdf|Typesetting product catalogs and otherdatabase-driven documents with the Speedata Publisher]], Patrick Gundlach, TUGboat **41**:2 (2020).
  
-Achim Blumensath's ANT project aimed not to replicate TeX with a different +{{htmlmetatags>metatag-keywords=(LaTeX,autres logiciels de composition de documents,LaTeX et Groff,outils de mise en page,chaînes de production de documents) 
-implementation techniquebut rather to provide a replacement for TeX which +metatag-og:title=(Existe-t-il des alternatives à TeX?) 
-uses TeX-like typesetting algorithms in a very different programming +metatag-og:site_name=(FAQ LaTeX francophone
-environment. ANT's markup language was modelled on (La)TeX, but implemented in +}}
-OCaml.+
  
1_generalites/bases/alternatives_a_tex.1527181162.txt.gz · Dernière modification : 2018/05/24 16:59 de joseph.wright
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0