napulen / phd_thesis

Automatic Roman numeral analysis in symbolic music representations.
1 stars 1 forks source link

[Bug] latexdiff problem #23

Open napulen opened 2 years ago

napulen commented 2 years ago

Either fix the very annoying issue of latexdiff creating invalid .tex files, or change the workflow for chapter diffs.

Several versions are now broken because the diff files generated are corrupted.

This didn't happen before, so it must be a combination of factors involving glossaries, latexdiff, and anything else.

Unfortunately, latex is broken to the point that error messages mean nothing: https://tex.stackexchange.com/questions/50106/extra-or-forgotten-endgroup-error

My workaround so far is to push a mock "new version" which is identical to the previous one, then the diff is null and it compiles correctly on github actions. This beats the purpose of diffing the chapters. Nevertheless, so far, I haven't been using the diffs that much, maybe I can just forget about this and output the full pdf and chapter-pdfs without any diffs.

napulen commented 2 years ago

Ok, so I identified the problem. This seems to happen in footnotes that have some subcommand within them. Particularly, I often \cite inside a \footnote and hell breaks loose on latexdiff. For example:

\footnote{This is a footnote where I cite something \cite{someone1999paper}.}

There is nothing I have found so far that generates a good diff off something like this. It will create an invalid latex file and crash the whole compilation.

For now, I suggest this workaround: write all \foonote commands without any subcommands in them. For citations, particularly, something like this should work for now:

\foonote{This is a footnote where I cite something CITEsomeone1999paper.}

When you are ready, substitute the CITE for the actual \cite{}. This version will break, so commit another version with the same content and that will succeed.

There is a nice solution somewhere, but I am not willing to spend the time it takes to find it.