Skip to content

Theses cleanup#166

Merged
haraldschilly merged 7 commits into
sagemath:masterfrom
vincentmacri:masters-theses
Sep 30, 2025
Merged

Theses cleanup#166
haraldschilly merged 7 commits into
sagemath:masterfrom
vincentmacri:masters-theses

Conversation

@vincentmacri
Copy link
Copy Markdown
Member

Fixes #98 and other cleanup and formatting issues for theses. There is probably more that can be fixed but I don't want to spend a bunch of time fixing .bib entries.

Comment thread MuPAD-Combinat.bib Outdated
type = {phdthesis},
@phdthesis{Deka2005,
author = {Deka, Lipika},
school = {University of California, Davis},
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I changed institution to school as the former is not a supported field type for thesis in bibtex and the latter is.

Also, all the theses use location for usually the department name. Per bibtex address should be used instead and isn't even needed.

From the bibtex docs:

For theses, van Leunen recommends not giving the school’s department
after the name of the degree, since schools, not departments, issue degrees.
If you really think that giving the department information will help the
reader find the thesis, put that information in the address field.

Right now my changes have this behave inconsistently. Before I fix it, do we want to include departments under address (I don't see a reason to, this would mostly just be "Department of Mathematics" in various languages anyway)? Just the country? Leave the address blank? @haraldschilly thoughts?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, I don't have any "thoughts". This is really old, and I don't think MUPAD even shows up on the website. (I don't know why, there is certainly a story behind collecting those references but not listing them).

Overall, if you're motivated to streamline this according to the correct conventions, I'm on your side. I also saw you tweak the ancient python script someone wrote a long time ago as well. So, this is clearly nice.

About lines like:

htmlstr = "".join([htmlstr, f'{thesis.get("type", "Masters thesis")}, '])

Here, my thought is, either assemble all strings of the citation in an array and run e..g ", ".join( ... ) once, for all of them, or just do htmlstr += f'{thesis.get("type", "Masters thesis")}, '. As it is, it is a bit weird...

Either way, the main goal is that this test passes (script runs) and the resulting html snippet is useable for the website 😄

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

regarding mupad, this is the only commit I found sagemath/website@b1d0832

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think MUPAD even shows up on the website. (I don't know why, there is certainly a story behind collecting those references but not listing them).

On https://www.sagemath.org/library-publications.html there is "See also the list of publications citing SageMath-Combinat." which contains "SageMath-Combinat is the reincarnation in SageMath of MuPAD-Combinat; see the list of publications citing the latter."

So you can navigate to https://www.sagemath.org/library-publications-mupad.html it's just somewhat hidden.

@vincentmacri vincentmacri marked this pull request as ready for review September 26, 2025 23:00
@vincentmacri
Copy link
Copy Markdown
Member Author

Cleans up the theses as best as I can, and also the code to process them.

From now on, a Masters thesis should use the @mastersthesis BibTeX type, and a PhD thesis should use @phdthesis. @thesis should not be used as it is not a standard BibTeX type (it is for biblatex, which I personally prefer, but we use BibTeX here). Undergraduate theses are unchanged, continue to use @misc and include "thesis" somewhere in the note tag.

If a graduate-level thesis is not technically a "Masters thesis" or "PhD thesis" then use whichever is closer and specify the type with the "type" tag. For example, type = {PhD Dissertation}.

@haraldschilly
Copy link
Copy Markdown
Member

ok, I see, sounds good to me 😄

@haraldschilly haraldschilly merged commit 1a0b2ac into sagemath:master Sep 30, 2025
1 check passed
@haraldschilly
Copy link
Copy Markdown
Member

ok. published this. should be live in a few minutes …

@haraldschilly
Copy link
Copy Markdown
Member

@vincentmacri weird. it fails when actually building the page here:

https://github.com/sagemath/website/actions/runs/18137753689/job/51620794414#step:5:62

python3 pubparse.py combinat
  File "/home/runner/work/website/website/publications/pubparse.py", line 600
    htmlstr = ''.join([htmlstr, f'{thesis.get('type', thesis_type)}, '])
                                               ^^^^
SyntaxError: f-string: unmatched '('
make[1]: *** [makefile:20: publications-combinat.html] Error 1

I don't understand. Is this an older (more stupid) python? I hope the quick fix is to set a variable to the partial string, and then assemble it there. … or just change the whole construct to

htmlstr += thesis.get('type', thesis_type)
htmlstr += ', '

@vincentmacri
Copy link
Copy Markdown
Member Author

@vincentmacri weird. it fails when actually building the page here:

https://github.com/sagemath/website/actions/runs/18137753689/job/51620794414#step:5:62

python3 pubparse.py combinat
  File "/home/runner/work/website/website/publications/pubparse.py", line 600
    htmlstr = ''.join([htmlstr, f'{thesis.get('type', thesis_type)}, '])
                                               ^^^^
SyntaxError: f-string: unmatched '('
make[1]: *** [makefile:20: publications-combinat.html] Error 1

I don't understand. Is this an older (more stupid) python?

Seems so: https://stackoverflow.com/questions/78388333/nested-quotes-in-f-string-with-python-3-12-vs-older-versions https://docs.python.org/3.12/whatsnew/3.12.html#pep-701-syntactic-formalization-of-f-strings

@vincentmacri vincentmacri mentioned this pull request Oct 1, 2025
@vincentmacri
Copy link
Copy Markdown
Member Author

Should be fixed in #167

@haraldschilly
Copy link
Copy Markdown
Member

YES, that's it!

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

Successfully merging this pull request may close these issues.

is it possible to change phd to msc thesis?

2 participants