Scientific Writing

repo: writing-resources/awesome-scientific-writing
category: Miscellaneous
related: Free Programming Books · Markdown


Awesome Scientific Writing Awesome

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

Reference managers to generate citations, BibTeX, and BibLaTeX files.

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 into reveal.js presentations, 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.
  • Quarto - Compile R Markdown, and Jupyter Notebooks to PDFs, Slides and Websites. Supports R, Python, and Julia :bookmark: :link:.

Spell Checking and Linting

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

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 custom nbconvert template 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.
  • [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.

[[curator]]
I'm the Curator. I can help you navigate, organize, and curate this wiki. What would you like to do?