Awesome Scientific Writing
Scientific writing can extend beyond LaTeX, made possible by formats,
such as
Markdown
(and its many flavours),
reStructuredText
and Jupyter notebooks.
:bookmark: means ability to seamlessly cite references.
:link: means ability to
cross-reference figures and sections within the document.
Contents
Word Processors
-
Atom - Popular IDE with Markdown support.
-
Marktext - Markdown text editor.
-
R Studio - IDE for R.
-
bookdown - R
package to facilitate writing books and long-form articles, reports
with R Markdown :bookmark: :link:.
-
R Markdown - R package
to write R next to Markdown :bookmark: :link:.
-
Vim - Command line text editor.
-
fzf-bibtex
- BibTeX source with Vim integration which uses fzf (a fuzzy finder
implemented in Go).
-
vim-pandoc -
Pandoc integration and utilities for Vim.
-
vim-pandoc-syntax
- Pandoc syntax highlighting for Vim.
-
Visual Studio Code -
Popular IDE with Markdown support.
-
Markdown All in One
- Extension for enhanced Markdown support in VSCode, such as preview
and auto completion to name a few.
-
Zettlr - Markdown editor which
integrates CSL, BibLaTeX, Pandoc and many other tools :bookmark: :link:.
Bibliography
Reference managers to generate citations, BibTeX, and BibLaTeX files.
-
Citation Style Language (CSL) styles
- Crowdsourced repository with over 9000 free CSL citation styles and an
online editor to create new ones.
-
JabRef - Open source bibliography
reference manager.
-
Zotero - FOSS tool to collect,
organize, cite, and share research.
-
ZoteroBib - Online bibliography
reference manager.
Illustrations
Drawing illustrations themselves has driven many a scientist mad.
Fortunately, there are formal languages with which one can create
beautiful graphics.
-
diagrams.net - Open source,
online, desktop and container deployable diagramming software.
-
graphviz - Visualization software
for graphs and networks which uses a domain-specific DOT language.
-
Mermaid Live Editor
- Define simple diagrams instead of drawing them.
-
Vega Lite -
Define charts and more complex diagrams.
-
PlantUML - Define UML diagrams
instead of drawing them.
Converters and Filters
Supplementary files and tools.
-
Cicero - Python package which renders
HTML presentations from Markdown source using remark or reveal.js
:link:.
-
docutils - Python
package which can convert reStructuredText into various formats and
provides command-line tools to do it :link:.
-
Jupyter Book - A static site
generator which converts a collection of CommonMark, MyST markdown and
Jupyter notebooks into a HTML website.
-
MyST -
Markedly Structured Text, a superset of CommonMark markdown with
reStructuredText like features.
-
nbconvert -
Convert Jupyter notebooks into
reveal.js
presentations,
PDF, HTML, Markdown, reStructuredText and more.
-
bookbook
- Experimental Python package which extends
nbconvert
and adds the ability to cross reference
within and across notebooks :link:.
-
ipypublish
- Workflow for creating and editing publication ready scientific
reports and presentations, from one or more Jupyter Notebooks,
without leaving the browser :bookmark: :link:.
-
pandoc - Haskell library for
converting from one markup format to another, and a command-line tool
that uses this library :bookmark: :link:.
-
Academic Markdown
- Python wrapper over Pandoc with specialized extensions to parse
certain elements, making it a superset of Pandoc Markdown flavour
:bookmark: :link:.
-
Pandoc filters
- List of addons to pandoc which implement extra features such as
citations and cross-references.
-
Panflute -
Pythonic alternative to John MacFarlane’s pandocfilters.
Spell Checking and Linting
Templates
Reusable minimalist examples.
Articles
-
Pandoc Markdown-LaTeX Boilerplate
- Demonstrate how to integrate Pandoc with an existing LaTeX template
which requires some boilerplate code (i.e. LaTeX preamble), thus
avoiding the
latexmk
dependency.
-
scientific-markdown
- Example for use of Markdown for scientific publications using Pandoc
and
latexmk
.
-
Steve’s R Markdown Templates
- Academic manuscript, memos, Beamer presentation, syllabus and CV.
Presentations
-
pandoc-starter
- Templates for articles, Beamer presentations etc. using Markdown files
and Makefiles for getting started with Pandoc.
-
slides - Demo for
generating
reveal.js
presentations using Pandoc.
Books
Tutorials
How to generate articles and presentations for scientific purposes.
Other Lists
Contribute
Contributions welcome! Read the
contribution guidelines first.