[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2 Completion

Emacs lisp programmers probably know the lisp-complete-symbol command, usually bound to M-TAB. Users of the wonderful ispell mode know and love the ispell-complete-word command from that package. Similarly, AUCTeX has a TeX-complete-symbol command, usually bound to M-TAB. Using LaTeX-complete-symbol makes it easier to type and remember the names of long LaTeX macros.

In order to use TeX-complete-symbol, you should write a backslash and the start of the macro. Typing M-TAB will now complete as much of the macro, as it unambiguously can. For example, if you type ``\renewc'' and then `M-TAB, it will expand to ``\renewcommand''.

Command: TeX-complete-symbol
(M-TAB) Complete TeX symbol before point.

A more direct way to insert a macro is with TeX-insert-macro, bound to C-c C-m. It has the advantage over completion that it knows about the argument of most standard LaTeX macros, and will prompt for them. It also knows about the type of the arguments, so it will for example give completion for the argument to `\include'. Some examples are listed below.

Command: TeX-insert-macro
(C-c C-m) Prompt (with completion) for the name of a TeX macro, and if AUCTeX knows the macro, prompt for each argument.

As a default selection, AUCTeX will suggest the macro last inserted or, as the first choice the value of the variable TeX-default-macro.

User Option: TeX-insert-macro-default-style
Specifies whether TeX-insert-macro will ask for all optional arguments.

If set to the symbol show-optional-args, TeX-insert-macro asks for optional arguments of TeX macros. If set to mandatory-args-only, TeX-insert-macro asks only for mandatory argument. When TeX-insert-macro is called with prefix argument (C-u), it's the other way round.

Note that for some macros, there are special mechanisms, e.g. LaTeX-includegraphics-options-alist.

User Option: TeX-default-macro
Default macro to insert when invoking TeX-insert-macro first time.

A faster alternative is to bind the function TeX-electric-macro to `\'. This can be done by setting the variable TeX-electric-escape

User Option: TeX-electric-escape
If this is non-nil when AUCTeX is loaded, the TeX escape character `\' will be bound to TeX-electric-macro

The difference between TeX-insert-macro and TeX-electric-macro is that space will complete and exit from the minibuffer in TeX-electric-macro. Use TAB if you merely want to complete.

Command: TeX-electric-macro
Prompt (with completion) for the name of a TeX macro, and if AUCTeX knows the macro, prompt for each argument. Space will complete and exit.

By default AUCTeX will put an empty set braces `{}' after a macro with no arguments to stop it from eating the next whitespace. This can be stopped by entering LaTeX-math-mode, see section 3.1 Entering Mathematics, or by setting TeX-insert-braces to nil

User Option: TeX-insert-braces
If non-nil, append a empty pair of braces after inserting a macro.

Completions work because AUCTeX can analyze TeX files, and store symbols in emacs lisp files for later retrieval. See section 8. Automatic Customization, for more information.

AUCTeX will also make completion for many macro arguments, for example existing labels when you enter a `\ref' macro with TeX-insert-macro or TeX-electric-macro, and BibTeX entries when you enter a `\cite' macro. For this kind of completion to work, parsing must be enabled as described in see section 6. Automatic Parsing of TeX files. For `\cite' you must also make sure that the BibTeX files have been saved at least once after you enabled automatic parsing on save, and that the basename of the BibTeX file does not conflict with the basename of one of TeX files.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated by Davide G. M. Salvetti on September, 9 2004 using texi2html