Awesome Scientific Writing
🔖 means ability to seamlessly cite references.
🔗 means ability to cross-reference figures and sections within the document.
- Word Processors
- Converters and Filters
- Spell Checking and Linting
- Other Lists
- Atom - Popular IDE with Markdown support.
- Marktext - Markdown text editor.
- R Studio - IDE for R.
- Vim - Command line text editor.
- 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 🔖 🔗.
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.
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
reveal.jspresentations, PDF, HTML, Markdown, reStructuredText and more.
- 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.
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.
Reusable minimalist examples.
- 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
- scientific-markdown - Example
for use of Markdown for scientific publications using Pandoc and
- Steve's R Markdown Templates - Academic manuscript, memos, Beamer presentation, syllabus and CV.
- pandoc-starter - Templates for articles, Beamer presentations etc. using Markdown files and Makefiles for getting started with Pandoc.
- slides - Demo for generating
reveal.jspresentations using Pandoc.
- 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.
How to generate articles and presentations for scientific purposes.
- Book on Riemann solvers - This
example uses a custom
nbconverttemplate and shows how to store your notebooks with no output (for version control) while automatically executing them before running
bookbook, 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,
latexmkand 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.
- Write your dissertation in RMarkdown - Step-by-step guide on creating a complex pdf document, including text, figures, references, images, formatting, and more.
- Writing scientific papers for ACPD using Emacs Org-mode - Detailed tutorial on authoring a paper by seamlessly integrating with LaTeX commands within Org-mode.
Contributions welcome! Read the contribution guidelines first.
Contribute to this list: https://github.com/writing-resources/awesome-scientific-writing