The most common thing to define in a style hook is new symbols (TeX macros). Most likely along with a description of the arguments to the function, since the symbol itself can be defined automatically.
Here are a few examples from `latex.el'.
(TeX-add-style-hook "latex" (function (lambda () (TeX-add-symbols '("arabic" TeX-arg-counter) '("label" TeX-arg-define-label) '("ref" TeX-arg-label) '("newcommand" TeX-arg-define-macro [ "Number of arguments" ] t) '("newtheorem" TeX-arg-define-environment [ TeX-arg-environment "Numbered like" ] t [ TeX-arg-counter "Within counter" ])))))
Each argument to TeX-add-symbols
is a list describing one symbol.
The head of the list is the name of the symbol, the remaining elements
describe each argument.
If there are no additional elements, the symbol will be inserted with point inside braces. Otherwise, each argument of this function should match an argument of the TeX macro. What is done depends on the argument type.
If a macro is defined multiple times, AUC TeX will chose the one with the longest definition (i.e. the one with the most arguments).
Thus, to overwrite
'("tref" 1) ; one argument
you can specify
'("tref" TeX-arg-label ignore) ; two arguments
ignore
is a function that does not do anything, so when you
insert a `tref' you will be prompted for a label and no more.
string
number
nil
t
other symbols
list
vector
A lot of argument hooks have already been defined. The first argument to all hooks is a flag indicating if it is an optional argument. It is up to the hook to determine what to do with the remaining arguments, if any. Typically the next argument is used to overwrite the default prompt.
TeX-arg-conditional
TeX-arg-literal
TeX-arg-free
TeX-arg-eval
TeX-arg-file
TeX-arg-label
TeX-arg-macro
TeX-arg-environment
TeX-arg-cite
TeX-arg-counter
TeX-arg-savebox
TeX-arg-file
TeX-arg-input-file
TeX-arg-define-label
TeX-arg-define-macro
TeX-arg-define-environment
TeX-arg-define-cite
TeX-arg-define-counter
TeX-arg-define-savebox
TeX-arg-corner
TeX-arg-lr
TeX-arg-tb
TeX-arg-pagestyle
TeX-arg-verb
TeX-arg-pair
TeX-arg-size
TeX-arg-coordinate
If you add new hooks, you can assume that point is placed directly after
the previous argument, or after the macro name if this is the first
argument. Please leave point located after the argument you are
inserting. If you want point to be located somewhere else after all
hooks have been processed, set the value of exit-mark
. It will
point nowhere, until the argument hook sets it.