Giter Club home page Giter Club logo

awesome-scientific-writing's Introduction

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.

๐Ÿ”– 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 :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.
  • 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 :bookmark: :link:.

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.

Other Awesome Lists

Contribute

Contributions welcome! Read the contribution guidelines first.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.