#================================================== -*- indented-text -*-
#
# TODO
#
# DESCRIPTION
#   TODO list for the LaTeX-Driver package, containing known bugs,
#   limitations, planned enhancements, long term visions and a few
#   whacky ideas.
#
# AUTHOR
#   Andrew Ford   <a.ford@ford-mason.co.uk>
#
#------------------------------------------------------------------------
# $Id: TODO 84 2012-08-30 20:19:25Z andrew $
#========================================================================

#------------------------------------------------------------------------
# Miscellaneous
#------------------------------------------------------------------------

* add handling of luatex

* improve Kwalitee and general adherance to Perl best practice [MOSTLY DONE]

* add a script to invoke LaTeX::Driver on a specified file - need to
  think of a good name and a sensible set of options

* add checks for timestamps (a la "make" and "latexmk")

* check the mechanism whereby latex (or pdflatex) is re-run if the
  document contains undefined references after the first run.  Bibtex
  is re-run if undefined citations are reported by latex, and
  makeindex is run if the driver detects a ".idx" file.  If bibtex or
  makeindex are run then latex (or pdflatex) are run up to three more
  times to allow forward references to stabilize.

  This should all be coped with now but need to check on edge cases

* look at how path variables could be specified to the filter
  (TEXINPUTS, TEXINPUTS_latex, TEXINPUTS_pdflatex, BIBINPUTS, etc),
  and how these should interact with the system paths.

* get the filter working on Win32

  how does one set environment variables with command.exe?

* write unit tests for error conditions (invalid .bib file, etc)

* test the scripts

* make test scripts check for presence of tex components, such as
  dvitype, lastpage.sty

* provide a facility for specifying pre- and post-processors,
  e.g. gnuplot, metapost, tpic or other graphics processors.  May need
  to copy data files from the source location to the temporary
  directory.

* benchmark the filter

  Note that the latex filter runs up to eight external programs, so it
  isn't very fast.  But for modest documents the performance is
  adequate, even for interactive applications.

* expand the documentation

* try to fix the line numbers when formatting a template document with
  latex2xxx results in latex errors.  If we get errors with line
  numbers, they will relate to the expanded document - not to the
  template source lines, but we could find the mapping by reexpanding
  the template, adding line numbers in TT2 "#" comments to the
  template source, and then go to the line number in error and read
  off the original line number.

* check for further conditions that require re-running of one or more
  LaTeX programs.
