Abstract#

Qualified name: rsm.nodes.Abstract

class rsm.nodes.Abstract(keywords=None, msc=None, **kwargs)[source]#

Bases: NodeWithChildren

Manuscript abstract.

Notes

By convention, abstracts contain only paragraphs and not other blocks. This convention is not enforced, but it may be assumed to be the case during the translation step.

Examples

:abstract: {
  :keywords: {cosmology, general relativity, black holes}
}

Black holes emit radiation.

::

Methods

Attributes

newmetakeys

Meta keys to add to those of the parent class.

keywords

Manuscript keywords.

msc

Mathematics Subject Classification (MSC) codes.

nodeid

Node id - always exists (unlike label), automatically assigned, unique within the tree.

label

Unique identifier.

classes

CSS classes for this node.

handrail_depth

The number of ancestors of this node that have a handrail.

number

Node number.

nonum

Whether this node should be automatically given a number.

reftext_template

Reftext template, or "" to use classreftext.

start_point

The start point of the corresponding concrete syntax tree node.

end_point

The end point of the corresponding concrete syntax tree node.

keywords[source]#

Manuscript keywords.

msc[source]#

Mathematics Subject Classification (MSC) codes.

newmetakeys: ClassVar[set] = {'keywords', 'msc'}[source]#

Meta keys to add to those of the parent class.

Important

Only use this when defining a new Node subclass. When dealing with Node isntances, do not access this attribute directly neither for reading nor writing. Always use metakeys() in that case.

See also

metakeys()

Examples

The keys in newmetakeys are added to the meta keys of the parent class.

>>> nodes.Heading.newmetakeys
{'title'}
>>> nodes.Heading.metakeys() == nodes.Node.metakeys() | {"title"}
True

The intended use, and only supported use, of newmetakeys is at the time of class definition.

>>> class NewNode(nodes.Node):
...     newmetakeys = {"newkey"}
>>> NewNode.metakeys() == nodes.Node.metakeys() | {"newkey"}
True