NOUVELLES! A récemment ajouté la mise en œuvre attendue depuis longtemps d'e-TEX! L'extension E-TEX est nécessaire pour gérer le latex, c'est donc un ajout très bienvenu aux programmes de la famille des Tex. Voir le Readme.txt pour des instructions sur la façon de configurer le latex.
Il s'agit d'une traduction manuelle de Tex.Web version 3.141592653 en C ++ standard. Il s'agit principalement d'une traduction directe de la source Pascal d'origine avec des changements très minimes. La quantité de C ++ (qui n'est pas aussi C) utilisée est très minime. J'ai notamment ajouté une classe de tableau pour conserver la même indexation que dans l'original et pour obtenir également des limites.
Quel est le but de ce programme? Eh bien, j'ai depuis longtemps été fasciné par Donald Knuth et son travail et surtout Tex. Tex est l'un des programmes les plus bien documentés et le code source est bien sûr facilement disponible. Mais, une caractéristique manquante des implémentations actuelles est que parce que le code source est converti à la machine en C, il n'est pas facile de comprendre ou de parcourir le code dans un débogueur. C'est pourquoi j'ai décidé de traduire le programme en C ++. Ce faisant, on, espérons-le, nous comprenez également ce que fait le code.
Un autre aspect était que j'étais intéressé à savoir combien de temps il faudrait pour rédiger le programme. Je n'ai pas gardé une montre d'arrêt à portée de main, mais une estimation approximative est qu'il a fallu environ 30 heures pour taper l'ensemble du programme et plus de deux fois pour corriger toutes les fautes de frappe et autres bogues introduits avant qu'il ne passe finalement le test de voyage. C'était en quelque sorte ce à quoi je m'attendais, sauf que je pensais que le temps de débogage serait à égalité avec le temps qu'il a fallu pour le taper. Si j'avais été plus systématique dans mon approche et introduit plus d'affirmations et de chèques depuis le début, le temps de débogage aurait été considérablement plus court.
Le programme se compose de deux fichiers rstex.h.pre et rstex.cpp.pre . Ces deux fichiers doivent être prétraités par un autre programme CreatePoolFile qui convertit toutes les chaînes spéciales du programme en numéros (comme le fait le programme Tangle d'origine) et fait un fichier de pool de chaînes. Après ce prétraitement, nous nous retrouvons avec trois fichiers: rstex.h , rstex.cpp et tex.pool . rstex.cpp peut ensuite être compilé par n'importe quel compilateur C ++ non ancient, et l'exécutable peut être exécuté.
Ce n'est pas la version officielle de Tex, elle n'est basée que sur la version officielle de Tex. Il peut contenir des bogues non présents dans la version officielle. Il passe le test de voyage, mais le test de voyage ne teste pas tout. L'auteur de ce programme ne sera en aucun cas responsable des dommages-intérêts, directs ou indirects, qui peuvent résulter de son utilisation. Ce n'est pas censé être un système de composition qui fonctionne, il est destiné à des fins éducatives, pour ceux qui veulent comprendre comment fonctionne ce logiciel complexe.
J'ai également traduit MF.Web pour Windows et Unix, mais actuellement la version Windows prend en charge la sortie de l'écran graphique.
Un petit programme pour afficher les bitmaps de police Tex d'origine (PXL, GF, PK ou MF). Ce programme fonctionne à la fois sur Linux et Windows, et Mac mais nécessite l'installation de QT.
Loin du programme complet pour lire les fichiers DVI, uniquement pour Windows pour le moment, mais peut-être qu'une version QT existera un jour.
Ces programmes sont des droits d'auteur (C) 2023 par Richard Sandberg (Mylodon chez Gmail Dot Com). Le tex.web original est le droit d'auteur (C) 1982 par Donald Knuth.
Ces programmes sont à des fins éducatives uniquement, toute utilisation commerciale est strictement interdite.