I see that you can give _one_ requirement to an external template. Could that be generalized so we could demand color in addition to graphicx? (Or would Requirement "graphicx,color" do the trick?)
I think that
Requirement "graphicx"
Requirement "color"
would be a better syntax, but looking at ExternalTemplates.C, that won't currently work because the data is stored as a single string and would be overwritten by the second call. It would be better to store "requirements" as a vector<string>, no?
insetexternal.C would then just need to iterate over the vector, calling LaTeXFeatures::require with each string.
Fancy having a go?
Angus