News for version 1.0.7.5
[texmacs.git] / internal / plans / reminders.tm
blobaaca8cbb98f74bf0264f5d856a63b04124735bc0
1 <TeXmacs|1.0.4.7>
3 <style|article>
5 <\body>
6   <doc-data|<doc-title|Reminder of things to be
7   done>|<doc-subtitle|Classified by subject>>
9   <section|Organizational tasks>
11   <\fold>
12     Documentation
13   <|fold>
14     <\fold>
15       Manual
16     <|fold>
17       \;
18     </fold>
20     <\fold>
21       Tutorial or series of introductory articles (<abbr|e.g.> for Linux
22       Magazine).
23     <|fold>
24       <\fold>
25         General introduction/quick overview
26       <|fold>
27         Different purposes of <TeXmacs>
29         Writing a simple text
31         Style-sheets and writing a simple macro
33         Running a computer algebra system
35         Inserting an action tag which launches an <verbatim|xterm> (and
36         mutator tag?)
37       </fold>
39       <\fold>
40         Writing simple structured texts
41       <|fold>
42         Why are structured documents useful?
44         How to enter structure into <TeXmacs>, redundancy of the interface
46         Understanding the visual indications, cursor movement
48         Editing the structure (removing structure, improper nesting,
49         variants, numbering)
51         Exploiting structure: spell checking, searching
53         Reminders about correct typography
54       </fold>
56       <\fold>
57         Writing mathematical texts
58       <|fold>
59         Entering math mode, equations, equation arrays
61         Simple mathematical formulas, recall cursor movement
63         Mathematical symbols, variants
65         Semantics of multiplication, function application and other implicit
66         semantics
68         Simple matrices and other tabular environments
69       </fold>
71       <\fold>
72         Writing simple macros and style-sheets
73       <|fold>
74         Rendering of source code, what is source code?
76         A simple macro
78         A simple style package
80         Customization of some existing macros
81       </fold>
83       Etc.
84     </fold>
86     <\fold>
87       Introductory article for mathematicians, physicists and computer
88       scientists.
89     <|fold>
90       \;
91     </fold>
92   </fold>
94   <\fold>
95     Publicity
96   <|fold>
97     \;
98   </fold>
100   <\fold>
101     Mirror sites
102   <|fold>
103     CVS mirror at Savannah and automatic update scheme.
105     Also search for other mirror sites (increases availability and visibility
106     on the web).
107   </fold>
109   <section|General architecture>
111   <\fold>
112     Implement better tools for debugging
113   <|fold>
114     \;
115   </fold>
117   <\fold>
118     Hunt down memory leaks
119   <|fold>
120     \;
121   </fold>
123   <\fold>
124     Implement marking algorithm
125   <|fold>
126     \;
127   </fold>
129   <section|Scheme>
131   <\fold>
132     Internal plug-in for Guile
133   <|fold>
134     \;
135   </fold>
137   <\fold>
138     Contextual overloading
139   <|fold>
140     \;
141   </fold>
143   <\fold>
144     Reimplement menus as functions or macros which return widgets
145   <|fold>
146     \;
147   </fold>
149   <\fold>
150     Eliminate all places where we still do not use closures
151   <|fold>
152     \;
153   </fold>
155   <\fold>
156     Better preservation of locality
157   <|fold>
158     <\fold>
159       Dispatching should be declared in dispatch routines themselves
160     <|fold>
161       \;
162     </fold>
164     <\fold>
165       Easy definition of additional properties of functions/macros and
166       corresponding action
167     <|fold>
168       \;
169     </fold>
171     <\fold>
172       Module exportations using <verbatim|define-public>, <abbr|etc.>
173     <|fold>
174       \;
175     </fold>
176   </fold>
178   <section|Typesetter>
180   <\fold>
181     General
182   <|fold>
183     <\fold>
184       Equivalent of <TeX> <verbatim|\\topsep>
185     <|fold>
186       In <TeXmacs>, the <verbatim|\\topsep> always equals <verbatim|0.75em>.
187       It should be possible to modify this. For symmetry, we might also
188       introduce a ``bottom sep''.
189     </fold>
191     <\fold>
192       Resizing macro expansions
193     <|fold>
194       When attempting to resize a macro application to become smaller than
195       the ``x'', the invisible markers may have undesirable side-effects.
196     </fold>
198     <\fold>
199       Font parameters
200     <|fold>
201       Separate environment variables for ``typewriter'', ``sans serif'',
202       ``small caps'', ``slant'', etc.
204       Find rendering font as a function of selected font and language
205     </fold>
207     <\fold>
208       Simplification of page parameters
209     <|fold>
210       Should we still reorganize?
212       It should be easy to access to the page width and height and some other
213       parameters
214     </fold>
215   </fold>
217   <\fold>
218     Text
219   <|fold>
220     <\fold>
221       Introduction of the paragraph tag
222     <|fold>
223       Distinguish between paragraphs and paragraph units.
224     </fold>
226     <\fold>
227       Page decorations (headers and footers)
228     <|fold>
229       Should the corresponding environment variables become macros?
230     </fold>
232     <\fold>
233       Fine-grained baseline skip
234     <|fold>
235       Associate baseline skip (or ascent and descent) to each individual box
236       in concatenation. Next compute maximum over each line. Take maximum of
237       maximum after first line and maximum before second line in order to
238       obtain final value.
240       Also for other parameters as baselineskip?
241     </fold>
243     <\fold>
244       Precise scope of variables which affect paragraph layout
245     <|fold>
246       \;
247     </fold>
248   </fold>
250   <\fold>
251     Mathematics
252   <|fold>
253     <\fold>
254       Horizontal grouping instead of <verbatim|\\bigop ... \\big.>
255     <|fold>
256       Introduce grouping primitives in which expressions with big operands
257       (and maybe large delimiters) can be encapsulated. The advantage is that
258       this eases parsing and an indicative bounding box is shown.
259     </fold>
261     <\fold>
262       Scripts to large delimiters produced by macros
263     <|fold>
264       Such scripts are not put at the right positions
265     </fold>
267     <\fold>
268       Macro for fractions in continued fractions.
269     <|fold>
270       \;
271     </fold>
273     <\fold>
274       Less vertical spacing in text style between numerator/denominator and
275       bar
276     <|fold>
277       \;
278     </fold>
280     <\fold>
281       Left-numbering of equation arrays
282     <|fold>
283       Should be possible now using the <verbatim|extern> primitive
284     </fold>
286     <\fold>
287       Consider fractions and scripts as operators
288     <|fold>
289       Consider fractions as operators <with|mode|math|\<Rightarrow\>> spaces
290       before and after. Similarly for scripts <with|mode|math|\<Rightarrow\>>
291       small space before left scripts and after right scripts.
292     </fold>
294     <\fold>
295       Better spacing
296     <|fold>
297       Determine spacing between two mathematical boxes as a function of the
298       rough semantics of the boxes. Application: no need for operators like
299       the unary minus.
300     </fold>
301   </fold>
303   <\fold>
304     Style-sheet language
305   <|fold>
306     <\fold>
307       Introduce a style options mechanism
308     <|fold>
309       Option <with|mode|math|\<rightarrow\>> call back macro which can be
310       enriched by several packages
312       Call back macros called at end of reading style files when option
313       selected
315       Selected options postpended to name for style-file caching
316     </fold>
318     <\fold>
319       Grey menu entries for parameters which cannot be changed in style
320     <|fold>
321       For instance, a style might provide a limited number of font base
322       sizes.
323     </fold>
324   </fold>
326   <\fold>
327     Boxes
328   <|fold>
329     <\fold>
330       Origin of boxes
331     <|fold>
332       Boxes should not have origins; its children should have positions
333       instead.
334     </fold>
335   </fold>
337   <\fold>
338     Current bridges
339   <|fold>
340     <\fold>
341       Temporarily inccorect markup
342     <|fold>
343       When pressing <verbatim|A-backspace> inside a surround tag, we first
344       remove two children of the surround tag (so that it obtains arity 1)
345       and next remove the tag itself. The temporarily inccorect surround tag
346       of arity 1 may cause <verbatim|bridge_surround> to crash.
348       Temporary fix: add extra nodes in the bridge. Better fix: implement an
349       elementary modification <verbatim|assign_label> which allows to change
350       the surround tag into another tag like tuple before performing
351       incorrect operations.
352     </fold>
353   </fold>
355   <section|Editor>
357   <\fold>
358     Editing source trees
359   <|fold>
360     <\fold>
361       Edit as option
362     <|fold>
363       A facility "Edit as" to convert a selection into any other format and
364       put the result in an "edit-as" tag for manual editing. When pressing
365       return, reconvert back into <TeXmacs>.
366     </fold>
368     <\fold>
369       More customizable presentation of source tags
370     <|fold>
371       Make the presentation of source code more customizable by user macros.
372       Done for syntactic highlighting, but should also be done for special
373       rendering of certain primitives and the rendering of tags.
374     </fold>
376     <\fold>
377       Primitive for block arguments
378     <|fold>
379       Currently, we may stretch tags. We also need a primitive for stretching
380       tag arguments.
381     </fold>
383     <\fold>
384       Comments
385     <|fold>
386       Tags for short commands inside the program
387     </fold>
389     <\fold>
390       Visual hints
391     <|fold>
392       Display informative flags at places where tags have been stretched or a
393       modification to the source style has been applied
394     </fold>
395   </fold>
397   <\fold>
398     Cursor movement
399   <|fold>
400     Cursor movement along lines of a paragraph (when moving to the right at
401     the end of a line, the cursor should jump to the start of the next line).
402   </fold>
404   <section|Tools and frequently used subroutines>
406   <\fold>
407     Quoting
408   <|fold>
409     Implement different routines for quoting and quote/unquote using the
410     appropriate routine.
411   </fold>
413   <\fold>
414     General caching mechanism
415   <|fold>
416     Optimize performance as a function of cost of recomputation and storage
417     requirement
418   </fold>
420   <\fold>
421     <LaTeX> export
422   <|fold>
423     <\fold>
424       Non-breakable spaces
425     <|fold>
426       Currently produces spaces around <verbatim|\\nobreak> command. Should
427       also use <verbatim|~> when possible.
428     </fold>
430     <\fold>
431       Option for accents using ASCII only
432     <|fold>
433       I.e. é <with|mode|math|\<rightarrow\>> \\'e.
434     </fold>
436     <\fold>
437       Option for AMS blackboard bold
438     <|fold>
439       In order to use True Type fonts when exporting to Pdf.
440     </fold>
441   </fold>
443   <\fold>
444     <LaTeX> import
445   <|fold>
446     <\fold>
447       Avoid name-clashes with built-in commands
448     <|fold>
449       Importation of <LaTeX> macros whose names coincide with built-in
450       commands may lead to incorrect documents (<abbr|e.g.> the
451       <verbatim|point> macro in <verbatim|publs/1998/zeta.tex>). We should
452       probably post-correct imported documents.
453     </fold>
455     <\fold>
456       Better parsing of verbatim arguments
457     <|fold>
458       Some commands, like <verbatim|cite>, <verbatim|documentclass>,
459       <abbr|etc.> take verbatim arguments, which should not be parsed in the
460       generic way. The <verbatim|string_arg> function is a temporary remedy.
461     </fold>
462   </fold>
464   \;
465 </body>
467 <\initial>
468   <\collection>
469     <associate|par-first|0fn>
470     <associate|par-par-sep|0.5fn>
471   </collection>
472 </initial>
474 <\references>
475   <\collection>
476     <associate|auto-1|<tuple|1|?>>
477     <associate|auto-2|<tuple|2|?>>
478     <associate|auto-3|<tuple|3|?>>
479     <associate|auto-4|<tuple|4|?>>
480     <associate|auto-5|<tuple|5|?>>
481     <associate|auto-6|<tuple|6|?>>
482   </collection>
483 </references>
485 <\auxiliary>
486   <\collection>
487     <\associate|toc>
488       <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|1<space|2spc>Organizational
489       tasks> <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
490       <no-break><pageref|auto-1><vspace|0.5fn>
492       <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|2<space|2spc>General
493       architecture> <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
494       <no-break><pageref|auto-2><vspace|0.5fn>
496       <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|3<space|2spc>Scheme>
497       <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
498       <no-break><pageref|auto-3><vspace|0.5fn>
500       <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|4<space|2spc>Typesetter>
501       <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
502       <no-break><pageref|auto-4><vspace|0.5fn>
504       <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|5<space|2spc>Editor>
505       <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
506       <no-break><pageref|auto-5><vspace|0.5fn>
508       <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|6<space|2spc>Tools
509       and frequently used subroutines> <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
510       <no-break><pageref|auto-6><vspace|0.5fn>
511     </associate>
512   </collection>
513 </auxiliary>