Présentation
Documentation
L'équipe
Sérialisation
 
Programmes
Objets
Libs Utilitaires
Libs Internes
   
 
Editeur
Syntaxes
Windows
Versions
   

SCR/AL1 - TOME I. Les programmes

11. SCR4_A2M : un translateur Ascii-Mif

Le programme scr4_a2m a pour objectif d'importer en Frame Maker (programme de desktop publishing disponible sous Windows, SUN-OS, HP-UX, etc) n'importe quel texte ascii, c'est-à-dire créé à l'aide d'un éditeur de texte simple du type mt (Multi-Text), tt, edlin, edit en DOS, ou emacs, vi, mt en Unix.

L'intérêt de ce programme est qu'il permet de réaliser l'entrée de texte sur un PC par exemple, en utilisant le clavier azerty accentué, et d'obtenir un texte mis en page correctement en Frame, sans intervention au niveau de Frame.

Un cas particulier tout-à-fait intéressant est la génération automatique de manuels basés sur les Help définis dans le cadre d'une application SCR/AL1. Le même format input peut servir d'une part à la création du manuel on-line (scr4_h) et à la création du manuel en Frame (par la combinaison des programmes scr4_h, scr4_hm, scr4_a2m).

Le texte Ascii pourra au besoin être enrichi d'informations sur le type de caractères souhaités (gras, souligné, italique, indices, exposant, etc), ainsi que sur le format des paragraphes désirés (centrés, justifiés, ...). Pour ce faire, on introduira des informations au sein même du texte Ascii.

Le programme scr4_a2m génère une version mif (Maker Interchange Format) convenant aux versions 1.3 et suivantes de Frame.

Syntaxe

scr4_a2m [-h] [-c catalog] [-o outputfile] [-gif] [-p paragraph]
[-noref] file ... [-page] [-i text] file ...

-c catalog : use alternate catalog
-o filename : output filename
-p paragraph : default paragraph
-page : skip to next page
-i text : insert text on a separate page
-h : print usage
-lf_on : set switch lf_on
-lf_off : set switch lf_off (default)
-bl_on : does not skip blanks
-bl_off : skip blanks (default)
-gif : images are in gif format
-noref : suppress Figure nn text

        comme indiqué à la \a"txt.gif".

produit :

comme indiqué à la figure 14

------------------------------------------------------------
| Figure 14 |
| |
| |
| I M A G E |
------------------------------------------------------------

Principes de base de Frame Maker

Pour bien comprendre les principes utilisés dans le programme a2m, il convient de rappeler les concepts principaux de Frame.

Frame est un programme de desktop publishing. Il permet de produire des documents de qualité équivalente à ceux que créerait un imprimeur. Ce manuel est complètement produit avec Frame, de façon totalement automatique à l'aide des programmes scr4_mkh, scr4_h, scr4_hm et scr4_a2m. Le texte a été saisi à l'aide de mt (notamment dans les sources).

Pour ce faire, Frame découpe chaque document en paragraphes, chacun possédant ses caractéristiques propres (police et taille des caractères, justification, numérotation automatique, ...). Au sein de ces paragraphes, on pourra introduire des modifications locales sur un mot ou un groupe de mots (italique, exposant, ...).

Les différents paragraphes types utilisés dans un document sont réunis dans le catalogue du document. Un document Frame généré par scr4_a2m contiendra un catalogue standard dont les éléments sont détaillés plus bas.

Pour pouvoir fournir à Frame ces informations, il faut qu'elles soient précisées dans le texte ascii suivant une syntaxe définie ci-dessous.

Cette syntaxe distingue la découpe en paragraphes, les lignes de commandes et les enrichissements typographiques.

Précisons qu'il n'est pas indispensable de fournir ces informations d'enrichissement, tout texte pouvant être transformé en format Frame. Dans ce cas, on obtiendra un document frame avec un seul type de paragraphe standard, que l'on pourra enrichir au besoin au sein de Frame.

Découpe en paragraphes

Les paragraphes dans le texte ascii doivent être séparés par au moins une ligne blanche ou une ligne de commande (voir ci-dessous). Deux lignes contiguës, comme par exemple dans une énumération, formeront un seul paragraphe.

De plus, à l'intérieur d'un paragraphe, les doubles blancs sont automatiquement supprimés. Il en va de même des retours à la ligne. Tous les blancs de début de lignes seront également passés. Toute autre solution fournirait des résultats inacceptables, les caractères de Frame étant en général proportionnels (y compris les espaces dont la largeur s'adapte pour parfaire la justification des lignes).

Exemple

Le texte suivant

Les sanglots    longs
des
violons de l'automne bercent
mon
coeur d'une langueur monotone.

produira simplement :

Les sanglots longs des violons de l'automne bercent mon coeur d'une langueur monotone.

Ce principe de découpe des paragraphes est invariable. Il est cependant possible de forcer un saut de ligne (mais pas un changement de paragraphe) par la commande .lf_on (voir ci-dessous). De même, les blancs peuvent être conservés (pour des extraits de listings par exemple) à l'aide de la commande .bl_on.

Lignes de commandes

Les lignes de commandes sont reconnues par le fait qu'elles commencent par un caractère spécial. Par défaut, ce caractère est le point (.). Un commande permet cependant de le remplacer par tout autre caractère non blanc. Dans les syntaxes qui suivent, les crochets délimitent les mots, mais ne doivent pas être tapés.

Les commandes disponibles, toujours précédées d'un . ou du caractère de contrôle défini par .dot et commençant en début de ligne sont :

Catalogue standard

Le catalogue standard provient de la version 1.3 de Frame. A partir de la version 2.0, il est possible d'importer un autre catalogue (d'un document de référence) en une seule opération.

Tous les paragraphes de texte sont en Bookman. La taille de base des caractères est de 12 points sauf pour les titres. Tous les paragraphes de texte sont justifiés à gauche et à droite. Chaque paragraphe a des tabulations gauches tous les pouces (2,53 cm), à l'exception des paragraphes spéciaux (price, tab_l, tab_t, date, ...).

Les différents paragraphes disponibles dans le catalogue standard installé en fonction de la configuration du système sont les suivants :

Paragraphes de titre

Paragraphes de texte

Paragraphes de tableau

Paragraphes spéciaux

Les paragraphes par_1(2, 3), cmd_1(2, 3) et price_1(2) sont alignés à sur la même marge de gauche. Les paragraphes de titre commencent légèrement plus à gauche que leur pendant de texte. Les énumérations commencent légèrement plus à droite.

Enrichissements typographiques et caractères spéciaux

Il s'agit cette fois de changer, à l'intérieur d'un paragraphe, les attributs typographiques des caractères. A partir de l'endroit où la séquence de caractères est rencontrée, et jusqu'à la séquence qui l'annule ou jusqu'à la fin du paragraphe, l'attribut sera d'application.

Les attributs sont cumulatifs : on peut donc mettre un mot en souligné italique, exposant, taille plus petite si on le souhaite.

Les modifications d'attributs, toujours préfixées par un \ ou le caractère défini par la commande .esc, sont :

Extrait d'un fichier a2m

    .par1 tit_0
ATELIER LOGICIEL AL/1

1. Objectifs de l'atelier logiciel

2. Composantes de l'atelier logiciel

.par1 enum_1
L'Editeur mt
.par1 enum_1
Le langage de description d'objets SCR
.par1 enum_1
Les librairies de fonctions
.par1 enum_1
Les outils de documentation

3. Cycle de développement d'une application

4. Principaux atouts de SCR

5. Quelques réalisations

.par1 tit_1
OBJECTIFS DE L'ATELIER LOGICIEL

.par enum1
augmenter la productivité

assurer une fiabilité optimale

forger une méthode de travail commune à une équipe

faciliter la documentation

faciliter le prototypage

rendre les portages DOS-UNIX immédiats

disposer d'un large éventail d'outils de programmation

assurer une totale transparence dans l'interfaçage avec le
langage C

permettre à terme une migration simple vers les systèmes de
fenêtrages ou de fichiers à venir

Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be