A new way to write and explore mathematical texts.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
fonts
lib
src
view
.gitattributes
.gitignore
LICENSE.md
README.md
animation.gif
logo.png
package.json
screenshot.png

README.md

reticule npm version

A new way to write and explore mathematical texts.

Animation

Getting Started

Table of Contents

Installation

Make sure you have Node.js and npm installed. To install reticule, run:

npm install -g reticule

Book Structure

To create a book, create a folder with the following text files:

root/
├ book.json
└ toc.md

Meta Information

book.json contains all meta-information regarding your book, such as the title and the author. toc.md contains the table of contents of your book. It defines all sections and links to the corresponding files.

book.json contains an JSON object with the following properties:

Property Description
title * The book title. No markdown allowed.
author * The book author(s). Markdown allowed.
accent Defines an accent color in hex. Default: #327CCB
lang Defines the book language. Affects CSS hyphenation. Default: en
github The link to a GitHub repository. If defined, every page has a 'GitHub' and an 'Edit page' link.
disqus The shortname of your Disqus website. Provides Disqus comment system integration if defined.
localization An object containing alternate strings. Translatable strings: ¶, $\square$, Proof, Table of Contents, Index, GitHub, Edit page, Generated by reticule

* Required properties

Example

{
    "title": "Étale Kohomologie",
    "author": "Yichuan Shen",
    "lang": "de",
    "localization": {
        "Proof": "Beweis",
        "Table of Contents": "Inhaltsverzeichnis",
        "Edit page": "Seite bearbeiten",
        "Generated by reticule": "Erstellt mit reticule",
        "$\\square$": "Q.E.D."
    }
}

Book Sections

For each section create a folder with a tags.md file:

root/
├ section1/
│ └ tags.md
├ section2/
│ └ tags.md
├ subsection/
| └ section3/
│   └ tags.md
│
├ book.json
└ toc.md

Also, provide the book structure in toc.md as an unordered list:

* [Section 1](section1/)
* [Section 2](section2/)
* Subsection
    * [Section 3](subsection/section3/)

Don't use the folder name index as it's reserved for the automatically generated index.

Tags

Tags are the building blocks of a reticule. A tag consists of two parts: An assertion and an optional proof. To create a tag, choose a unique tag id, e.g. #0ABC or #1ABC, and write the content:

#0ABC

There are infinitely many primes.

#1ABC:Dirichlet's Theorem

Let `a, b` be coprime numbers. There are infinitely many primes
congruent `a` modulo `b`.

Tag ids start with a hash symbol # followed by alphanumeric characters or the hyphen -. You can name the tag by appending a colon and a name to the id. To provide a proof, add a horizontal line:

#0ABC:Theorem

There are infinitely many primes.

---

Suppose there are only finite primes `p_1,\ldots,p_n`. Observe that
`p_1\cdot p_2\cdots p_n + 1` has a prime divisor `p`, distinct from
`p_1,\ldots,p_n`.

Markdown is used for formatting. Code spans and code blocks are converted into math environments and rendered by MathJax and XyJax.

To link to other tags, use a markdown link and and the tag id as the source:

#0ABC:Theorem

There are infinitely many primes.

---

Putting `a = 1` and `b = 2` in [~](#1ABC) yields infinitely many
odd primes.

Creating Index

To add a keyword to the index, just append the keyword, wrapped in ~~, anywhere in the tag:

#1ABC:Dirichlet's Theorem

Let `a, b` be coprime numbers. There are infinitely many primes
congruent `a` modulo `b`. ~~Dirichlet's Theorem~~

You can add a context to a keyword by appending | and the context to the keyword:

#1ABC:Dirichlet's Theorem

Let `a, b` be coprime numbers. There are infinitely many primes
congruent `a` modulo `b`. ~~Dirichlet's Theorem|Number Theory~~

TeX Macros

You can define custom TeX macros that can be used throughout your book. Simply add a file named macros.tex with the user-defined macros to the root folder:

root/
├ book.json
├ toc.md
└ macros.tex

Compilation

To compile a reticule book into a website, navigate to your book directory and simply run:

reticule