Previous: Inserting ‘#’ with @hashchar{}
, Up: Special Characters: Inserting @ {} , \ # & [Contents][Index]
@&
and @ampchar{}
Ordinarily, an ampersand ‘&’ is a normal character in Texinfo that can be simply typed in your input where you need it. The result is to typeset the ampersand character.
However, the ampersand character has a special meaning in Texinfo in just one restricted context. In the argument to a definition command (see Definition Commands), Emacs Lisp keywords beginning with ampersands are recognized and typeset specially. See A Sample Function Description in GNU Emacs Lisp Reference Manual. For example:
@defun foo integer1 &optional integer2 &rest integers @code{foo} described here. @end defun
leads to the output
foo
described here.
So, in order to typeset an ampersand in such a context (for example, in
documentation of a C++ function taking a reference as a parameter),
it’s necessary to use @&
or some other construct.
Here’s an example:
@deftypefn Function int foo (@code{const std::vector<int>@&} bar) Documentation of @code{foo}. @end deftypefn
This gives the output
const std::vector<int>&
bar) ¶Documentation of foo
.
Although ‘@&’ and ‘@ampchar{}’ can be used nearly anywhere, there is no need for them anywhere except this unusual case.