foleyj2 / ru-thesis

Thesis (B.Sc., M.Sc., Ph.D.) Template for Reykjavík University in Iceland
MIT License
2 stars 6 forks source link

The whole template is monolithic #11

Open mkyas opened 2 years ago

mkyas commented 2 years ago

We may want to facilitate flexible use of these templates. We could define a standard class file that requires a bunch of style files to implement the desired features. The current version uses macro names defined by other packages. It also requires packages that are not needed in CS.

foleyj2 commented 2 years ago

I was following the Thesis example given by the memoir documentation. It suggested doing a package for small customizations like in ruthesis.cls

mkyas commented 2 years ago

The problems that I see after skimming the 800 lines of code in ruthesis.sty: It requires inputenc which breaks lualatex It requires pdfpages which may need options that we cannot supply without trouble and which we often do not need. One flags force openany, but in CS we require faithful page numbering between the versions. It sets a GraphicsPath and messes with the typesetting parameters. Ir requires booktabs which sometimes conflicts with memoir (see page xxix of the memoir manual). It requires newtx fonts, where we prefer STIX The code seems to not handle title, author, date, and more properly and it may not show up as pdfinfo when we use hyperref. I think in CS we do not have the signature page. Can we disable it. Same with the archives page.

The typical size of these styling files is in the range of 200 lines.

foleyj2 commented 2 years ago

Thanks Marcel! My commentary: Inputenc is needed for UTF8 support in pdflatex and normal latex. If we were to use lualatex, it can be removed. For backwards compatibility, an \if could be used to disable it. I do not have experience with lualatex.

Pdfpages can probably be moved into custom.sty or removed.

Page numbering can be made compatible with CS.

Booktabs can be removed and the memoir version used.

Newtx can be switched to SWIX. I just didn’t know about that font. As long as it is a times-like serifed font, we should be ok.

I need help figuring out how to process title, author, and date in a way that you like. The problem (as always) is handling two languages.

Signaturepage and archive page are just macros. If you comment them out, they vanish from the document. They are left in as reference for if anyone bothers to print and sign anymore.

Probably best to do a branch “lua-template”, try out these changes, then merge back into the master.

-- Dr. Joseph T. Foley @.***> Assistant Professor, Reykjavik University +354-599-6569

From: mkyas @.> Sent: Monday, February 7, 2022 6:07 PM To: foleyj2/ru-thesis @.> Cc: Joseph Timothy Foley @.>; Comment @.> Subject: Re: [foleyj2/ru-thesis] The whole template is monolithic (Issue #11)

The problems that I see after skimming the 800 lines of code in ruthesis.sty: It requires inputenc which breaks lualatex It requires pdfpages which may need options that we cannot supply without trouble and which we often do not need. One flags force openany, but in CS we require faithful page numbering between the versions. It sets a GraphicsPath and messes with the typesetting parameters. Ir requires booktabs which sometimes conflicts with memoir (see page xxix of the memoir manual). It requires newtx fonts, where we prefer STIX The code seems to not handle title, author, date, and more properly and it may not show up as pdfinfo when we use hyperref. I think in CS we do not have the signature page. Can we disable it. Same with the archives page.

The typical size of these styling files is in the range of 200 lines.

— Reply to this email directly, view it on GitHubhttps://github.com/foleyj2/ru-thesis/issues/11#issuecomment-1031761816, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAGJ6RYXVNF4QONTL5L7CELU2AC4DANCNFSM5NYCZ3BA. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you commented.Message ID: @.**@.>>

mkyas commented 2 years ago

One issue that I see with your approach is that you try to do "the right thing", i.e. provide a solution for all conceivable situations. I would rather follow "worse is better", provide useful components but you can adapt to all the situations. This is why Multics is a footnote in OS design and UNIX won the world.

foleyj2 commented 2 years ago

Reminder from quick meeting: divide ruthesis.sty into a titlepages.sty and a fonts.sty or something like that to break things up. The ruthesis will be a 60% solution for most people. Inspiration: beemer's level of modularization.

foleyj2 commented 2 years ago

@mkyas created a new branch modularization to start this work.

benedikthth commented 2 years ago

I think in CS we do not have the signature page. Can we disable it.

I had to include a signature page for my submission in 2021

foleyj2 commented 2 years ago

Modularization on the master branch has started. Critical things such as stocksize/pagesize are now in a new rubook.cls. Status on the issues Marcel brought up:

foleyj2 commented 2 years ago

We will deal with inputenc with the toolchain switch to luaenc on issue #15 Removed the archival and cover code (it can be retrieved from history) to reduce ruthesis.sty to 600 lines It has many lines partially because I used indenting to keep track of macro definitions.

foleyj2 commented 2 years ago

Commit 1b6dc3ce1607da8dd7f1f0bc46608c7920febd5e I removed booktabs package from ruthesis.sty

foleyj2 commented 2 years ago

Graphicspath manipulation now in the main.tex. Commit: 5436ac85a8fc25907092da5ea82558c13c4dfcfc

foleyj2 commented 2 years ago

Added \ifpdf and \ifluatex to work with inputenc and fontenc intelligently. Lualatex now compiles with STIX2 smoothly. I accidentally included that in commit 5436ac85a8fc25907092da5ea82558c13c4dfcfc

foleyj2 commented 2 years ago

Added information about setting up lualatex in commit ea4c687ffbaa8b8c4836aed666b419cff75e25ca. TODO: add TeXStudio magic comments to setup lualatex

foleyj2 commented 2 years ago

Down to 489 lines in ruthesis.sty. Getting there!