11 Sep 2024
I owe a debt of gratitude to many people as the thoughts and code in these slides are the process of years-long development cycles and discussions with my team, friends, colleagues and peers. When someone has contributed to the content of the slides, I have credited their authorship.
These materials are generated by Gerko Vink, who holds the copyright. The intellectual property belongs to Utrecht University. Images are either directly linked, or generated with StableDiffusion or DALL-E. That said, there is no information in this presentation that exceeds legal use of copyright materials in academic settings, or that should not be part of the public domain.
Warning
You may use any and all content in this presentation - including my name - and submit it as input to generative AI tools, with the following exception:
Open Source:
Official: This course gives an overview of the state-of-the-art in statistical markup, reproducible programming and scientific digital representation.
Realistic: Hanne and Gerko will give you peek into our lives as opinionated developers. We will cover:
Week | Date | Focus | Location |
---|---|---|---|
Week 1 | 11 Sep | Introduction to Markup Languages; and LaTeX | BOL 1025 |
Week 2 | 25 Sep | Markdown in (most) Flavors | BOL 1049 |
Week 3 | 16 Okt | Version Control and Development Flow | BOL 1025 |
Week 4 | 06 Nov | Reproducible Research Repositories | BOL 1025 |
Week 5 | 20 Nov | Developer Portfolio | BOL 1025 |
Week 6 | 04 Dec | Packages, Code Robustness and Unit Testing | BOL 1049 |
Important
We won’t use Blackboard. All materials can be found at
All contributions to this course are to be delivered by email link to us, where the link leads to your downloaded completed zip of this repository template:
Please post your content-related questions as an issue in the course repository
Deadline for all is Jan 20 2025. Grades will be available Jan 24 2025
You must submit a portfolio that proves
that you should cover at least
Quarto
and one of
A more comprehensive portfolio can result in extra credit in the form of a higher grade.
A markup language is a system for annotating a document that provides structure and meaning to the content, allowing it to be processed and displayed in a consistent manner across different platforms and devices.
markdown
is a lightweigt markup language that can be edited using any text editor, while being quick and easy to compile. It is nowadays widely considered as the language of the internet as it bridges most great attributes of other markup languages.quarto
is aimed at delivering reproducible, consistent Pandoc markdown documents that unify the best of all other markup languages.Important
Be careful with your online carbon footprint
In the grand scheme of things, trivial activities like emailing, chatting and video conferencing may seem insignificant. Collectively it adds up to a much larger carbon footprint than needed.
Everything that you do online is either energy or costs energy. And cloud storage means burning carbon for eternity.
Graphical (Word) Processors
Markup languages
If you prefere lists:
If you prefer arguments:
TeX
and \(\LaTeX\)TeX: Birth of a Typesetting Revolution
TeX
, a typesetting system.LaTeX: Building on TeX’s Foundation
TeX
.TeX
formatting commands, making it more accessible to a broader audience.\section
and \tableofcontents
.TeX and \(\LaTeX\): A Symbiotic Relationship
TeX
typesetting engine, allowing users to create professional documents and presentations.TeX
and LaTeX
excel at typesetting with precise control over fonts, layout, and mathematical notation.LaTeX
’s native support for mathematical notation makes it the go-to choice for scientists, engineers, and mathematicians.LaTeX
.LaTeX
documents can be easily managed using version control systems like Git
(Wk 3).LaTeX Ecosystem: A vast collection of packages and templates is available on CTAN to cater to diverse document types.
Long-Term Stability: Documents created with TeX and LaTeX have a long shelf life.
TeX
is software, it ensures compatibility across different platforms and software versions.LaTeX
and the basics of LaTeX
for scientific writing. see this week’s labOverleaf is an online LaTeX
editor that allows users to create, edit, and collaborate on LaTeX
documents in real time.
It’s a cloud-based platform that eliminates the need for local LaTeX
installations and simplifies the collaborative writing process.
LaTeX
documents in the cloud, so you don’t need to configure or run LaTeX
locally.Internet Dependency: Overleaf requires a stable internet connection.
Limited Offline Access: Overleaf operates online, which means no internet, no access to the convenience of Overleaf.
Privacy Concerns: Sensitive or confidential documents may not be suitable for upload to Overleaf. You should always consider data privacy!.
Subscription Costs: basic Overleaf is free, but more advanced features and collaboration options are costly.
LaTeXdiff
LaTeXdiff is a tool (PERL
script) used to highlight and track changes between two versions of a LaTeX
document.
It’s particularly useful for collaborative writing and when reviewing or revising documents.
LaTeXdiff
WorksLaTeXdiff
operates by comparing two LaTeX files:
document-v1.tex
)document-v2.tex
)LaTeXdiff
identifies differences in the text, equations, figures, and more. LaTeXdiff
then generates a new LaTeX
file highlighting these differences, using color coding, strikethrough and other visual cues.
LaTeXdiff
in theory and practiceLaTeX
LaTeXdiff
Markdown + hand in the exercise in this week’s lab
Gerko Vink and Hanne Oberman - Markup Languages @ UU