Before You Begin¶
Initial Competences¶
The following competences are required (at a basic level) for this template to be useful.
- Unix
- LaTeX
- Git
- Python
Without these competences, it is still possible to contribute to a publication created with StepUp RepRep, but it will be difficult to take the lead.
Required Software and Configuration¶
It is assumed that you have installed and configured the following software, ideally using your operating system’s software installation tool (app store, package manager, pip, …).
- Required:
- Python >= 3.11
- Git
- Git LFS
- The cookiecutter (Only needed to initialize a new publication.)
- Recommended:
- Inkscape >= 1.2
(Only needed when the source contains SVG files.
It must be executable as
inkscape
on the command-line.) mutool
from MuPDF- TexLive >= 2022
- direnv
- A Text editor compatible with editorconfig
- Inkscape >= 1.2
(Only needed when the source contains SVG files.
It must be executable as
Installation instructions for …
Ubuntu¶
On Ubuntu 22, the required and recommended software can be installed using the following steps:
-
Install the following packages:
-
Fira fonts (used for presentations) must be installed manually, because they have not been packaged for Ubuntu yet. This can be achieved as follows:
Fedora¶
On Fedora (>= 38), the required and recommended software can be installed using the following command:
sudo dnf install \
python \
python3-pip \
python3-virtualenv \
python3-cookiecutter \
inkscape \
texlive-scheme-full \
git \
git-lfs \
direnv \
mupdf \
libreoffice \
mozilla-fira* \
texlive-fira*
Conda or Pip¶
A new dedicated pip or micromamba software environment is created for each publication. It is up to each co-author to decide which one they prefer:
- A virtual environment with pip can install the dependencies with low time, bandwidth and storage overheads. A sufficiently recent Python version must already be installed.
- A micromamba environment (the fastest and lightest way to use conda) is a bit more powerful than pip. In principle, you can use it on a system without (a recent version of) Python. It can also install non-Python dependencies. The main drawbacks are the time it takes to install, the bandwidth consumed during installation, and the amount of diskspace used. Because the cookiecutter requires Python >= 3.7, you already need a working Python version before installing micromamba.
The aim is to isolate this software environment from your operating system as much as possible. This may be hampered by your local configuration, for example:
-
Another always-on pip environment (activated in your shell profile, like
.bashrc
) may not work well when pip is used for the publication. -
Similarly, another always-on conda environment (activated in your shell profile) may not work well when micromamba is used for the publication.
-
Using pip for the publication on top of your default conda can work well. (Needs more testing.)