1146515Sru$Id: TODO,v 1.26 2004/11/22 23:57:32 karl Exp $
2114472SruThis is the todo list for GNU Texinfo.
342660SmarkmIf you are interested in working on any of these, email bug-texinfo@gnu.org.
421495Sjmacd
5146515Sru  Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2003, 
6146515Sru  2001, 2002, 2003, 2004 Free Software Foundation.
721495Sjmacd
8114472Sru  Copying and distribution of this file, with or without modification,
9114472Sru  are permitted in any medium without royalty provided the copyright
10114472Sru  notice and this notice are preserved.
1121495Sjmacd
1242660Smarkm* General:
13146515Sru  - @euro{}.
14146515Sru  - Support installation of manuals in different languages, along these lines:
15146515Sru    . support a LINGUAS file or variable saying which subdirs LL in the
16146515Sru      source to descend into (under doc/).
17146515Sru    . within each subdir LL, install the info files into $infodir/LL,
18146515Sru      and run install-info on $infodir/LL/dir.
19146515Sru    . info (both emacs and standalone) should read $infodir/$LANG/dir
20146515Sru      as the first dir file, and likewise read info files first from
21146515Sru      $infodir/$LANG, before falling back to $infodir.
22146515Sru    . consider ways to avoid installing images in both places.
23146515Sru      In fact, images probably need to be installed in a subdir
24146515Sru      $infodir/MANUAL/ in the first place, to avoid conflicts of having
25146515Sru      the same image name in different manuals.
26146515Sru    For a test case, see texinfo cvs, with its one translated manual
27146515Sru    (info-fr.texi).
28146515Sru    From Wojciech Polak.
29146515Sru  - Monitor and improve the dir categories in existing manuals,
30146515Sru    following the Free Software Directory categories.  Much mail to
31146515Sru    developers has already been sent, what's needed now is to check new
32146515Sru    releases and make sure they are using the right categories.
33146515Sru    See the util/dir-example in the Texinfo distribution for our current
34146515Sru    recommended categories.
35146515Sru    For background, see the thread (which discusses a lot of other
36146515Sru    issues too) at
37146515Sru    http://mail.gnu.org/pipermail/emacs-devel/2002-10/msg00011.html,
38146515Sru    especially 
39146515Sru      http://mail.gnu.org/archive/html/emacs-devel/2002-10/msg00090.html
40146515Sru      http://mail.gnu.org/archive/html/emacs-devel/2002-10/msg00137.html
41114472Sru  - Get Info declared as a MIME Content-Type.
42146515Sru  - Likewise the `info:' URI scheme; a library consortium has proposed a
43146515Sru    completely different purpose for the URI scheme, but I don't know
44146515Sru    how to send comments, despite it being a "request for comments".  Sigh.
45146515Sru    There is mail about this in the bug-texinfo archives:
46146515Sru      http://mail.gnu.org/archive/html/bug-texinfo/2003-09/msg00086.html
4793139Sru  - Support compressed image files.
48146515Sru  - Support reference card creation, perhaps by only paying attention to
4942660Smarkm    sectioning and @def... commands.
5056160Sru  - Allow @end (and other?) commands to be indented in the source.
51146515Sru  - Test for memory leaks, e.g., with valgrind:
52146515Sru    http://developer.kde.org/~sewardj/
53146515Sru  - Extend and improve the tests.
5421495Sjmacd
5542660Smarkm* Language:
56114472Sru  - @else for the @if... conditionals.
57114472Sru  - @xindexterm [def] primary [,secondary [,tertiary]]  or some such?
58146515Sru  - Allow subitems and `see' and `see also' in indices.
5993139Sru  - multicolumn * width to take up `the rest'.
6093139Sru  - another table command to take N succeeding items and split them
6193139Sru    into M columns (see eplain).
6256160Sru  - support bibliographies with BibTeX (see web2c/doc for kludge prototype).
6342660Smarkm  - @flushboth to combine @flushleft and @flushright, for RFC's.
6442660Smarkm  - @part sectioning command.
6542660Smarkm  - @exercise/@answer command for, e.g., gawk.
6642660Smarkm  - Allow @hsep/@vsep at @item, instead of just in template.
6756160Sru  - Support automatic line numbering of examples.
6893139Sru  - Better macro syntax.
69146515Sru  - Better def... command syntax.
70100513Sru  - Allow : in node names for info files, for names like
71100513Sru    `class::method'.  Likewise index entries.  A quoting mechanism such
72100513Sru    as surrounding node names with SPACE BACKSPACE is probably the best
73100513Sru    solution, although this is an incompatible change to Info format, sigh.
74146515Sru  - Glossary/general definition support (dumas msg 28 Nov 2003 17:09:57 +0100).
75146515Sru  - Add support for other Latin 9 (and Latin 2 and Latin 1) characters.
7621495Sjmacd
77114472Sru* Makeinfo:
78146515Sru  - Translation of "Appendix" etc. should depend on @doclang not $LANG.
79114472Sru  - Try directory of main source file.
80146515Sru  - Make makeinfo -E just do macro expansion, avoiding all error checks.
81146515Sru    That way, texi2dvi could run makeinfo --iftex -E.
82114472Sru  - A detexinfo program, like detex or delatex.  This command would
83114472Sru    strip all the texinfo commands out, and would be used as a filter on
84114472Sru    the way to a speller.  An option would be to NOT strip comments out.
85114472Sru    makeinfo --no-headers comes close.
86114472Sru  - If node name contains an @ command, complain explicitly.
87146515Sru  - Use @documentlanguage instead of LANG for many translations.
88146515Sru  - HTML: split output by chapter to improve context, per Akim.
89146515Sru    Generate dummy files for all nodes for the sake of cross-references.
90146515Sru  - HTML: support thumbnails.
91146515Sru  - HTML: make images of math, maybe.
92146515Sru  - HTML: allow settable background color, table colors and spacing,
93146515Sru    <head> meta tags, etc.  A la http://texi2html.cvshome.org.  In fact:
94146515Sru  - HTML: have a library of different CSS styles.
95146515Sru    http://mail.gnu.org/archive/html/bug-texinfo/2004-01/msg00025.html
96146515Sru  - XML: cannot be loaded directly in a browser; why not?
97146515Sru  - Docbook: &euro; and other entities do not work; does anything work?
98114472Sru  - Rewrite completely to simplify generation of different formats.
99114472Sru
100114472Sru* TeX:
101114472Sru  - Use @ as the escape character, and Texinfo syntax generally, in the
102146515Sru    table of contents and index files.  Eliminate all the crazy
103114472Sru    multiple redefinitions of every Texinfo command in different contexts.
104146515Sru  - Support input in any encoding and language, via ec or Latin Modern fonts.
105114472Sru  - Reasonable way to change fonts from the default (some work has been
106114472Sru    done), to allow for PostScript fonts, for example.
107146515Sru  - @multitable: handle @hsep and @vsep.
108146515Sru  - @multitable: repeat table headings if multiple pages long.
109146515Sru  - @multitable: support a heading line concept (<thead> in HTML).
110146515Sru  - Introduce new command to change \bindingoffset.
111114472Sru  - How about using latex2html to produce HTML?
112114472Sru  - Table of contents gets misaligned if there are 10 or more [sub]sections.
113114472Sru  - Use url.sty (or something) to allow linebreak of url's.
114146515Sru  - Include hyperlink \special's in the DVI output for xdvi, etc.
115146515Sru  - PDF: make each letter of the index (A, B, ...) a section in the TOC.
116146515Sru    From Carsten Dominik <dominik@astro.uva.nl>.
117114472Sru
11842660Smarkm* Doc:
11942660Smarkm  - Include a complete functional summary, as in a reference card, in
12042660Smarkm    the manual.
12193139Sru  - Improve the manuals, especially for makeinfo, standalone info, etc.
12293139Sru  - new section on doing dedication pages. See gawk.texi
12342660Smarkm    for an example of doing it in both the tex and info versions.
12421495Sjmacd
12542660Smarkm* Info:
12656160Sru  - Regular expression search.
12756160Sru  - Full-text search across all info files installed on the system.
12856160Sru  - Support character sets other than ISO Latin 1.
12956160Sru  - Perhaps comply with LANGUAGE setting on a per-node basis, to allow
13056160Sru    incremental translation of Texinfo files.
13142660Smarkm  - Search all nodes of dir file at startup, then can have
13242660Smarkm    INFO-DIR-SEPARATE-GROUPS and other such.
13342660Smarkm  - Better dir file merging.
134146515Sru  - Global dir file (as in /etc/conf/dir) and texinfo config file
135146515Sru    specifying which info directories to search.  From Dale Mellor.
136146515Sru    http://mail.gnu.org/mailman/private/gnu-prog-discuss/2003q4/000439.html
13793139Sru  - Steal interface ideas from Lynx: number links, use color, etc.
13893139Sru    Perhaps code from the pinfo viewer can be reused:
13993139Sru    http://zeus.polsl.gliwice.pl/~pborys/.
14093139Sru  - More sample .infokey files, so people can choose without writing their own.
14142660Smarkm  - q within help should quit help like C-x 0.
142146515Sru  - Incorporate an X-based viewer, perhaps saxinfo or tkinfo
14356160Sru      http://www.math.ucsb.edu/~boldt/tkinfo/
144146515Sru  - Make "info foo bar" search for bar in foo's index(es) if no menu match.
145146515Sru  - Handle M-n, C-u m, and C-u g like Emacs Info (opening new windows).
146116525Sru  - Write technical definition of Info format.
14721495Sjmacd
14893139Sru* install-info:
149146515Sru  - be able to copy the info file to compile-time $infodir, to
15042660Smarkm    simplify by-hand installation.
151146515Sru  - also support installing HTML files, etc., along with subsidiary
152146515Sru    @image (or other) files.  In subdirs.  Or something.
153146515Sru  - support info dir entries for other than the current info file name;
154146515Sru    see comments in menu_item_equal.
155146515Sru  - merge features with Debian install-info, so we can have one program.
15693139Sru
157116525Sru* texindex:
158116525Sru  - read source file (specified by new option) for @documentlanguage
159146515Sru    and/or @documentencoding, and change the sorting appropriately.
160146515Sru  From: Wojciech Polak, 26 Apr 2003 11:30:59 +0200.
16193139Sru
162146515Sru* Distribution:
163146515Sru  - generate txi-??.tex from .po's to make translators' jobs easier.
164146515Sru    From Akim and Karl E.
165116525Sru
16693139SruIdeas that will not be implemented:
16793139Sru- Process Texinfo files directly instead of converting to Info:
16893139Sru  ftp://ftp.cs.berkeley.edu/ucb/people/phelps/tcltk/tkman.tar.Z, which
16993139Sru  uses Tcl/Tk 8.0 from ftp.smli.com in the /pub/tcl directory.
17093139Sru  From: phelps@ecstasy.CS.Berkeley.EDU (Tom Phelps)
17193139Sru  [This has the disadvantage of needing to be updated when the
17293139Sru  Texinfo language changes, so don't.]
17393139Sru
174146515Sru- Call Ghostscript to get ASCII/jpg output for the @image command.
175146515Sru  [makeinfo should not try to be make, or assume it knows how the user
176146515Sru   wants to generate images.  Too many different methods are possible.]
177146515Sru
178146515Sru- Change bars.  This is difficult or impossible in TeX,
179146515Sru  unfortunately.  To do it right requires device driver support.
180146515Sru  wdiff or ediff may be all we can do.  Merely specifying what should be
181146515Sru  changed is not obvious.
182