hithesis: a LaTeX thesis template that tracks the rules of three campuses
Hi! Thesis! A LaTeX thesis template for Harbin Institute of Technology.
At a glance
- What is it?
- A docstrip-based LaTeX package for Harbin Institute of Technology covering bachelor, master, doctoral and postdoc documents across the Harbin, Shenzhen and Weihai campuses, shipped on CTAN and built by a Makefile.
- Who is it for?
- hithesis solves a problem no generic thesis class can: institutional formatting rules change per degree, per campus and per year, and somebody has to absorb that churn. What you get here is a docstrip package that carries those rules as LaTeX, a compliance table that links the official university documents each rule came from, and a Makefile that turns a `.dtx` source into both a compiled manual and a release archive.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- Is it still maintained?
- Yes. The repository last received commits 7 days ago.
- What is it written in?
- Mainly TeX, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Star history
- hithesis/hithesis2,466 ★ · +18
| Repository | 2026-10-07 | 2026-10-22 |
|---|---|---|
| hithesis/hithesis | 2.4k | 2.5k |
18 Stars in the last 15 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
A docstrip package, not a single class file
The repository is small and its layout is the standard one for a LaTeX package. `hithesis.dtx` is the documented source, `hithesis.ins` is the docstrip file that unpacks it, `latexmkrc` holds the local build configuration, and there is a `Makefile` driving the whole thing. Two example directories, `examples/hitart/` and `examples/hitbook/`, show what the output looks like in practice.
Using docstrip rather than shipping a bare `.cls` is a deliberate choice with real benefits. A student who receives a thesis template as a single class file cannot see how the class defines a chapter heading or a bibliography style. With a `.dtx`, the definitions are readable, searchable and patchable, and `latex hithesis.ins` unpacks the generated style file for anyone who does not want to read the source.
The repository is also on CTAN, and the README points out what that means practically: installing TeX Live brings the template with it. A student at Harbin Institute of Technology who installs a full TeX Live distribution already has hithesis available without knowing this repository exists, which is a considerably better adoption path than a download link.
The Makefile drives xelatex and extracts its own changelog
The `Makefile` defaults to xelatex as its method and passes that choice through to latexmk when that is the selected method. The class generation, the documentation build and the release archive are separate targets, and the archive target packages the examples directory together with the compiled PDF:
latex $(PACKAGE).ins
makeindex -s gind.ist -o $(PACKAGE).ind $(PACKAGE).idx
makeindex -s gglo.ist -o $(PACKAGE).gls $(PACKAGE).glo
zip -r $(PACKAGE)-$(VERSION).zip examples/ $(PACKAGE).pdfTwo details in there are worth more than the rest. The index step runs twice over two separate style files, one for names and one for glossaries, which tells you the template supports both a name index and a glossary without the student wiring that up.
The second detail is the changelog. The version number is not hardcoded; it is grepped out of the `.dtx` source with a regular expression, and the release notes are extracted from `\changes` blocks by an awk script into `RELEASE_NOTES.md`. Change history therefore lives next to the code that implements the changes, and the release notes on the releases page cannot drift from the source the way a separately maintained changelog would.
Version numbering changed shape partway through
The README explains the numbering scheme and admits it was revised. Originally a version was `vX.Y.Z`, where X meant a major incompatible improvement, Y a feature improvement and Z a non-functional bug patch. That scheme was retired at v3.0.22, the last release using it, because the `\changes` command sorted more conveniently under a different format.
The current scheme is `vX.YZ`, where X and Y are numbers and Z is a lowercase letter. The releases follow it: v3.1c in May 2023, v3.1d in March 2025, and v3.1e in August 2026. A letter suffix for patch releases is unusual for a LaTeX package, and it is worth internalising before you start comparing versions, because v3.1e is not a later major version than v3.1d, it is three patches further along the same line.
The gap between the two most recent releases also says something about the cadence. Nearly two years between v3.1c and v3.1d, then five months to v3.1e. A template that has to track institutional rules is not a project with a weekly commit rhythm, and the recorded push to the repository on 2026-09-25 is consistent with steady maintenance rather than bursts.
What a release archive contains
The v3.1c and v3.1d release notes are short and identical in structure, and they describe the delivery rather than the changes. Users are told to download a single archive named for the version, and that archive contains two things: `hithesis.pdf`, the documentation for the template, and an `examples` folder holding the template files and sample documents.
Two things follow from that. The documentation ships with the release, so a student working offline from a downloaded archive has the manual without needing the repository. And the examples are part of the release rather than an afterthought in the repository, which is what makes the archive usable as a starting point for a new thesis.
The zip command in the Makefile confirms the packaging directly, archiving the `examples/` directory alongside the generated PDF under a name built from the package name and the grepped version number. The release notes themselves are extracted from the `.dtx` by that same awk rule, so what lands on the releases page originates from the same source tree as the code.
Following the institutional rules one document at a time
The most distinctive part of the README is a compliance table mapping each campus and each degree to the university's own writing standard, with a link to the official document and a date the entry was last updated. Entries exist for Shenzhen and Weihai across undergraduate, master and doctoral levels, plus midterm reports, thesis proposals and English-language versions.
The update dates in that table are the interesting part, because they range from documents revised in 2018 through to 2023. That spread is a fair summary of the maintenance problem this project exists to solve: the template is only correct relative to a particular campus, degree and rule revision, and the dates make it possible to see which parts of the template have been rechecked recently and which are resting on a 2018 rule.
It also explains the shape of the recent changelog. The v3.1e entries are dominated by document-detail fixes rather than new document types: figure, table and equation numbering in the format the Harbin campus undergraduate proposal requires, a page style for scanned PDFs that shows only the page number, a starred option controlling whether scanned submissions display page numbers at all, doctoral reviewers and defence committee lists, and wording changes to master's proposal cover fields. This is a template being kept in step with paperwork.
Licensing is split between code and document
hithesis carries two licenses, and the distinction is worth reading rather than assuming. Files and code are distributed under the LaTeX Project Public License, either version 1.3a or, at your option, any later version, with the standard note that 1.3a or later is part of every LaTeX distribution from 2004 onward. The README adds that the files also fall under Creative Commons Attribution-NonCommercial 4.0 International.
So the package is LPPL for code with an additional non-commercial overlay on the material, which is a reasonable choice for an institutional template whose content is derived from university rules and sample documents. If you are writing a thesis rather than redistributing the template, neither of these gets in your way. If you are forking it into something commercial, read both licenses before you assume the LPPL alone governs.
The repository metadata reports no detected license, which is a scraping artifact rather than a statement about the terms, since the README states both licenses explicitly. What the metadata does confirm is the shape of the project: TeX as the primary language, a repository of ten entries, 2,445 stars, 403 forks and 27 open issues, and a documentation site at hithesis.site.
Editorial conclusion
hithesis solves a problem no generic thesis class can: institutional formatting rules change per degree, per campus and per year, and somebody has to absorb that churn. What you get here is a docstrip package that carries those rules as LaTeX, a compliance table that links the official university documents each rule came from, and a Makefile that turns a `.dtx` source into both a compiled manual and a release archive. The practical starting point is CTAN rather than a clone, since a TeX Live installation carries the template with it, and the two example directories are the fastest way to see what the classes actually produce. Read the release notes before upgrading because the project switched its version numbering scheme, then take the class that matches your degree and campus and adjust from there.
Frequently asked questions
How do I get hithesis installed?
hithesis is packaged on CTAN, which means a TeX Live installation already carries it and you do not need to clone anything. The repository is also buildable from source: run the docstrip file to generate the style file, then build the documentation, and the release archive contains the manual plus an examples folder.
Which thesis types does hithesis support?
The template covers bachelor, master and doctoral dissertations, thesis proposals, midterm reports and postdoctoral reports, in both Chinese and English versions, across all three Harbin Institute of Technology campuses: Harbin, Shenzhen and Weihai.
How does hithesis keep up with university formatting rules?
The README maps each campus and degree to the official university writing standard with a link and the date the entry was last updated, with dates ranging from 2018 to 2023 entries. Recent releases are almost entirely document-detail fixes, such as proposal figure and equation numbering and scanned PDF page styles.
What license does hithesis use?
Two, and the README states both. Code and files are under the LaTeX Project Public License at version 1.3a or any later version, and the files also fall under Creative Commons Attribution-NonCommercial 4.0 International.
Why do hithesis versions end in a letter?
The project changed its version scheme. The old `vX.Y.Z` format ran through v3.0.22 and was retired because the `\changes` command sorted more conveniently under the new form. Current releases use `vX.YZ`, with numbers for major and feature changes and a lowercase letter for bug patches, which is why v3.1e follows v3.1d.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/hithesis-hithesis)Star history chart for your README
[](https://hysenlabs.com/projects/hithesis-hithesis)Was this useful?