TODO 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. $Id$
  2. This is the todo list for GNU Texinfo.
  3. If you are interested in working on any of these, email bug-texinfo@gnu.org.
  4. Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2003,
  5. 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011, 2012,
  6. 2013, 2014, 2015
  7. Free Software Foundation.
  8. Copying and distribution of this file, with or without modification,
  9. are permitted in any medium without royalty provided the copyright
  10. notice and this notice are preserved.
  11. * Language:
  12. - Remove the need for @if[not]tex at the beginning of the document.
  13. - Allow : in node names for info files, for names such as
  14. `class::method'. Likewise index entries. A quoting mechanism such
  15. as surrounding node names with SPACE BACKSPACE is probably the best
  16. solution, although this is an incompatible change to Info format.
  17. This would also allow references without any *note and :: in text,
  18. (pace goptical, Alexandre Becoulet, 18 Jan 2011 00:31:42).
  19. - consider doing some @inline version of @set, @ifset, like
  20. @inlineset{flag, ...}, @inlineifset{flag, if set} or @inlineifset{flag,
  21. if set, if not set} in analogy with @inlinefmt.
  22. - @xindexterm [def] primary [,secondary [,tertiary]] or some such?
  23. - Allow subitems and `see' and `see also' in indices.
  24. - generalize @vtable/@htable to any defined index.
  25. - generalize @deffn/etc. with variants that don't make index entries.
  26. - @mergeindex to do @syn*index without changing fonts.
  27. - multicolumn * width to take up `the rest'.
  28. - Allow @hsep/@vsep at @item, instead of just in template.
  29. - another table command to take N succeeding items and split them
  30. into M columns (see eplain).
  31. - support bibliographies with BibTeX (see web2c/doc for kludge prototype).
  32. - @flushboth to combine @flushleft and @flushright, for RFC's.
  33. - @exercise/@answer command for, e.g., gawk.
  34. - Support automatic line numbering of examples.
  35. - Better def... command syntax, explicitly marking variables, etc.
  36. - Glossary/general definition support (dumas msg 28 Nov 2003 17:09:57 +0100).
  37. - Add support for other Latin 9 (and Latin 2 and Latin 1) characters.
  38. * Makeinfo:
  39. - Improve the HTML customization API.
  40. - HTML: support thumbnails.
  41. - HTML: have a library of different CSS styles.
  42. http://mail.gnu.org/archive/html/bug-texinfo/2004-01/msg00025.html
  43. - XML: cannot be loaded directly in a browser; browsers are supposed to
  44. be able to look up the DTD and do something.
  45. - add --output-encoding, to set OUTPUT_ENCODING_NAME.
  46. - Support output formats retaining the tree structure of Texinfo documents
  47. as parsed by the Parser. A lisp-like format for GUILE? Maybe JSON?
  48. - Support LaTeX as a backend.
  49. - Support the epub output format, http://en.wikipedia.org/wiki/OEBPS.
  50. Suggested by Sean Young, 30 Nov 2008 20:13:11.
  51. - Support the MediaWiki output format.
  52. * TeX:
  53. - Index above @item allows page break.
  54. - Table of contents is misaligned if there are 10 or more [sub]sections.
  55. - @float captions should be typeset in a smaller font?
  56. - Reset the scriptfonts and scriptscriptfonts when font size changes.
  57. - Reasonable way to change fonts from the default (some work has been
  58. done), to allow for PostScript fonts, for example.
  59. - @multitable: handle @hsep and @vsep.
  60. - @multitable: repeat table headings if multiple pages long.
  61. - @multitable: support a heading line concept (<thead> in HTML).
  62. - Introduce new command to change \bindingoffset.
  63. - Use marks to define a real @thissection.
  64. - Include synctex support.
  65. - Include hyperlink \special's in the DVI output for xdvi, etc.
  66. - PDF: make each letter of the index (A, B, ...) a section in the TOC.
  67. From Carsten Dominik.
  68. - PDF: use the PageLabels dictionary to allow jumping to logical
  69. pages, presumably after xpdf/gv support it. Section 8.3.1 of the
  70. PDF reference. From Werner Lemberg, texinfo-pretest mail of
  71. 27 Feb 2006 22:55:13 +0100.
  72. - Use @ as the escape character in index files by default,
  73. after new texindex is deployed (2020?).
  74. * Doc:
  75. - New section on doing dedication pages. See gawk.texi
  76. for an example of doing it in both the tex and info versions.
  77. - Use/distribute pod2texi generated documentation of the perl modules in
  78. tp generated in doc/tp_api -- when api is stable.
  79. - Documentation of the HTML customization is missing.
  80. * Info:
  81. - Perhaps comply with LANGUAGE setting on a per-node basis, to allow
  82. incremental translation of Texinfo files.
  83. - Display images when running under X, as Emacs 22+ can.
  84. - Search all nodes of dir file at startup, then can have
  85. INFO-DIR-SEPARATE-GROUPS and other such. I.e., we could have
  86. programs (what is now "Individual utilities") in one node, library
  87. functions, in another, etc. And how about supporting other languages?
  88. - Better dir file merging.
  89. - Global dir file (as in /etc/conf/dir) and texinfo config file
  90. specifying which info directories to search. From Dale Mellor.
  91. http://mail.gnu.org/mailman/private/gnu-prog-discuss/2003q4/000439.html
  92. - More sample .infokey files, so people can choose without writing their own.
  93. - Incorporate an X-based viewer, perhaps the old GNU xinfo widget
  94. (http://www.gnu.org/software/xinfo) or saxinfo
  95. or tkinfo (http://www.math.ucsb.edu/~boldt/tkinfo/).
  96. - Handle M-n, C-u m, and C-u g like Emacs Info (opening new windows).
  97. - A running view mode, to display the next node after the end of the
  98. last one, and be able to toggle display of a node's subnodes.
  99. (Could be hard to implement though, because of how much code assumes
  100. that only one node is in a window at once.)
  101. * install-info:
  102. - install-info --dir-file=dir2 --entry=info foo.info installs garbage
  103. from the misformatted --entry (and no entries from foo.info).
  104. - be able to copy the info file to compile-time $infodir, to
  105. simplify by-hand installation.
  106. - also support installing HTML files, etc., along with subsidiary
  107. @image (or other) files. In subdirs. Or something.
  108. - support info dir entries for other than the current info file name;
  109. see comments in menu_item_equal.
  110. - Monitor and improve the dir categories in existing manuals,
  111. following the Free Software Directory categories. Much mail to
  112. developers has already been sent, what's needed now is to check new
  113. releases and make sure they are using the right categories.
  114. See the util/dir-example in the Texinfo distribution for our current
  115. recommended categories.
  116. For background, see the thread (which discusses a lot of other
  117. issues too) at
  118. http://lists.gnu.org/archive/html/emacs-devel/2002-10/msg00011.html
  119. especially
  120. http://lists.gnu.org/archive/html/emacs-devel/2002-10/msg00090.html
  121. http://lists.gnu.org/archive/html/emacs-devel/2002-10/msg00137.html
  122. * texindex:
  123. - read source file (specified by new option) for @documentlanguage
  124. and/or @documentencoding, and change the sorting appropriately.
  125. From: Wojciech Polak, 26 Apr 2003 11:30:59 +0200.
  126. * Distribution:
  127. - generate txi-??.tex from .po's to make translators' jobs easier.
  128. From Akim and Karl E.
  129. ***********************************************************************
  130. * Ideas that will not be implemented:
  131. - Support general reference card creation.
  132. [Reference cards are too different from normal Texinfo.]
  133. - Support installation of manuals in different languages, along these lines:
  134. . support a LINGUAS file or variable saying which subdirs LL in the
  135. source to descend into (under doc/).
  136. . within each subdir LL, install the info files into $infodir/LL,
  137. and run install-info on $infodir/LL/dir.
  138. . info (both emacs and standalone) should read $infodir/$LANG/dir
  139. as the first dir file, and likewise read info files first from
  140. $infodir/$LANG, before falling back to $infodir.
  141. . consider ways to avoid installing images in both places.
  142. In fact, images probably need to be installed in a subdir
  143. $infodir/MANUAL/ in the first place, to avoid conflicts of having
  144. the same image name in different manuals.
  145. For a test case, see texinfo cvs, with its one translated manual
  146. (info-fr.texi).
  147. From Wojciech Polak.
  148. ... Except, in practice, people just name their manuals with a
  149. suffix for the language, and that seems to work well enough. There
  150. aren't that many manuals even in English, let alone other languages,
  151. and there are almost no manuals in multiple languages.
  152. - Process Texinfo files directly instead of converting to Info:
  153. ftp://ftp.cs.berkeley.edu/ucb/people/phelps/tcltk/tkman.tar.Z, which
  154. uses Tcl/Tk 8.0 from ftp.smli.com in the /pub/tcl directory.
  155. From: Tom Phelps @ berkeley
  156. [This has the disadvantage of needing to be updated when the
  157. Texinfo language changes, so don't.]
  158. - Call Ghostscript to get ASCII/jpg output for the @image command.
  159. [makeinfo should not try to be make, or assume it knows how the user
  160. wants to generate images. Too many different methods are possible.]
  161. - Get Info declared as a MIME Content-Type, and
  162. an `info:' URI scheme; a library consortium has proposed a
  163. completely different purpose for the URI scheme, but I don't know
  164. how to send comments, despite it being a "request for comments". Sigh.
  165. There is mail about this in the bug-texinfo archives:
  166. http://mail.gnu.org/archive/html/bug-texinfo/2003-09/msg00086.html
  167. [I suppose it is too late, and it doesn't seem to matter in practice.]
  168. - Change bars. This is difficult or impossible in TeX,
  169. unfortunately. To do it right requires device driver support.
  170. wdiff or ediff may be all we can do. Merely specifying what should be
  171. changed is not obvious. texdiff (http://www.robmar.net/TexDiff) does
  172. something reasonable for LaTeX, maybe it can be adapted.
  173. - @else for the @if... conditionals. Using (for example) an @iftex block
  174. followed by an @ifnottex block is good enough.