#!/usr/bin/perl -pi # Too many \color directives (generated by DIFdel/addbegin/end) # confuse xetex, producing errors: # WARNING ** Color stack overflow. Just ignore. # and resulting in corrupted color in output. # As a work-around, detect cases where it's safe, and replace \color with # \textcolor. # As a result, number of \color directives goes does sufficiently # enough to avoid the overflow error. s/\\DIFdelbegin \\DIFdel{([^}]*)}\\DIFdelend/\\DIFdeltext{$1}/; s/\\DIFaddbegin \\DIFadd{([^}]*)}\\DIFaddend/\\DIFaddtext{$1}/; # external \color does not seem to apply to footnotes. # detect and replace with \textcolor within footnotes s/(\\footnote\s*{[^}]*)\\DIFadd{/$1\\DIFaddtext{$2/; s/(\\footnote\s*{[^}]*)\\DIFdel{/$1\\DIFdeltext{$2/;