First commit
This commit is contained in:
81
README.md
Normal file
81
README.md
Normal file
@@ -0,0 +1,81 @@
|
||||
# Bachelor Thesis Template (Typst) – PedF UK
|
||||
|
||||
This repository contains a **Typst** template for writing a Bachelor's thesis at the **Faculty of Education, Charles University (PedF UK)**.
|
||||
|
||||
The template is designed to comply with the **Dean's Measure No. 28/2024** (Opatření děkana č. 28/2024), including specific requirements for:
|
||||
* **Typography:** Times New Roman, 12pt, 1.5 line spacing.
|
||||
* **Layout:** Margins (25mm/35mm) and mandatory section order.
|
||||
* **Formalities:** Title page without the university logo, specific AI usage declaration, and abstract formatting.
|
||||
|
||||
## Project Structure
|
||||
|
||||
```text
|
||||
.
|
||||
├── fonts/ # Local directory for Times New Roman fonts
|
||||
│ └── Times New Roman... # Ensures correct compilation on any OS/Linux distro
|
||||
├── main.typ # MAIN FILE: Edit your thesis content and metadata here
|
||||
├── template.typ # STYLING: Definitions of layout, title page, and macros
|
||||
├── Makefile # AUTOMATION: Build and watch commands
|
||||
└── .gitignore # Git configuration (ignores generated PDFs)
|
||||
```
|
||||
|
||||
## Prerequisites
|
||||
|
||||
To work with this template, you need the following installed on your system:
|
||||
|
||||
1. **Typst** (CLI compiler)
|
||||
2. **GNU Make** (to run the build commands)
|
||||
3. **Zathura** (PDF viewer, recommended for the `watch` mode workflow)
|
||||
|
||||
## Usage
|
||||
|
||||
This project uses a `Makefile` to handle font paths and compilation. Do not run `typst compile` directly unless you manually specify the font path.
|
||||
|
||||
### 1. Start Writing (Watch Mode)
|
||||
This is the main command for development. It compiles the document, opens **Zathura**, and automatically recompiles whenever you save changes in `main.typ`.
|
||||
|
||||
```bash
|
||||
make watch
|
||||
```
|
||||
|
||||
### 2. Build PDF (One-off)
|
||||
Generates the final `main.pdf`.
|
||||
|
||||
```bash
|
||||
make
|
||||
```
|
||||
|
||||
### 3. Clean
|
||||
Removes the generated PDF file. Recommended before the final build to ensure a clean state.
|
||||
|
||||
```bash
|
||||
make clean
|
||||
```
|
||||
|
||||
## How to Write
|
||||
|
||||
### Editing Metadata
|
||||
Open `main.typ`. At the top of the file, fill in the `project` function parameters:
|
||||
* **Title (CZ/EN):** Your thesis title.
|
||||
* **Author/Supervisor:** Names including titles.
|
||||
* **Abstracts & Keywords:** Ensure abstracts are at least 200 words long.
|
||||
|
||||
### Writing Content
|
||||
Write your text in `main.typ` after the header.
|
||||
* **Headings:** Use `=` for chapters, `==` for sections.
|
||||
* *Note:* The template automatically starts main chapters (Introduction, Conclusion, etc.) on a new page as required.
|
||||
* **Formatting:**
|
||||
* Bold: `*text*`
|
||||
* Italic: `_text_`
|
||||
* Citations: Use `@reference` (requires a `.bib` or `.yml` bibliography file).
|
||||
|
||||
### AI Declaration
|
||||
The template includes the mandatory **AI usage declaration** required by Dean's Measure No. 28/2024.
|
||||
* If you **did not** use AI: The standard declaration on the second page is sufficient.
|
||||
* If you **did** use AI (e.g., for grammar correction): You must also fill out the **"Vyjádření k využití nástrojů umělé inteligence"** section at the end of the thesis, describing exactly how the tools were used.
|
||||
|
||||
## fonts/ Directory
|
||||
The faculty requires **Times New Roman**. Since this font is proprietary and not available by default on many Linux distributions (like Void Linux), it is included in the `fonts/` directory. The `Makefile` ensures Typst uses these local fonts during compilation, making the project portable.
|
||||
|
||||
## Submission
|
||||
The final output is `main.pdf`. This file is ready for upload to the **Student Information System (SIS)**. Ensure you do not change the text after submission (except for errata).
|
||||
Reference in New Issue
Block a user