The package provides commands \makefirstuc that uppercases the
first letter in its argument (with a check for a semantic
markup command at the start of the argument), and
\xmakefirstuc, which expands the argument before uppercasing.
It also provides \capitalisewords{phrase} which applies
\makefirstuc to each word in the phrase, where the words are
separated by regular spaces. (Exceptions can be made for words
that shouldn't be converted.)

Homepage:
https://ctan.org/pkg/mfirstuc
