As an alternative, here's what I've done in the past. It's simple but not git-specific (as it happens I was using git at the time though not very well). It's closer to your manual approach but using an approriate tool to reduce mistakes:
I used the changes package to mark up the changes as I make them. It needed a little customising to suit my needs (which were similar in that I needed to hand over a highlighted pdf to a non-LaTeX user):
\usepackage[authormarkup=none]{changes}
\setaddedmarkup{{\color{blue!75!black}#1}}
\setdeletedmarkup{\protect{\color{blue!25!gray}\sout{#1}}}
\definechangesauthor[name={Chris}]{CH}
\DeclareRobustCommand{\add}[1]{\added[id=CH]{#1}}
\DeclareRobustCommand{\del}[1]{\deleted[id=CH]{#1}}
\DeclareRobustCommand{\rep}[2]{\replaced[id=CH]{#1}{#2}}
\setremarkmarkup{\footnote{#1:\textcolor{blue}{#2}}}
The three \DeclareRobustCommand
lines are merely convenience macros.
This allowed me to use \listofchanges
as well.
However it didn't pick up the automated (find&replace/regex based) changes I made (equation~\ref
->Equation~\ref
, a lot of acronym
\ac
s ->\acl
etc.). I could have cooked up a regex find/replace to do this but in the circumstances it would have been unnecessary clutter (and made a huge listofchanges
).
Note that by passing [final]
either to \documentclass
or by \usepackage[final]{changes}
the changes aren't displayed.
A script to insert the \added
, \deleted
and \replaced
macros based on a git diff would no doubt be possible but close to reinventing a bad version of latexdiff so I wouldn't recommend it.