144743Smarkm$Id: TODO,v 1.26 2004/11/22 23:57:32 karl Exp $
244743SmarkmThis is the todo list for GNU Texinfo.
344743SmarkmIf you are interested in working on any of these, email bug-texinfo@gnu.org.
444743Smarkm
544743Smarkm  Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2003, 
644743Smarkm  2001, 2002, 2003, 2004 Free Software Foundation.
744743Smarkm
844743Smarkm  Copying and distribution of this file, with or without modification,
944743Smarkm  are permitted in any medium without royalty provided the copyright
1044743Smarkm  notice and this notice are preserved.
1144743Smarkm
1244743Smarkm* General:
1344743Smarkm  - @euro{}.
1444743Smarkm  - Support installation of manuals in different languages, along these lines:
1544743Smarkm    . support a LINGUAS file or variable saying which subdirs LL in the
1644743Smarkm      source to descend into (under doc/).
1744743Smarkm    . within each subdir LL, install the info files into $infodir/LL,
1851495Ssheldonh      and run install-info on $infodir/LL/dir.
1951495Ssheldonh    . info (both emacs and standalone) should read $infodir/$LANG/dir
2044743Smarkm      as the first dir file, and likewise read info files first from
2144743Smarkm      $infodir/$LANG, before falling back to $infodir.
2244743Smarkm    . consider ways to avoid installing images in both places.
2344743Smarkm      In fact, images probably need to be installed in a subdir
2444743Smarkm      $infodir/MANUAL/ in the first place, to avoid conflicts of having
2544743Smarkm      the same image name in different manuals.
2644743Smarkm    For a test case, see texinfo cvs, with its one translated manual
2744743Smarkm    (info-fr.texi).
2844743Smarkm    From Wojciech Polak.
2956977Sshin  - Monitor and improve the dir categories in existing manuals,
3056977Sshin    following the Free Software Directory categories.  Much mail to
3156977Sshin    developers has already been sent, what's needed now is to check new
3244743Smarkm    releases and make sure they are using the right categories.
3356977Sshin    See the util/dir-example in the Texinfo distribution for our current
3456977Sshin    recommended categories.
3556977Sshin    For background, see the thread (which discusses a lot of other
3644743Smarkm    issues too) at
3744743Smarkm    http://mail.gnu.org/pipermail/emacs-devel/2002-10/msg00011.html,
3844743Smarkm    especially 
3944743Smarkm      http://mail.gnu.org/archive/html/emacs-devel/2002-10/msg00090.html
4044743Smarkm      http://mail.gnu.org/archive/html/emacs-devel/2002-10/msg00137.html
4144743Smarkm  - Get Info declared as a MIME Content-Type.
4244743Smarkm  - Likewise the `info:' URI scheme; a library consortium has proposed a
4344743Smarkm    completely different purpose for the URI scheme, but I don't know
4463158Sume    how to send comments, despite it being a "request for comments".  Sigh.
4563158Sume    There is mail about this in the bug-texinfo archives:
4663158Sume      http://mail.gnu.org/archive/html/bug-texinfo/2003-09/msg00086.html
4744743Smarkm  - Support compressed image files.
4844743Smarkm  - Support reference card creation, perhaps by only paying attention to
4944743Smarkm    sectioning and @def... commands.
5044743Smarkm  - Allow @end (and other?) commands to be indented in the source.
5144743Smarkm  - Test for memory leaks, e.g., with valgrind:
5244743Smarkm    http://developer.kde.org/~sewardj/
5344743Smarkm  - Extend and improve the tests.
5444743Smarkm
5544743Smarkm* Language:
5644743Smarkm  - @else for the @if... conditionals.
5744743Smarkm  - @xindexterm [def] primary [,secondary [,tertiary]]  or some such?
5844743Smarkm  - Allow subitems and `see' and `see also' in indices.
5944743Smarkm  - multicolumn * width to take up `the rest'.
6044743Smarkm  - another table command to take N succeeding items and split them
6144743Smarkm    into M columns (see eplain).
6244743Smarkm  - support bibliographies with BibTeX (see web2c/doc for kludge prototype).
6344743Smarkm  - @flushboth to combine @flushleft and @flushright, for RFC's.
6444743Smarkm  - @part sectioning command.
6544743Smarkm  - @exercise/@answer command for, e.g., gawk.
6644743Smarkm  - Allow @hsep/@vsep at @item, instead of just in template.
6744743Smarkm  - Support automatic line numbering of examples.
6844743Smarkm  - Better macro syntax.
6944743Smarkm  - Better def... command syntax.
7044743Smarkm  - Allow : in node names for info files, for names like
7144743Smarkm    `class::method'.  Likewise index entries.  A quoting mechanism such
7244743Smarkm    as surrounding node names with SPACE BACKSPACE is probably the best
7344743Smarkm    solution, although this is an incompatible change to Info format, sigh.
7444743Smarkm  - Glossary/general definition support (dumas msg 28 Nov 2003 17:09:57 +0100).
7544743Smarkm  - Add support for other Latin 9 (and Latin 2 and Latin 1) characters.
7644743Smarkm
7744743Smarkm* Makeinfo:
7844743Smarkm  - Translation of "Appendix" etc. should depend on @doclang not $LANG.
7944743Smarkm  - Try directory of main source file.
8044743Smarkm  - Make makeinfo -E just do macro expansion, avoiding all error checks.
8144743Smarkm    That way, texi2dvi could run makeinfo --iftex -E.
8244743Smarkm  - A detexinfo program, like detex or delatex.  This command would
8344743Smarkm    strip all the texinfo commands out, and would be used as a filter on
8444743Smarkm    the way to a speller.  An option would be to NOT strip comments out.
8544743Smarkm    makeinfo --no-headers comes close.
8644743Smarkm  - If node name contains an @ command, complain explicitly.
8744743Smarkm  - Use @documentlanguage instead of LANG for many translations.
8844743Smarkm  - HTML: split output by chapter to improve context, per Akim.
8944743Smarkm    Generate dummy files for all nodes for the sake of cross-references.
9044743Smarkm  - HTML: support thumbnails.
9144743Smarkm  - HTML: make images of math, maybe.
9244743Smarkm  - HTML: allow settable background color, table colors and spacing,
9344743Smarkm    <head> meta tags, etc.  A la http://texi2html.cvshome.org.  In fact:
9444743Smarkm  - HTML: have a library of different CSS styles.
9544743Smarkm    http://mail.gnu.org/archive/html/bug-texinfo/2004-01/msg00025.html
9656977Sshin  - XML: cannot be loaded directly in a browser; why not?
9756977Sshin  - Docbook: &euro; and other entities do not work; does anything work?
9856977Sshin  - Rewrite completely to simplify generation of different formats.
9956977Sshin
10044743Smarkm* TeX:
10144743Smarkm  - Use @ as the escape character, and Texinfo syntax generally, in the
10244743Smarkm    table of contents and index files.  Eliminate all the crazy
10344743Smarkm    multiple redefinitions of every Texinfo command in different contexts.
10444743Smarkm  - Support input in any encoding and language, via ec or Latin Modern fonts.
10544743Smarkm  - Reasonable way to change fonts from the default (some work has been
10644743Smarkm    done), to allow for PostScript fonts, for example.
10744743Smarkm  - @multitable: handle @hsep and @vsep.
10844743Smarkm  - @multitable: repeat table headings if multiple pages long.
10944743Smarkm  - @multitable: support a heading line concept (<thead> in HTML).
11044743Smarkm  - Introduce new command to change \bindingoffset.
11144743Smarkm  - How about using latex2html to produce HTML?
11244743Smarkm  - Table of contents gets misaligned if there are 10 or more [sub]sections.
11344743Smarkm  - Use url.sty (or something) to allow linebreak of url's.
11444743Smarkm  - Include hyperlink \special's in the DVI output for xdvi, etc.
11544743Smarkm  - PDF: make each letter of the index (A, B, ...) a section in the TOC.
11644743Smarkm    From Carsten Dominik <dominik@astro.uva.nl>.
11744743Smarkm
11844743Smarkm* Doc:
11944743Smarkm  - Include a complete functional summary, as in a reference card, in
12044743Smarkm    the manual.
12144743Smarkm  - Improve the manuals, especially for makeinfo, standalone info, etc.
12244743Smarkm  - new section on doing dedication pages. See gawk.texi
12344743Smarkm    for an example of doing it in both the tex and info versions.
12444743Smarkm
12544743Smarkm* Info:
12644743Smarkm  - Regular expression search.
12744743Smarkm  - Full-text search across all info files installed on the system.
12844743Smarkm  - Support character sets other than ISO Latin 1.
12944743Smarkm  - Perhaps comply with LANGUAGE setting on a per-node basis, to allow
13044743Smarkm    incremental translation of Texinfo files.
13144743Smarkm  - Search all nodes of dir file at startup, then can have
13244743Smarkm    INFO-DIR-SEPARATE-GROUPS and other such.
13344743Smarkm  - Better dir file merging.
13444743Smarkm  - Global dir file (as in /etc/conf/dir) and texinfo config file
13544743Smarkm    specifying which info directories to search.  From Dale Mellor.
13644743Smarkm    http://mail.gnu.org/mailman/private/gnu-prog-discuss/2003q4/000439.html
13744743Smarkm  - Steal interface ideas from Lynx: number links, use color, etc.
13844743Smarkm    Perhaps code from the pinfo viewer can be reused:
13944743Smarkm    http://zeus.polsl.gliwice.pl/~pborys/.
14044743Smarkm  - More sample .infokey files, so people can choose without writing their own.
14144743Smarkm  - q within help should quit help like C-x 0.
14244743Smarkm  - Incorporate an X-based viewer, perhaps saxinfo or tkinfo
14344743Smarkm      http://www.math.ucsb.edu/~boldt/tkinfo/
14444743Smarkm  - Make "info foo bar" search for bar in foo's index(es) if no menu match.
14544743Smarkm  - Handle M-n, C-u m, and C-u g like Emacs Info (opening new windows).
14644743Smarkm  - Write technical definition of Info format.
14744743Smarkm
14844743Smarkm* install-info:
14944743Smarkm  - be able to copy the info file to compile-time $infodir, to
15044743Smarkm    simplify by-hand installation.
151201782Ssobomax  - also support installing HTML files, etc., along with subsidiary
15244743Smarkm    @image (or other) files.  In subdirs.  Or something.
15344743Smarkm  - support info dir entries for other than the current info file name;
15444743Smarkm    see comments in menu_item_equal.
15544743Smarkm  - merge features with Debian install-info, so we can have one program.
15644743Smarkm
15744743Smarkm* texindex:
15844743Smarkm  - read source file (specified by new option) for @documentlanguage
15944743Smarkm    and/or @documentencoding, and change the sorting appropriately.
16044743Smarkm  From: Wojciech Polak, 26 Apr 2003 11:30:59 +0200.
16144743Smarkm
16244743Smarkm* Distribution:
16344743Smarkm  - generate txi-??.tex from .po's to make translators' jobs easier.
16444743Smarkm    From Akim and Karl E.
16544743Smarkm
16644743SmarkmIdeas that will not be implemented:
16744743Smarkm- Process Texinfo files directly instead of converting to Info:
168201782Ssobomax  ftp://ftp.cs.berkeley.edu/ucb/people/phelps/tcltk/tkman.tar.Z, which
169201782Ssobomax  uses Tcl/Tk 8.0 from ftp.smli.com in the /pub/tcl directory.
170201782Ssobomax  From: phelps@ecstasy.CS.Berkeley.EDU (Tom Phelps)
171201782Ssobomax  [This has the disadvantage of needing to be updated when the
172201782Ssobomax  Texinfo language changes, so don't.]
173201782Ssobomax
174201782Ssobomax- Call Ghostscript to get ASCII/jpg output for the @image command.
175201782Ssobomax  [makeinfo should not try to be make, or assume it knows how the user
176201782Ssobomax   wants to generate images.  Too many different methods are possible.]
177201782Ssobomax
17844743Smarkm- Change bars.  This is difficult or impossible in TeX,
17944743Smarkm  unfortunately.  To do it right requires device driver support.
18044743Smarkm  wdiff or ediff may be all we can do.  Merely specifying what should be
18144743Smarkm  changed is not obvious.
18244743Smarkm