(yatexe)How the add-in function works

Next: How the function is called Prev: Add-in functions Up: Add-in functions

How the add-in function works

There are three types of add-in.

  1. Option add-in
  2. argument add-in
  3. enclosing add-in

"Option add-in" returns the LaTeX's optional parameters such as optional
strings after `\begin{ENV}', optional strings between a section-type
command and its first argument, and optional strings just after type
maketitle-type command.  The following illustrates the name of add-in
functions, where underlined strings are generated by add-in functions.

     \begin{table}[ht]		(Function name: YaTeX:table)
     \put(100,200){}		(Function name: YaTeX:put)
     \sum_{i=0}^{n}		(Function name: YaTeX:sum)

  Obviously, the function name is decided by concatenating the prefix
`YaTeX:' and LaTeX command's name.

  Another add-in type is "argument add-in", which completes arguments for
section-type commands.

     \newcommand{\foo}{bar}	(Function name: YaTeX::newcommand)
                 ~~~~  ~~~

  When the section-type command is inputted, the function named by
concatenating `YaTeX::' and section-type command, is called automatically
with an integer argument which indicates which argument of section-type
command is being read.  Thus the add-in should determine the job referring
the value of its argument.

  "enclosing add-in" is for modifying and/or checking the region that will
be enclosed by section-type commands via `[prefix] S'.  An enclosing
add-in function will be called with two arguments, beginning of the
enclosed region and end of the region.  Suppose you want to enclose the
existing text `(a+b)/c' by `\frac{}'.

     |  |
     A  B

You do set-mark-command at point A and then move to point B.  Typing
`[prefix] S' and input `frac' enclose the region like this;


Normally, the expression `a/c' is translated to
`\frac{a}{c}'. An enclosing add-in is useful for modifying
`/' to `}{'.

* Defining option-add-in
* Defining argument-add-in
* Defining enclosing-add-in

automatically generated by info2www.cgi version 1.2