]> code.delx.au - gnu-emacs-elpa/blob - packages/auctex/doc/todo.texi
5ac6703a2651abbee0fd11d6de5a26d00671a92a
[gnu-emacs-elpa] / packages / auctex / doc / todo.texi
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.
4 @ifset rawfile
5 @include macros.texi
6 @node Development,,(dir),(dir)
7 @top Future Development of @AUCTeX{}
8 @end ifset
9
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.
17
18 @menu
19 * Mid-term Goals::
20 * Wishlist::
21 * Bugs::
22 @end menu
23
24 @ifset rawfile
25 @node Mid-term Goals
26 @chapter Mid-term Goals
27 @raisesections
28 @end ifset
29
30 @ifclear rawfile
31 @node Mid-term Goals
32 @section Mid-term Goals
33 @end ifclear
34
35 @itemize @bullet
36 @item Integration of @previewlatex{} into @AUCTeX{}
37
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{}.
41
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.
45
46 @item More flexible option and command handling
47
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.
51
52 Customization of @code{TeX-command-list} by the user will interfere with
53 updates of @AUCTeX{}.
54
55 @item Error help catalogs
56
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.
64
65 @item Combining @samp{docTeX} with RefTeX
66
67 Macro cross references should also be usable for document navigation
68 using RefTeX.
69
70
71 @end itemize
72
73 @node Wishlist
74 @section Wishlist
75
76 @itemize @bullet
77 @item Documentation lookup for macros
78
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
85 requested yet.
86
87 @item Spell checking of macros
88
89 A special ispell dictionary for macros could be nice to have.
90
91 @item Quick error overviews
92
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.
96
97 @item A math entry grid
98
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).
102
103 @item Crossreferencing support
104
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.
110
111 @item Better plain TeX support
112
113 For starters, @code{LaTeX-math-mode} is not very @LaTeX{}-specific in
114 the first place, and similar holds for indentation and formatting.
115
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.
122
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.
126 @ifclear rawfile
127 @xref{Viewing}.
128 @end ifclear
129
130
131 @item
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>.
136
137 @item
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>.
141
142 @item
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.
146
147 @item
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>.
150
151 @item
152 Create template for (first) line of tabular environment.
153
154 @item
155 @c Already fixed?
156 I think prompting for the master is the intended behaviour. It
157 corresponds to a `shared' value for TeX-master.
158
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.
161
162 This default value for TeX-master could then be controled with mapping
163 based on the extension.
164
165 @item
166 Multiple argument completion for @samp{\bibliography}. In general, I
167 ought to make @kbd{,} special for these kind of completions.
168
169 @item
170 Suggest @samp{makeindex} when appropriate.
171
172 @item
173 Use index files (when available) to speed up @kbd{C-c C-m include
174 @key{RET}}.
175
176 @item
177 Option not to calculate very slow completions like for
178 @kbd{C-c C-m include @key{RET}}.
179
180 @item
181 Font menu should be created from @code{TeX-font-list}.
182
183 @item
184 Installation procedure written purely in emacs lisp.
185
186 @item
187 Included PostScript files should also be counted as part of the
188 document.
189
190 @item
191 A nice hierarchical by-topic organization of all officially documented
192 LaTeX macros, available from the menu bar.
193
194 @item
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>}.
197
198 @item
199 Make @AUCTeX{} work with @samp{crypt++}. Suggested by Chris Moore
200 @samp{<Chris.Moore@@src.bae.co.uk>}.
201
202 @item
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.
206
207 @item
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>}.
211
212 @item
213 Make @key{.} check for abbreviations and sentences ending with capital
214 letters.
215
216 @item
217 Use Emacs 19 minibuffer history to choose between previewers, and other
218 stuff. Suggested by John Interrante
219 @samp{<interran@@uluru.Stanford.EDU>}.
220
221 @item
222 Make features.
223
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.
227
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
230 previewing.
231
232 @item
233 Documentation of variables that can be set in a style hook.
234
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.
238
239 Here is the start of such a list.
240 @table @code
241
242 @item LaTeX-add-environments
243
244 @item TeX-add-symbols
245
246 @item LaTeX-add-labels
247
248 @item LaTeX-add-bibliographies
249
250 @item LaTeX-largest-level
251
252 @end table
253
254 @item
255 Completion for counters and sboxes.
256
257 @item
258 Outline should be (better) supported in @TeX{} mode.
259
260 At least, support headers, trailers, as well as TeX-outline-extra.
261
262 @item
263 @code{TeX-header-start} and @code{TeX-trailer-end}.
264
265 We might want these, just for fun (and outlines)
266
267 @item
268 Plain @TeX{} and @LaTeX{} specific header and trailer expressions.
269
270 We should have a way to globally specify the default value of the header
271 and trailer regexps.
272
273 @item
274 Get closer to original @code{TeX-mode} keybindings.
275
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
278 change to @AUCTeX{}.
279
280 @item
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).
285
286 @item
287 Finish the Texinfo mode. For one thing, many Texinfo mode commands do
288 not accept braces around their arguments.
289
290 @item
291 Hook up the letter environment with @file{bbdb.el}.
292
293 @end itemize
294
295 @node Bugs
296 @section Bugs
297
298 @c FIXME: Are those bugs still present?
299
300 @itemize @bullet
301 @item The parsed files and style hooks for @file{example.dtx},
302 @file{example.sty}, @file{example.drv} and @file{example.bib} all
303 clash. Bad.
304
305 @item
306 @kbd{C-c `} should always stay in the current window, also when it finds
307 a new file.
308
309 @item
310 Do not overwrite emacs warnings about existing auto-save files when
311 loading a new file.
312
313 @item
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.
317
318 @item
319 @AUCTeX{} should not parse verbatim environments.
320
321 @item
322 Make @samp{`} check for math context in @code{LaTeX-math-mode}. and
323 simply self insert if not in a math context.
324
325 @item
326 Make @code{TeX-insert-dollar} more robust. Currently it can be fooled
327 by @samp{\mbox}'es and escaped double dollar for example.
328
329 @item
330 Correct indentation for tabular, tabbing, table, math, and array
331 environments.
332
333 @item
334 No syntactic font locking of verbatim macros and environments. (XEmacs
335 only)
336
337 @item
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)
341
342 @item
343 Folding of @LaTeX{} constructs spanning more than one line may result in
344 overfull lines. (XEmacs only)
345 @end itemize