Scientific Writing
repo: writing-resources/awesome-scientific-writing
category: Miscellaneous
related: Free Programming Books · Markdown
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
- Bibliography
- Illustrations
- Converters and Filters
- Spell Checking and Linting
- Templates
- Tutorials
- Other Lists
Word Processors
- 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.
- 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 Preview Enhanced - Pandoc
integration and utilities.
- Markdown All in One - Extension for enhanced
- 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.- Better BibTeX for Zotero - Enhanced
BibTeX / BibLaTeX integration 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.
- app.diagrams.net - Open source, online, desktop and
container deployable diagramming software named draw.io. - 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 intoreveal.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 :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.
- Pandoc filters - List of
- Quarto - Compile R Markdown, and Jupyter Notebooks to PDFs, Slides and Websites. Supports R, Python, and Julia :bookmark: :link:.
Spell Checking and Linting
- GNU Aspell - Command line spell checker.
- Hunspell - Command line spell checker.
- LanguageTool - Open source grammar, style and
spell Checker. - LanguageCheck - Analyses scientific LaTeX papers, suggesting improvements from a list of common mistakes/ambiguities, tense consistency, a vs. an, spell check, and paragraph topic sentences.
- 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
- [Paper Templates for GitHub Pages](https://github.com/dev-onejun/paper-templates-for-github-pages) - Markdown-based templates for papers and RESUME/CVs, publishing with GitHub Pages.
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.
- [3 frameworks into one — Write your next paper with R Studio!](https://blog.devgenius.io/write-your-whole-paper-in-r-it-is-better-77e1843f0c09) - Article provides an overview to a workflow that combines R Markdown (bookdown), Zotero (literature management), and Notion (note taking on research papers) to write academic papers.
- Book on Riemann solvers - This
example uses a customnbconverttemplate 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.
- [Heads up! Quarto is here to stay. Immediately combine R & Python in your next document](https://blog.devgenius.io/heads-up-quarto-is-here-to-stay-aa861ef87491) - Summary of the capabilities of Quarto, why to use it, and how it compares to R Markdown. Also contains tips for M1 Mac users on how to fix a common problem with reticulate.
- 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](https://www.draketo.de/english/emacs/writing-papers-in-org-mode-acpd) - Detailed
tutorial on authoring a paper by seamlessly integrating with LaTeX
commands within Org-mode.
Other Lists
Contribute
Contributions welcome! Read the contribution guidelines first.