3 <style|<tuple|generic|proclus>>
10 <title|Proclus-Xlink-Joris>
12 </locus|<tuple|Proclus-Xlink-Joris|11|Proclus-Xlink-Alain|7|<tuple|référent>|>>
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 ).
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.
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
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.
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
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.
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.
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
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).
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>|>>
163 \<gtr\> 1) Il serait bien de l'indiquer dans les menus s'il y a une source
165 \<gtr\> \ \ \ ou un but actif.
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
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.
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.
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).
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é.
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
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
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...
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>>