I am trying to convert a string as in the example, with all lowercase characters except the first. However, xmakefirstuc does not like me that much. Here's my MWE:
% arara: pdflatex
\documentclass{book}
\usepackage{xstring}
\usepackage{textcase}
\usepackage{mfirstuc}
\newcommand{\howtodothis}[1]{%
\StrSubstitute{#1}{ }{-}[\mylong]%
\xmakefirstuc{\MakeTextLowercase{\mylong}}\\%
\xmakefirstuc\expandafter{\MakeTextLowercase{\mylong}}\\%
\xmakefirstuc{\expandafter\MakeTextLowercase{\mylong}}\\%
\xmakefirstuc{\MakeTextLowercase\expandafter{\mylong}}\\%
\xmakefirstuc{\MakeTextLowercase{\expandafter\mylong}}\\%
\xmakefirstuc\expandafter\relax{\MakeTextLowercase{\mylong}}\\%
\xmakefirstuc{\expandafter\relax\MakeTextLowercase{\mylong}}\\%
\xmakefirstuc{\MakeTextLowercase\expandafter\relax{\mylong}}\\%
\xmakefirstuc{\MakeTextLowercase{\expandafter\relax\mylong}}\\%
\expandafter\xmakefirstuc{\MakeTextLowercase{\mylong}}\\%
\expandafter\xmakefirstuc\expandafter{\MakeTextLowercase{\mylong}}\\%
\expandafter\xmakefirstuc{\expandafter\MakeTextLowercase{\mylong}}\\%
\expandafter\xmakefirstuc{\MakeTextLowercase\expandafter{\mylong}}\\%
\expandafter\xmakefirstuc{\MakeTextLowercase{\expandafter\mylong}}\\%
\expandafter\xmakefirstuc\expandafter\relax{\MakeTextLowercase{\mylong}}\\%
\expandafter\xmakefirstuc{\expandafter\relax\MakeTextLowercase{\mylong}}\\%
\expandafter\xmakefirstuc{\MakeTextLowercase\expandafter\relax{\mylong}}\\%
\expandafter\xmakefirstuc{\MakeTextLowercase{\expandafter\relax\mylong}}\\%
}
\begin{document}\noindent%
\howtodothis{First Letter Should Be Uppercase, All Others Lowercase.}
\end{document}
