Jupyter notebooks
Creation of digital computational documents.
Incredible combination of:
- Code
- Documentation
- Compatible with over 100 different programming languages (R, Python, Java, …)
Allows for a reproducible, self-documented analysis.
![]()
LaTeX
High-quality type-setting system for the creation of professional documents → PhD thesis, publications, conference presentations / posters.
Best you can have for creation of PDF both for customization and quality.
![]()
Markdown
Simple and easy-to-use markup language to create quick, well-structured and good-looking documents.
- Basic formatting
- Super simple syntax
- Simple text
- Fully integrated with many tools (Jupyter, Github, websites, formulas, diagrams …)
![]()
Pandoc
A universal document converter.
- Can convert almost every text format to every other text format!
- Create PDF from markdown
- Create a HTML from LaTeX
- Create HTML page from Jupyter notebook!
- much more!
![]()
Quarto
An open-source scientific and technical publishing system built on Pandoc!
- Create PDF / Word / HTML documents
- Make presentations
- Articles
- Entire blogs / websites!
All from simple markdown source!
![]()
File manipulations and analysis
Requires scripting or heavy documentation
- ImageJ macros
- Jupyter notebooks
- R + RMarkdown
- …
Communication and outreach
Presentation, reports, publications etc..
→ Quarto can do all in one for you!
A common theme
Use text-based programs instead of self-contained software (i.e. no Microsoft office, yes Notepad).
Allows for:
- Fetching external files (no embedding)
- On-the-spot re-compilation / update
- Easy to read and access (no proprietary formats)
- Lighter files
- Easy Git integration (see next)!
Digital ecosystem for digital projects
- It all starts with a good project structure
- Professional documentation and publications
- Simple, light-weight files and softwares
- Create documentation while you work
- Keep all that matters in the same place
What is version control?
- The most robust paradigm to structure and organize your projects
- A system that allows to effectively track changes and merge files
- A hub to connect project developers
- A platform to share locally (your computer folder) and remotely your projects
Version control is mostly used in the context of software development, but it can be used in the development of any well-structured digital project!
Why version control?
Let’s say you want to write a document with a team (maybe an assignment or a publication)
Has this ever happened to you?
You start the project and give it a version number
You send it to Bob and Ana to work on their parts
In the meantime you continue working on your part!
So many versions of the same file!
Version control allows you to:
- Define and design project with structure: which parts and how they interact
- Avoid thousands of versions and their storage for the same file(s)
- Document changes as the files are built and go back to previous versions
- Collaborate effectively with other people when making projects
- Backup your work if you use remote repositories
Each part (or feature) is colored differently. ![]()
Each user gets access to its own version ![]()
Each user will work only on what previously agreed! ![]()
Ana’s work will add her feature to the original file ![]()
Bob’s work will modify the feature of the original file ![]()
Git works locally
Use it from the Git terminal/bash
Software alternatives with integrated Graphics User Interface (GUI)