This repository provides a unofficial Typst template for writing your Bachelor's or Master's thesis at the HSG (University of St. Gallen). It includes a thesis template. For more information about writing a thesis at the HSG, please visit the HSG Student Web (Login required).
Note: This is only a template. You have to adapt the template to your thesis and discuss the structure of your thesis with your supervisor!
__Please thorougly read the guidelines and hints on website
For detailed installation instructions, please refer to the official installation guide. Here, we provide basic steps for installing Typst's CLI:
- You can get sources and pre-built binaries from the releases page.
- Use package managers like
brew
orpacman
to install Typst. Be aware that the versions in the package managers might lag behind the latest release. - If you have a Rust toolchain installed, you can also install the latest development version.
Nix and Docker users, please refer to the official installation guide for detailed instructions.
Fill in your thesis details in the metadata.typ
file:
- The language of the document (en or de)
- Title
- Subtitle
- Type of thesis (Bachelor's, Master's, etc.)
- Professor
- Your name (without e-mail address or matriculation number)
- Matriculation number
- The submission date
For the actual content of your thesis, there is a dedicated folder named /content
which includes all the chapters and sections of your thesis.
You can add or remove chapters as needed (adapt the thesis.typ
with the #include(...)
accordingly).
If you need to customize the layout of the template, you can do so by modifying the corresponding file in the layout
directory.
Once you have installed Typst, you can use it like this:
# Creates `thesis.pdf` in working directory.
typst compile thesis.typ
# Creates PDF file at the desired path.
typst compile thesis.typ path/to/output.pdf
You can also watch source files and automatically recompile on changes. This is faster than compiling from scratch each time because Typst has incremental compilation.
# Watches source files and recompiles on changes.
typst watch thesis.typ
If you have created your thesis repository using the Typst Thesis Template, you might want to update your repository to incorporate the latest changes from the template. Follow these steps to sync your repository with the latest version of the template.
Steps to Update:
- Add the Template Repository as a Remote First, navigate to your repository in the terminal and add the original template repository as a new remote:
git remote add template https://github.com/joshuabeny1999/unisg-thesis-template-typst.git
- Fetch the latest updates from the template repository:
git fetch template
- Merge the Changes into Your Repository Merge the changes from the template's main branch into your current branch. This might require resolving merge conflicts if there are any differences between your customizations and the template's updates:
git merge template/main --allow-unrelated-histories
- Resolve Merge Conflicts If there are any merge conflicts, git will notify you. Open the conflicting files, resolve the conflicts, and then add the resolved files:
git add <resolved-file>
- Commit the Merge After resolving conflicts and adding the resolved files, commit the merge:
git commit -m "Merge updates from Typst Thesis Template"
- Push the Changes to Your Repository Finally, push the merged changes to your repository:
git push origin <branch-name>
If you prefer an integrated IDE-like experience with autocompletion and instant preview, the Typst web editor allows you to import files directly into a new or existing document. Here's how you can do this:
- Navigate to the Typst Web Editor.
- Create a new blank document.
- Click on "File" on the top left menu, then "Upload File".
- Select all .typ and .bib files along with the figures provided in this template repository.
Note: You can select multiple files to import. The editor will import and arrange all the files accordingly. Always ensure you have all the necessary .typ, .bib, and figures files you need for your document.
If you prefer to have a more integrated experience with your favorite code editor, you can use the Typst VS Code extension. The extension provides syntax highlighting, autocompletion, and error checking for Typst files. You can install the extension from the VS Code Marketplace.
- Open your project in VS Code
- Set the correct file (
thesis.typ
orproposal.typ
) as the main file. This can be done by opening the respective file and running the commandTypst: Pin the main file to the currently opened document
. Just hitCMD + Shift + P
and search for the command.