1 @c This is part of the AUCTeX Manual.
2 @c Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
3 @c See the file auctex.texi for copying conditions.
6 @node Development,,(dir),(dir)
7 @top Future Development of @AUCTeX{}
10 The following sections describe future development of @AUCTeX{}.
11 Besides mid-term goals, bug reports and requests we cannot fix or honor
12 right away are being gathered here. If you have some time for Emacs
13 Lisp hacking, you are encouraged to try to provide a solution to one of
14 the following problems. If you don't know Lisp, you may help us to
15 improve the documentation. It might be a good idea to discuss proposed
16 changes on the mailing list of @AUCTeX{} first.
26 @chapter Mid-term Goals
32 @section Mid-term Goals
36 @item Integration of @previewlatex{} into @AUCTeX{}
38 As of @AUCTeX{} 11.81 @previewlatex{} is a part of @AUCTeX{} in the
39 sense that the installation routines were merged and @previewlatex{} is
40 being packaged with @AUCTeX{}.
42 Further integration will happen at the backend. This involves folding
43 of error parsing and task management of both packages which will ease
44 development efforts and avoid redundant work.
46 @item More flexible option and command handling
48 The current state of command handling with @code{TeX-command-list} is
49 not very flexible because there is no distinction between executables
50 and command line options to be passed to them.
52 Customization of @code{TeX-command-list} by the user will interfere with
55 @item Error help catalogs
57 Currently, the help for errors is more or less hardwired into
58 @file{tex.el}. For supporting error help in other languages, it would
59 be sensible to instead arrange error messages in language-specific
60 files, make a common info file from all such catalogs in a given
61 language and look the error texts up in an appropriate index. The user
62 would then specify a preference list of languages, and the errors would
63 be looked up in the catalogs in sequence until they were identified.
65 @item Combining @samp{docTeX} with RefTeX
67 Macro cross references should also be usable for document navigation
77 @item Documentation lookup for macros
79 A parser could gather information about which macros are defined in
80 which @LaTeX{} packages and store the information in a hashtable which
81 can be used in a backend for @code{TeX-doc} in order to open the
82 matching documentation for a given macro. The information could also be
83 used to insert an appropriate @samp{\usepackage} statement if the user
84 tries to insert a macro for which the respective package has not been
87 @item Spell checking of macros
89 A special ispell dictionary for macros could be nice to have.
91 @item Quick error overviews
93 An error overview window (extract from the log file with just the error
94 lines, clickable like a ``grep'' buffer) and/or fringe indicators for
95 errors in the main text would be nice.
97 @item A math entry grid
99 A separate frame with a table of math character graphics to click on in
100 order to insert the respective sequence into the buffer (cf. the
101 ``grid'' of x-symbol).
103 @item Crossreferencing support
105 It would be nice if you could index process your favorite collection of
106 @file{.dtx} files (such as the LaTeX source), just call a command on
107 arbitrary control sequence, and get either the DVI viewer opened right
108 at the definition of that macro (using Source Specials), or the source
109 code of the @file{.dtx} file.
111 @item Better plain TeX support
113 For starters, @code{LaTeX-math-mode} is not very @LaTeX{}-specific in
114 the first place, and similar holds for indentation and formatting.
116 @item Poor man's Source Specials
117 In particular in PDF mode (and where Source Specials cause problems),
118 alternatives would be desirable. One could implement inverse search by
119 something like Heiko Oberdiek's @file{vpe.sty}, and forward search by
120 using the @file{.aux} file info to correlate labels in the text
121 (possibly in cooperation with Ref@TeX{}) with previewer pages.
123 In @AUCTeX{} 11.83, support for forward search with PDF files was added.
124 Currently this only works if you use the pdfsync @LaTeX{} package and
125 xpdf as your PDF viewer.
132 Page count when compiling should (optionally) go to modeline of the
133 window where the compilation command was invoked, instead of the output
134 window. Suggested by Karsten Tinnefeld
135 <tinnefeld@@irb.informatik.uni-dortmund.de>.
138 Command to insert a macrodefinition in the preamble, without moving
139 point from the current location. Suggested by
140 "Jeffrey C. Ely" <ely@@nwu.edu>.
143 A database of all commands defined in all stylefiles. When a command or
144 environment gets entered that is provided in one of the styles, insert
145 the appropriate @code{\usepackage} in the preamble.
148 A way to add and overwrite math mode entries in style files, and to
149 decide where they should be. Suggested by Remo Badii <Remo.Badii@@psi.ch>.
152 Create template for (first) line of tabular environment.
156 I think prompting for the master is the intended behaviour. It
157 corresponds to a `shared' value for TeX-master.
159 There should probably be a `none' value which wouldn't query for the
160 master, but instead disable all features that relies on TeX-master.
162 This default value for TeX-master could then be controled with mapping
163 based on the extension.
166 Multiple argument completion for @samp{\bibliography}. In general, I
167 ought to make @kbd{,} special for these kind of completions.
170 Suggest @samp{makeindex} when appropriate.
173 Use index files (when available) to speed up @kbd{C-c C-m include
177 Option not to calculate very slow completions like for
178 @kbd{C-c C-m include @key{RET}}.
181 Font menu should be created from @code{TeX-font-list}.
184 Installation procedure written purely in emacs lisp.
187 Included PostScript files should also be counted as part of the
191 A nice hierarchical by-topic organization of all officially documented
192 LaTeX macros, available from the menu bar.
195 @code{TeX-command-default} should be set from the master file, if not
196 set locally. Suggested by Peter Whaite @samp{<peta@@cim.mcgill.ca>}.
199 Make @AUCTeX{} work with @samp{crypt++}. Suggested by Chris Moore
200 @samp{<Chris.Moore@@src.bae.co.uk>}.
203 Make @AUCTeX{} work with @samp{longlines}. This would also apply to
204 @previewlatex{}, though it might make sense to unify error processing
205 before attempting this.
208 The @samp{Spell} command should apply to all files in a document. Maybe
209 it could try to restrict to files that have been modified since last
210 spell check? Suggested by Ravinder Bhumbla @samp{<rbhumbla@@ucsd.edu>}.
213 Make @key{.} check for abbreviations and sentences ending with capital
217 Use Emacs 19 minibuffer history to choose between previewers, and other
218 stuff. Suggested by John Interrante
219 @samp{<interran@@uluru.Stanford.EDU>}.
224 A new command @code{TeX-update} (@kbd{C-c C-u}) could be used to create
225 an up-to-date dvi file by repeatedly running Bib@TeX{}, MakeIndex and
226 (La)@TeX{}, until an error occurs or we are done.
228 An alternative is to have an @samp{Update} command that ensures the
229 @samp{dvi} file is up to date. This could be called before printing and
233 Documentation of variables that can be set in a style hook.
235 We need a list of what can safely be done in an ordinary style hook.
236 You can not set a variable that @AUCTeX{} depends on, unless @AUCTeX{}
237 knows that it has to run the style hooks first.
239 Here is the start of such a list.
242 @item LaTeX-add-environments
244 @item TeX-add-symbols
246 @item LaTeX-add-labels
248 @item LaTeX-add-bibliographies
250 @item LaTeX-largest-level
255 Completion for counters and sboxes.
258 Outline should be (better) supported in @TeX{} mode.
260 At least, support headers, trailers, as well as TeX-outline-extra.
263 @code{TeX-header-start} and @code{TeX-trailer-end}.
265 We might want these, just for fun (and outlines)
268 Plain @TeX{} and @LaTeX{} specific header and trailer expressions.
270 We should have a way to globally specify the default value of the header
274 Get closer to original @code{TeX-mode} keybindings.
276 A third initialization file (@file{tex-mode.el}) containing an emulator
277 of the standard @code{TeX-mode} would help convince some people to
281 Make @code{TeX-next-error} parse ahead and store the results in a list,
282 using markers to remember buffer positions in order to be more robust
283 with regard to line numbers and changed files. This is what
284 @code{next-error} does. (Or did, until Emacs 19).
287 Finish the Texinfo mode. For one thing, many Texinfo mode commands do
288 not accept braces around their arguments.
291 Hook up the letter environment with @file{bbdb.el}.
298 @c FIXME: Are those bugs still present?
301 @item The parsed files and style hooks for @file{example.dtx},
302 @file{example.sty}, @file{example.drv} and @file{example.bib} all
306 @kbd{C-c `} should always stay in the current window, also when it finds
310 Do not overwrite emacs warnings about existing auto-save files when
314 Maybe the regexp for matching a TeX symbol during parsing should be
315 @samp{"\\\\\\([a-zA-Z]+\\|.\\)"} ---
316 @samp{<thiemann@@informatik.uni-tuebingen.de>} Peter Thiemann.
319 @AUCTeX{} should not parse verbatim environments.
322 Make @samp{`} check for math context in @code{LaTeX-math-mode}. and
323 simply self insert if not in a math context.
326 Make @code{TeX-insert-dollar} more robust. Currently it can be fooled
327 by @samp{\mbox}'es and escaped double dollar for example.
330 Correct indentation for tabular, tabbing, table, math, and array
334 No syntactic font locking of verbatim macros and environments. (XEmacs
338 Font locking inside of verbatim macros and environments is not
339 inhibited. This may result in syntax highlighting of unbalanced dollar
340 signs and the like spilling out of the verbatim content. (XEmacs only)
343 Folding of @LaTeX{} constructs spanning more than one line may result in
344 overfull lines. (XEmacs only)