Readable Science Markup#
Readable Science Markup (RSM) is a markup language for writing web-first scientific manuscripts. It combines the simplicity of Markdown with the power of semantic tagging.
# Getting Started with RSM
:author: {
:name: RSM Team
:affiliation: The Aris Program
} ::
## Introduction
RSM was inspired by popular languages such
as Markdown, ReST, and LaTeX. RSM strives
for simplicity, flexibility, and
functionality.
The main syntax feature of RSM are tags. Strings such as :author: and :name:
are called tags. In RSM, tags are are both a syntactic element, i.e. they act as
delimiters for regions of text, and a semantic element, i.e. they annotate text based on
meaning, not just structure.
:abstract:
This is the manuscript's abstract.
::
The :abstract: tag is a block tag that introduces a clearly separated part of the
manuscript. Some tags can also have meta-data attached. For example, the :author:
tag in the first example uses :name: and :affiliation: tags to specify author
details. Tags like :name: and :affiliation: are called meta tags—they modify
their parent tag.
Tags such as :author: and :abstract: introduce parts of the manuscript that are
clearly separated from other parts. These are called block tags. In contrast, the
following example illustrates the :span: tag.
Span tags do not introduce new parts, but
:span: {:strong:} live within:: their
parents.
The :span: tag does not introduce a separate block, but a region of text that lives
within its enclosing parent, in this case a paragraph. Tags such as this are called
inline tags.
Furthermore, in this example we used the :strong: tag to modify the enclosing :span: tag,
i.e. :strong: is a meta tag of :span:. Note the use of braces to introduce the
:strong: tag and the use of the Halmos :: as closing delimiter of :span:.
The notation :span: {:strong:} text :: to introduce bold text allows an alternative
shorthand notation using asterisks (*).
## Awesome section
Span tags do not introduce new parts, but
**live within** their parents.
Here is a complete example using all the basic features of RSM markup.
# RSM Markup
:author: {
:name: Melvin J. Blanc
:affiliation: ACME University
:email: mel@acme.edu
} ::
:abstract:
Web-first scientific manuscripts.
::
## Awesome Section
Simple markup for :span:{:strong:, :emphas:}
web native:: scientific publications.
Summary
The base language is comprised of tags, which delimit or modify text. Some tags
introduce new parts of the manuscript (block tags), while others simply annotate
their content (inline tags), or modify the enclosing tag (meta tags). All tags are
introduced by using their name surrounded by colons :tag-name: and end at a
Halmos, or empty tag, ::. Some tags allow for shorthand notation, such as using
asterisks * to introduce bold text. Tags can be nested within the contents of
other tags.
Tip
Whitespace is ignored essentially everywhere in RSM. It is recommended to leave generous whitespace where desired to improve readability.