Fix
[texmacs.git] / internal / reports / Proclus-Xlink-Joris.tm
blobc54ee982f7f613e9fda41c767049c044a7227a41
1 <TeXmacs|1.0.3.6>
3 <style|<tuple|generic|proclus>>
5 <\body>
6   <\locus>
7     \;
9     <\make-title>
10       <title|Proclus-Xlink-Joris>
11     </make-title>
12   </locus|<tuple|Proclus-Xlink-Joris|11|Proclus-Xlink-Alain|7|<tuple|référent>|>>
14   \;
16   Suggestion sur les liens : il pourrait etre utile d'avoir un menu pour
17   selectionner des types ou plusieurs types de lien. En d'autre termes, au
18   lieu de les rentrer par la barre d'etat, on pourrait en selectionner et
19   faire en sorte que de nouveaux
20  lien sont automatiquement du type indique.
21   Plus tard (cf. le papier que je t'ai donner) des types de liens peuvent
22   aussi faire intervenir plus que deux loci (exemple : enfin, pere, mere ).
24   \;
26   AH <hspace|1spc>: Oui, d'accord. Il faut pouvoir avoir le système actuel et
27   celui que tu proposes. Les deux sont utiles.
29   \;
31   1) <locus|Creation d'identifiants uniques|<tuple|Proclus-Xlink-Joris|10|Proclus-Xlink-Alain|8|<tuple|réponse|développement>||Proclus-Xlink-Alain|13|<tuple|développement>|>>
33   \ TeXmacs devrait fournir une routine de creation d'identifiant unique
34   persistant. Un tel identifiant est non seulement unique pour la session
35   TeXmacs courante, mais il reste unique lorsque l'on execute TeXmacs une
36   deuxieme fois ou ailleurs. En d'autres termes, les identifiants uniques
37   doivent etre des couples (identifiant-session, numero) au lieude
38   (identifiant-fichier, numero) dans Proclus. Ici l'identifiant de session
39   pourrait etre cree en fonction de 1) date, 2) pid, 3) ligne de commande 4)
40   nom de l'utilisateur, 5) identificateur de la machine. Evidemment on doit
41   crypter tout cela pour ne pas fournir des informations privees. A noter que
42   ce genre d'informations peut aussi etre interessant
43  pour garder trace de
44   quelle session d'un systeme de calcul formel a calcule quoi.
46   \ 2)<locus| <locus|Equivalence entre identifiants uniques ou differents
47   loci avec le meme identifiant unique|<tuple|Proclus-Xlink|3|Proclus-Xlink|4|<tuple|lié>||Proclus-Xlink|5|<tuple|lié>|>>|<tuple|Proclus-Xlink-Joris|12|Proclus-Xlink-Alain|9|<tuple|développement|réponse>|>>
48   Comme on l'a constate, il peut etre utile que deux loci distincts se
49   comportent de la meme facon quant au liens qui leurs sont associes, quitte
50   a filtrer a posteriori en utilisant des roles. Ceci peut ce faire de deux
51   facons : permettre deux loci distincts
52  d'avoir le meme identifiant unique
53   (l'identifiant unique ne doit pas etre confondu avec un locus unique ;
54   l'identifiant unique doit plutot etre considere comme un nom unique dans
55   l'espace et dans le temps) ou par la creation d'une relation d'equivalence
56   (par lien) entre des identifiants uniques distincts.
58   Cela ne passe pas nécessairement (ce qui ne l'exclut pas) par un traitement
59   à partir du nom du locus. Cela peut se faire à partir de types de lien avec
60   les types "père", "fils", "frère" (on peut trouver mieux comme noms...)
61   avec les héritages automatiquement que tu devines.\ 
63   Je me demande si les cas qui ne relèvent pas de ce traitement relèvent
64   vraiment d'un traitement par liens. Peut-être ne faut-il pas assimiler les
65   glossaires, indexes, etc. à des liens. Je ne sais pas. Cela oblige à
66   \ stocker de l'information qui est en fait redondante. Par exemple, les
67   références à un théorème doivent-elles être traitées comme des liens quand
68   les théorèmes sont numérotés?\ 
70   C'est un pb que je rencontre à l'usage avec Proclus. Comment gérer ce qui
71   est relié en tant que même idée<space|0.25fn>? Ce que je fais actuellement
72   c'est donner un nom à cette idée, en faire un locus placé plus ou moins
73   n'importe où et de créer ensuite des liens avec ce locus. Même si l'on
74   pouvait retrouver cette idée facilement en lui attribuant un id.
75   mnémotechnique (ce qui améliore déjà bcp les choses), cela serait-il le
76   traitement le plus satisfaisant<space|0.25fn>? La plupart des liens de ce
77   document sont en définitive de cette espèce...
79   \ 3)<locus| Identifiants uniques et noms
80   logiques|<tuple|Proclus-Xlink|6|Proclus-Xlink-Alain|10|<tuple|développement|réponse>||Proclus-Xlink-Alain|11|<tuple|développement>||Proclus-Xlink-Alain|12|<tuple|développement>||Proclus-Xlink-Alain|17|<tuple|développement>||Proclus-Xlink-Alain|19|<tuple|développement>||Proclus-Xlink-Alain|20|<tuple|développement>|>>
82   \ Par definition, les identifiants uniques sont des noms non ambigues, mais
83   qui peuvent etre longs et incomprehensible pour l'utilisateur. Il faut donc
84   un mecanisme pour associer des noms logiques
85  a des identifiants uniques,
86   tout en preservant la non ambiguite. Cette non-ambiguite est preservee en
87   utilisant le contexte.
89   \;
91   \ 4) <locus|Resolution de l'identifiant
92   unique|<tuple|Proclus-Xlink-Joris|14|Proclus-Xlink-Alain|14|<tuple|développement>||Proclus-Xlink-Alain|20|<tuple|développement>||Proclus-Xlink-Alain|27|<tuple|lié>|>>
94   \ La determination de l'identifiant unique en fonction du nom logique
95  en
96   fonction du contexte est "la resolution de l'identifiant". Quand possible,
97   il faut le faire au moment de l'edition mais parfois il peut-etre
98   necessaire de le faire au moment du typesetting.
100   \ Par exemple, lorsque on copie un locus, on essaye d'abord de determiner
101   tous les identifiants logiques presents (en utilisant le DRD pour les
102   differents balises pour marquer quels sous arbres doivent etre consideres
103   comme des identifiants). Ensuite, on les resoud dans le contexte original
104   (garanti non ambigu). Puis, on cree un nouveau
105  contexte de resolution pour
106   la copie avec l'information de resolution
107  de la premiere etape.
108   Eventuellement, on propage cette information vers la racine du document
109   (perte de localite, mais compression des donnees). En conclusion, ce
110   mecanisme permet, dans la copie du locus de garder le sens original et
111   unique des noms. Ces noms prennent precedence sur d'eventuelles autres
112   significations du meme nom dans le document d'arrive.
114   \;
116   Parfois, tout ce mecanisme ne se fait pas lors des operations d'edition
117   mais plutot lors de la mise en page. En effet, c'est le cas lorsque l'on
118   inclut un locus dans un autre fichier. La resolution des noms doit
119   continuer a se faire dans le contexte du fichier d'origine. De facon plus
120   pernitieuse, lors d'une operation de copie il se peut que certains
121   identifiants logiques de la selection sont seulement implicitement
122   presents, c.a.d. qu'ils ne sont pas dans l'arbre, mais qu'ils apparaissent
123   lors du developpement des macros. Peut-etre qu'il faudrait considerer le
124   processus de developpement des macros comme un lien.
126   \;
128   5) <locus|Feuilles de style|<tuple|Proclus-Xlink-Joris|16>>
130   Le mecanisme decrit jusqu'a present devrait etre capable de lever toute
131   ambiguite quant aux creations manuelles de noms uniques et fournir un
132   mecanisme non ambigu pour y acceder a partir de noms comprehensibles. Il
133   reste a voir comment faire lorsque les identifiants sont construits
134   automatiquement par des macros. L'approche la plus brutale est de creer un
135   identifiant uniqu a chaque developpement de macro, mais en general, on
136   pourrait vouloir preserver certains identifiants lors de differents
137   developpements du macro.
139   \ Par exemple, considere la primitive "triangle" avec trois arguments
140  a, b
141   et c, qui devrait affichier un triangle avec a, b et c aux sommets avec des
142   liens a-\<gtr\>b, b-\<gtr\>c et c-\<gtr\>a. D'abord il faut decider ce
143   qu'il se passe lorsque l'on cree deux triangles t et u.
145   \ Est-ce que l'on souhaite des liens t.a-\<gtr\>u.b, u.a-\<gtr\>t.b,
146   t.b-\<gtr\>u.c, etc. ou non ? On pourrait aussi vouloir creer un lien
147   exterieur vers t.a. Est-ce que ceci doit toujours etre possible ou est-ce
148   qu'il est legitime d'exiger un identifiant pour t afin de rendre ceci
149   possible (en quel cas l'identifiant unique pour t.a pourrait etre construit
150   en fonction des identifiants uniques pour t et a).
152   \;
154   AH <hspace|1spc>: j'aoute <hspace|1spc>:
156   6)<locus| Bas<locus|e|<tuple|Proclus-Xlink-Joris|18|Proclus-Xlink-Alain|15|<tuple|développement>|>>
157   de liens|<tuple|Proclus-Xlink-Joris|13|Proclus-Xlink-Alain|11|<tuple|développement>||Proclus-Xlink-Alain|13|<tuple|développement>||Proclus-Xlink-Alain|16|<tuple|lié>||Proclus-Xlink-Alain|27|<tuple|lié>|>>
159   7) <locus|Copier-coller d'un locus.|<tuple|Proclus-Xlink-Joris|17|Proclus-Xlink-Alain|14|<tuple|développement>|>>
161   \;
163   \<gtr\> 1) Il serait bien de l'indiquer dans les menus s'il y a une source
165   \<gtr\> \ \ \ ou un but actif.
167   \<gtr\>
169   \<gtr\> 2) Plutot que de rentrer un type direct et un type inverse,
171   \<gtr\> \ \ \ on devrait pouvoir avoir des types qui font les deux a la
172   fois.
174   
176   AH <hspace|1spc>: Oui. Il ne devrait pas être difficile d'ajouter à la
177   liste des types une liste de paires. A la demande demande du type, en
178   répondant par exemple "utilise*", le type "utilise" serait entré en direct
179   et son type associé (par exemple "application") en type réciproque.
181   
183   \<gtr\> 3) Plutot que de rentrer les types un par un lors de la creation
185   \<gtr\> \ \ \ d'un nouveau lien (aussi tres facile d'oublier l'entree pour
187   \<gtr\> \ \ \ separer les liens directs et inverses), il vaut mieux avoir
189   \<gtr\> \ \ \ un menu avec les types pour chaque nouveau lien.
191   \<gtr\>
193   \<gtr\> 4) S'il y a un seul lien (actif), alors y aller directement si on
195   \<gtr\> \ \ \ clique dessus. Ne rien faire d'il n'y a pas de lien (actif).
197   
199   AH <hspace|1spc>: D'accord, mais ce doit être une option. Ou plutôt cela
200   dépend de la manière dont est implémentée la modification et la suppression
201   d'un lien. Elle peut se faire :
203   - à partir du locus de la source (on connaît alors les types directs, mais
204   ni le contenu du but ni les types indirects)
206   - à partir de l'édition actuelle du lien dans le fichier annexe, et dans ce
207   cas il faut pouvoir faire cette édition même quand il n'y a qu'un seul type
208   et donc ne pas être automatiquement envoyé vers le but!
210   Ce qui serait bien, c'est aussi une édition des liens dans un menu
211   contextuel, en sélectionnant un des liens on y serait envoyé.
213   \;
215   \<gtr\> Encore mieux que la premiere suggestion, tu pourrais :
217   \<gtr\> 1) creer un lien
219   \<gtr\> 2) specifier les types du lien dans le menu des types (toggles).
221   \<gtr\> De la meme facon, si tu veux editer un lien a posteriori, tu
222   pourrais :
224   \<gtr\> 1) specifier le source et le but du lien a editer
226   \<gtr\> 2) specifier les types du lien dans le menu des types.
228   \<gtr\> Cela donne une interface plus uniforme pour la creation et
229   l'edition.
231   AH <hspace|1spc>: Si je comprends bien, ce que tu vises c'est : ne pas
232   imposer d'ordre dans les étapes de la création d'un lien. Oui, c'est
233   certainement utile...
235   \;
236 </body>
238 <\initial>
239   <\collection>
240     <associate|absolute-name|Proclus-Xlink-Joris>
241     <associate|language|french>
242     <associate|locus-num|18>
243     <associate|page-bot|30mm>
244     <associate|page-even|30mm>
245     <associate|page-odd|30mm>
246     <associate|page-reduce-bot|15mm>
247     <associate|page-reduce-left|25mm>
248     <associate|page-reduce-right|25mm>
249     <associate|page-reduce-top|15mm>
250     <associate|page-right|30mm>
251     <associate|page-top|30mm>
252     <associate|page-type|a4>
253     <associate|par-width|150mm>
254     <associate|proclus-active-types|<tuple|référence|citation|application|lié|réciproque|utilise|généralisation|référent|exemple|développement|idée|définition|théorème|commentaire
255     sur|commentaire|contre-exemple|cas particulier|question|thème|analyse|Français|Latin|Anglais|Allemand|bla|blou|réponse>>
256     <associate|proclus-type-list|<tuple|référence|citation|application|lié|réciproque|utilise|généralisation|référent|exemple|développement|idée|définition|théorème|commentaire
257     sur|commentaire|contre-exemple|cas particulier|question|thème|analyse|Français|Latin|Anglais|Allemand|bla|blou|réponse>>
258   </collection>
259 </initial>