Thank you for your interest in contributing! This guide covers how to use, fork, and contribute to this template.
- Fork this repository to your own GitHub account
- Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/ugm-thesis-latex.git cd ugm-thesis-latex - Customize the template:
- Edit
template/proposal/main.texandtemplate/skripsi/main.tex - Replace all
{{PLACEHOLDER}}with your actual data - Write your content in the chapter files under
template/*/chapters/
- Edit
- Compile:
make proposal # or make proposal-docker make skripsi # or make skripsi-docker
Replace these placeholders:
\titleind{{{JUDUL_BAHASA_INDONESIA}}}
\titleeng{{{JUDUL_BAHASA_INGGRIS}}}
\fullname{{{NAMA_LENGKAP}}}
\idnum{{{NIM}}}
\degree{{{JENJANG}}}
\gelar{{{GELAR}}}
\yearsubmit{{{TAHUN}}}
\program{{{PROGRAM_STUDI}}}
\dept{{{DEPARTEMEN}}}
\firstsupervisor{{{NAMA_DOSEN_PEMBIMBING}}}
\firstexaminer{{{NAMA_DOSEN_PENGUJI_1}}}
\secondexaminer{{{NAMA_DOSEN_PENGUJI_2}}}- Replace all
TODOcomments with your actual content - Replace lorem ipsum with your writing
- Add your references to
references.bib - Add your figures to
figures/
Replace template/*/figures/logougm.pdf with the official UGM logo from your department.
ugmskripsi.cls— unless you know what you're doing.github/— unless contributing back upstream
Before reporting a bug:
- Check if the issue already exists
- Try compiling with
make cleanfirst - Ensure you have the required LaTeX packages
When reporting, include:
- Your OS and LaTeX distribution
- The exact error message
- Steps to reproduce
When UGM releases a new pedoman or changes requirements:
- Open a Template Update issue
- Attach the new pedoman PDF or relevant documentation
- Describe exactly what changed
- Propose a solution if you have one
- Fork the repository
- Create a feature branch:
git checkout -b feat/your-feature - Make your changes
- Test compilation:
make proposal-docker make skripsi-docker
- Update documentation if needed (README.md, AGENTS.md)
- Commit with conventional commit messages:
git commit -m "fix(cls): correct page numbering in proposal mode" - Push and open a Pull Request
- Both
proposalandskripsicompile successfully - All 3 copies of
ugmskripsi.clsare updated (root, template/proposal, template/skripsi) - Documentation updated if needed
- Conventional commit format used
We use Conventional Commits:
<type>(<scope>): <description>
[optional body]
[optional footer]
Types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Formatting (no code change)refactor: Code refactoringchore: Maintenance tasksci: CI/CD changes
Scopes:
cls: Class file (ugmskripsi.cls)proposal: Proposal templateskripsi: Skripsi templatebuild: Makefile, Dockerdocs: README, AGENTS, CONTRIBUTING
We use git tags for versioning based on academic years:
# Tag format: vYYYY.N
# YYYY = Academic year start
# N = Revision number within that year
git tag -a v2025.1 -m "Template for academic year 2024/2025"
git tag -a v2025.2 -m "Updated with pedoman fixes"
git tag -a v2026.1 -m "Template for academic year 2025/2026"| Version | Academic Year | Notes |
|---|---|---|
| v2025.1 | 2024/2025 | Initial release |
| v2026.1 | 2025/2026 | Updated pedoman |
# Clone specific version
git clone --branch v2026.1 https://github.com/vityasyyy/ugm-thesis-latex.git
# Or checkout after clone
git checkout v2026.1- Be respectful and constructive
- Help others learn
- Give credit where due
- Follow UGM academic integrity guidelines
Open an issue with the Question label or contact the maintainers.
Happy writing! 🎓