Format Rd fragments as macros (todo: a baffling title!)
Format Rd fragments as macros, generally by putting them in a list and setting the "Rd_tag" as needed.
Rdo_macro(x, name) Rdo_macro1(x, name) Rdo_macro2(x, y, name) Rdo_item(x, y) Rdo_sigitem(x, y, newline = TRUE)
x in a list with "
name. This is the representation of Rd macros with one argument.
Rdo_macro2 basically wraps a possibly transformed
y in a list with "
name. More specifically,
x has a non-NULL "
x is wrapped in
x is left as is, unless
x is a
character string, when it is converted to a text Rd element and
y is processed in the same way.
This is the representation of Rd macros with two arguments.
Rdo_macro returns an object with "
constructed as follows. If
x is not of class "character", its
Rd_tag" is set to
name and the result
returned without further processing. Otherwise, if it is of class
x is tagged as an Rd "TEXT" element. It is then
wrapped in a list but only if
name is one of "
Rdo_macro1 is called on the
Rdo_item is equivalent to
set to "
Rdo_sigitem is for items which have the syntax used in
description of signatures. In that case the first argument of
\item" is wrapped in "
y is missing,
a text inviting the author to provide a description of the function
for this signature is inserted.