H❤️rtDown is a scientific document processor. H❤️rtDown helps authors identify incorrect formulas and undescribed symbols, readers with math augmentations, and experimenters with executable formulas and dynamic figures.

#### Abstract:

Scientific documents describe a topic in a mix of prose and mathematical expressions. The prose refers to those expressions, which themselves must be encoded in, e.g., LaTeX. The resulting documents are static, even though most documents are now read digitally. Moreover, formulas must be implemented or re-implemented separately in a programming language in order to create executable research artifacts. Literate environments allow executable code to be added in addition to the prose and math. The code is yet another encoding of the same mathematical expressions. We introduce H

❤️rtDown, a document processor, authoring environment, and paper reading environment for scientific documents. Prose is written in Markdown, linear algebra formulas in an enhanced version of

I❤️LA, derivations in LaTeX, and dynamic figures in Python. H

❤️rtDown is designed to support existing scientific writing practices: editing in plain text, using and defining symbols in prose-determined order, and context-dependent symbol re-use. H

❤️rtDown's authoring environment assists authors by identifying incorrect formulas and highlighting symbols not yet described in the prose. H

❤️rtDown outputs a dynamic paper reader with math augmentations to aid in comprehension, and code libraries for experimenting with the executable formulas. H

❤️rtDown supports dynamic figures generated by inline Python code. This enables a new approach to scientific experimentation, where editing the mathematical formulas directly updates the figures. We evaluate H

❤️rtDown with an expert study and by re-implementing SIGGRAPH papers.

#### BibTeX:

@inproceedings{li2021iheartla,
author = {Li, Yong and Kamil, Shoaib and Jacobson, Alec and Gingold, Yotam},
title = {HeartDown: Document Processor for Executable Linear Algebra Papers},
booktitle = {ACM SIGGRAPH Asia (Conference Papers)},
year = {2022},
month = dec,
isbn = {978-1-4503-9470-3/22/12},
doi = {10.1145/3550469.3555395},
keywords = {linear algebra, domain-specific language, compiler, Markdown, literate programming}
}