Courses & Tutorials
Awesome Scientific Writing – Massive Collection of Resources
Scientific writing can extend beyond LaTeX, made possible by formats,
such as
Markdown (and its many flavours),
reStructuredText and
Jupyter notebooks.
🔖 means ability to seamlessly cite references.
🔗 means ability to cross-reference figures and sections within the
document.
Contents
- Word Processors
- Bibliography
- Illustrations
- Converters and Filters
- Spell Checking and Linting
- Templates
- Tutorials
Word Processors
- Atom – Popular IDE with Markdown support.
- Markdown Preview Enhanced for Atom – Pandoc
integration and utilities for Atom. - Autocomplete BibTeX for Atom – BibTeX support for Atom.
- Markdown Preview Enhanced for Atom – Pandoc
- Marktext – Markdown text editor.
- R Studio – IDE for R.
- bookdown – R package to facilitate writing books and long-form articles, reports with R Markdown 🔖 🔗.
- R Markdown – R package to write R next to Markdown
🔖
🔗.
- 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.
- fzf-bibtex – BibTeX source
- 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.
- Markdown All in One – Extension for enhanced
- Zettlr – Markdown editor which
integrates CSL, BibLaTeX, Pandoc and many other tools
🔖 🔗.
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.- Better BibTeX for Zotero – Enhanced
BibTeX / BibLaTeX integration for Zotero. - ZotFile for Zotero – Enhanced PDF file management for Zotero.
- Better BibTeX for Zotero – Enhanced
- 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 🔗. - docutils – Python package which can
convert reStructuredText into various formats and provides command-line
tools to do it 🔗. - 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 intoreveal.js
presentations, PDF, HTML, Markdown,
reStructuredText and more.- bookbook – Experimental Python
package which extendsnbconvert
and adds the ability to cross reference
within and across notebooks 🔗. - ipypublish – Workflow for
creating and editing publication ready scientific reports and presentations,
from one or more Jupyter Notebooks, without leaving the browser 🔖
🔗.
- bookbook – Experimental Python
- pandoc – Haskell library for converting from
one markup format to another, and a command-line tool that uses this
library 🔖 🔗.- Academic Markdown – Python wrapper over Pandoc with specialized extensions to parse certain
elements, making it a superset of Pandoc Markdown flavour 🔖
🔗. - 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.
- Academic Markdown – Python wrapper over Pandoc with specialized extensions to parse certain
Spell Checking and Linting
- GNU Aspell – Command line spell checker.
- Hunspell – Command line spell checker.
- LanguageTool – Open source grammar, style and
spell Checker. - Markdown lint tool – Markdown linter.
- proselint – Linter for prose.
- remarklint – Markdown linter.
- restructuredtext-lint – reStructuredText linter.
- textlint – Pluggable linting tool for text
and Markdown. - textidote – Spelling, grammar and
style checking on LaTeX documents. - Vale – Free, open-source linter for
prose built with speed and extensibility in mind. - write-good – Naive linter for English
prose.
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
- bookdown-demo – Minimal
example of a book based on R Markdown and bookdown. - Eisvogel – Clean academic pandoc LaTeX template.
- Template for writing a PhD thesis in
Markdown – Clean
organization of files to provide a framework for writing a PhD thesis in
mostly Markdown with a little bit of LaTeX, and compiled with Pandoc.
Tutorials
How to generate articles and presentations for scientific purposes.
- Book on Riemann solvers – This
example uses a customnbconvert
template and shows how to store your
notebooks with no output (for version control) while automatically executing
them before runningbookbook
, so that PDF and HTML versions include the
output. - Dennis Tenen and Grant Wythoff – Sustainable Authorship in Plain Text using Pandoc and Markdown.
- Katrin Leinweber’s Ph.D.
thesis – Automated
work flow involving several tools, but primarily Pandoc,latexmk
and
Academic Markdown. - Scott Selisker – Plain Text Workflow for Academic Writing with Atom.
- Teaching and learning with
Jupyter – Book
written in R Markdown, bookdown and also rendered as HTML, PDF and
EPUB. - Writing scientific papers for ACPD using Emacs
Org-mode – Detailed
tutorial on authoring a paper by seamlessly integrating with LaTeX
commands within Org-mode.
Tags
Awesome Scientific Writing