Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cooperation with official template #16

Open
gollux opened this issue Feb 20, 2024 · 5 comments
Open

Cooperation with official template #16

gollux opened this issue Feb 20, 2024 · 5 comments
Assignees

Comments

@gollux
Copy link

gollux commented Feb 20, 2024

After a few years, I decided to update the official thesis template. Partly because regulations have changed and the old version does not satisfy them any longer. And partly because the old version is showing its age and using TeX in ancient ways -- e.g., nobody needs non-UTF-8 encodings any more.

Your template attracted my curiosity and if you don't mind, I would like to draw some inspiration from it. I like some of your design decisions (putting metadata to a separate file, switching to biblatex and latexmk), while disliking some other (most of all, the language switches all over the place).

For a moment, I considered merging your changes into my tree, but after pondering on it for a while, I decided to keep my template split to Czech and English version. I think that students outside computer science will still appreciate Czech comments in the source files and Czech file names.

Also, I discussed the licence of the the original template with the other contributors and we decided to publish it under CC-0. This should enable you to choose whatever licence you want (even though I would be in favor of CC-0 too).

Finally, I plan to move the public repository of my template to faculty instance of GitLab to make it easier for students to contribute (compared with my current private repository with a public read-only view). I will be happy to mention your project in my README along with another template by Petr Olšák.

If you have any other idea how to cooperate, please let me know.

Thanks for your work!

@exaexa
Copy link
Owner

exaexa commented Feb 20, 2024

Hello! Sure, this is here for supporting the students, so anything that makes the template more accessible is great.

TL;DR summary: All OK, please use this as you want, and if any specific help would be needed from my side, don't hesitate to ask.

Details & random thoughts:

For the license, CC0 is OK with me. Minor side thoughts:

  • How much compatible is CC0 with the current public domain statement in this repo? If it helps anything, I can put a more legally looking CC0 LICENSE file here, just to be sure.
  • For obvious reasons, the link back here would be nice, thanks. Perhaps more importantly, if substantial amount of stuff is taken from here, I'd like to ask that the list of the contributors would stay in the README too. (I didn't want to enforce this with a license, but keeping contributor lists around is very nice.)

The language split actually makes sense to me -- I defaulted to English in comments because everyone in CS should learn to read&write it properly, but if there is a convenient way to have a structure without the \ifs, let's do that. Also, you can probably spot a few places around the \ifENs where I was learning tex on the go....better remove that. :)

(Actually, the main thing that I disliked about the 2-language version was that either of the subdirectories was always left there completely neglected. Reviewing student theses was very subtly annoying with that ("So was it in cs/ or en/ ?"), and I imagine that transplanting changes from one language directory to another and keeping both in sync isn't optimal either... Perhaps we could have 2 git branches/repos instead, with the language-specific changesets rebased upon the same shared skeleton? Or a script that flips everything over to a selected language version, removing the leftovers from the second one? Am I overthinking it? :D )

Depending on the other things you'd need to remove, I think I could then re-structure this repo as a patch rebased over the official template. That should keep it compatible and maintainable, and I'd just re-add stuff that wouldn't make it to the official version. I assume that would likely include a large part of my random assorted commentary in the chapter text 😅

One extra question --

Partly because regulations have changed and the old version does not satisfy them any longer.

Well, I didn't really have time to check these recently. Any info on whether this repo is still usable/compliant?

@gollux
Copy link
Author

gollux commented Feb 21, 2024

  • How much compatible is CC0 with the current public domain statement in this repo? If it helps anything, I can put a more legally looking CC0 LICENSE file here, just to be sure.

CC0 is basically PD written more formally, so either keep the PD statement or use CC0 by reference. I think it is known enough.

  • For obvious reasons, the link back here would be nice, thanks. Perhaps more importantly, if substantial amount of stuff is taken from here, I'd like to ask that the list of the contributors would stay in the README too. (I didn't want to enforce this with a license, but keeping contributor lists around is very nice.)

I currently plan to draw more inspiration than actual implementation, but I think I should give credit to the contributors anyway.

(Actually, the main thing that I disliked about the 2-language version was that either of the subdirectories was always left there completely neglected. Reviewing student theses was very subtly annoying with that ("So was it in cs/ or en/ ?"), and I imagine that transplanting changes from one language directory to another and keeping both in sync isn't optimal either... Perhaps we could have 2 git branches/repos instead, with the language-specific changesets rebased upon the same shared skeleton? Or a script that flips everything over to a selected language version, removing the leftovers from the second one? Am I overthinking it? :D )

I like the idea of keeping language versions in branches.

Depending on the other things you'd need to remove, I think I could then re-structure this repo as a patch rebased over the official template. That should keep it compatible and maintainable, and I'd just re-add stuff that wouldn't make it to the official version.

Good idea.

I assume that would likely include a large part of my random assorted commentary in the chapter text 😅

I will have a look :)

Partly because regulations have changed and the old version does not satisfy them any longer.

Well, I didn't really have time to check these recently. Any info on whether this repo is still usable/compliant?

I don't think it's compliant now, but minor changes will suffice. When I am done updating my template, have a look at the commit log.

@exaexa
Copy link
Owner

exaexa commented Feb 21, 2024

OK perfect, thanks for the answers! I guess all is clear now, so I'll keep this open here for tracking. Please ping me here whenever there's any action/info needed from my side.

@exaexa exaexa self-assigned this Feb 21, 2024
@gollux
Copy link
Author

gollux commented Mar 14, 2024

The new official template is ready (see https://gitlab.mff.cuni.cz/teaching/thesis-templates, CS and EN versions live in different repos to make cloning easier). I expect small improvements and bug fixes in the upcoming months, but the overall structure should not change.

Thanks for lots of inspiration! I integrated many ideas from your template, but some remain:

  • suggestions on writing - some parts of it are already present in our Czech text, there is currently no English equivalent. Definitely needs improving.

  • alternative title pages for other faculties - I had too little time. I would like to add them later, but I should study the relevant regulations first.

  • use of cleveref - I think it is does not work well with Czech because of flexion, but I will consider adding it for English when I start adding English example text.

  • alternative fonts - I wanted to avoid the need of going through too many options. Maybe we should extend the README and add a list of possible tweaks there?

  • support for CI - again, I would like to consider it in the future, but I aimed for simplicity.

@exaexa
Copy link
Owner

exaexa commented Mar 14, 2024

Great, I'll have a look asap (not really possible right now, but hopefully in a week or so).

Re the small things:

  • for writing suggestions, I can probably translate a bit of my stuff to CZ or integrate some of the CZ things to EN equivalents. If there are known holes, feel free to summarize them in an issue in the gitlab or something. I guess others here may contribute too.
  • re the title pages, if I recall correctly, ours (MFF) was actually kindof super-special, the others were much less complicated (basically just the proper logo and the same layout all the time). If the memory serves me well, back in 2010's we had the same style. Re the regulations, we were trying to find ones for bioinformatics (back in ~2020) and found no real strict guidance. Nature faculty has IIRC a word template but I never managed to open it.
  • re cleveref -- I recall a student using the abbreviated references obr.~\ref{fig:something} to dodge the inflection issues. The result was actually nice. The other option is to always go for a parenthesized reference (this and this is that and that (\cref{fig:something}).). But yeah these are just workarounds, not good to force them upon anyone.
  • re fonts: after a lot of struggle with PDF/A I'd settle on choices of lmodern and libertinus. Others are IMO not complete enough to be recommended in official template.
  • CI: feel free to open an issue and describe any requirements, I'll try to fish out some gitlab scriptage that I might have around. Not a big problem; the actual biggest issue there is to find a good docker image with up-to-date texlive which also includes make. I kinda default to latexmk everywhere nowadays, so if we can recommend that, I'd go with just latexmk.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants