Consider the code
\documentclass[12pt]{book}
\usepackage[T1]{fontenc}
%\usepackage[sfdefault]{cabin}
\newcommand{\longemdash}{{\fontfamily{cmss}\selectfont---}}
\newcommand{\emdash}{\nobreak---\nobreak\hskip0pt}
\newcommand{\fancyquote}[2]{%
\par\noindent{#1}\\*\hspace*{\fill}\longemdash\fontfamily{cmss}\selectfont\textit{\textbf{#2}}%
}
\begin{document}
\thispagestyle{empty}
\fancyquote{{\scshape{Baseball}} is 90 percent mental. The other half is physical.}{Yogi Berra}
\vspace*{20pt}
\fancyquote{If people don't want to come to the ballpark, how are you going to stop them?}{Yogi Berra}
\vspace*{20pt}
\fancyquote{You can observe a lot by watching.}{Yogi Berra}
\end{document}
which produces
QUESTION: How may I automatically display the first word of every quote in small caps without having to resort to something {\scshape{Baseball}
every time?
Thank you.