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

  • 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 🔖 🔗.
    • 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.
  • 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
    🔖 🔗.

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.

  • 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 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 🔗.
    • ipypublish – Workflow for
      creating and editing publication ready scientific reports and presentations,
      from one or more Jupyter Notebooks, without leaving the browser 🔖
      🔗.
  • 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

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.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button