SCR/AL1 - TOME I. Les programmes
Ce programme crée un fichier qui servira à la constitution d'un manuel sur support papier à partir d'un fichier HELP compilé.
Le manuel généré aura un format "a2m", utilisable pour générer un document Frame via le programme scr4_a2m.
scr4_hm -option args ... @response_file
OPTION ARGUMENTS REQ DEFAULT DESCRIPTION
------ --------- --- ------- -----------
-e char N exclude first line char
-c char N \ change escape char
-s N sub-topics not dumped
-i filename Y input .hlp file
-o filename N output .a2m file if != input
-t topic .. N topics (if not all)
-dup N duplicate topics (if necessary)
-it N suppress italic in topics
-h N display help
Le fichier généré porte le même nom que le fichier help original, mais avec une extension .a2m, sauf si une extension est fournie dans le paramètre -o.
Par rapport au help on-line, qui se comporte comme un fichier de type hypertext, c'est-à-dire où il n'y a pas de hiérarchie des sujets, mais seulement des liens d'un sujet vers d'autres, le problème posé par la génération d'un manuel, nécessairement hiérarchisé n'est pas simple. Il faut trouver une façon de rendre hiérarchique les sujets qui en principe ne le sont pas.
Le créateur de manuel ne perdra jamais de vue cet aspect, sans quoi le manuel généré ne donnerait pas satisfaction sur le plan de la structure.
La seule façon raisonnable est de prendre le premier sujet, de lui donner le niveau 0, de prendre ensuite les sujets référencés au sein de ce premier sujet et de leur donner à chacun un niveau 1. En procédant de même dans les sous-sujets, on obtient finalement une manuel dont la table des matières est cohérente.
Une exception : si un sujet est référencé avec <-sujet> au lieu de <sujet>, il ne sera pas repris dans la table des matières au niveau inférieur.
Dès qu'un sujet est rencontré dans un texte, il est marqué pour être imprimé dans le niveau suivant et pour ne plus être imprimé plus tard.
Prenons un exemple. Les sources suivantes sont la description du help en ascii. Nous verrons ensuite comment scr4_hm se débrouille pour générer à partir de là un manuel hiérarchisé.
L'exemple est volontairement excent de texte de façon à clarifier l'exposé.
<sujet0>
<Sujet1>
<Sujet2>
>
<sujet1>
<sujet2>
<sujet1.1>
<sujet1.2>
>
<sujet2>
<sujet1>
<sujet1.1>
<sujet2.1>
>
<sujet3>
<sujet1>
<sujet2>
>
<sujet1.1>
<sujet1>
<sujet1.2>
>
<sujet1.2>
<sujet2>
<sujet1.1>
>
<sujet2.1>
<sujet2>
>
La structure et les niveaux de titre du paragraphe résultat seront les suivants :
Sujet0 tit_0
sujet1 tit_1
sujet1.1 tit_2
sujet1.2 tit_2
sujet2 tit_1
sujet2.1 tit_2
On remarque à la lecture du résultat :
Il est facile de construire une table des matières différente pour le manuel on-line et pour le manuel papier : il suffit de préfixer les lignes du manuel on-line par un caractère (; est le standard) et les lignes du manuel papier par un autre caractère (. est le standard).
De cette façon, le compilateur scr4_h, selon les caractères spécifiés dans ses paramètres -e et -f générera des manuels structurés différemment.
scr4_hm enrichit automatiquement le texte généré en utilisant les règles suivantes :
Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be