[Tex/LaTex] How to get italic sans-serif in math mode

italicmath-modesans-serif

I have a paper in which I originally used mathit, bold mathit, mathcal and bold mathcal to distinguish various types of entities. Reviewing the paper on-screen it appears that \mathit{C} and \mathcal{C} are very similar in appearance. My first thought was to use sans-serif in place of the default font, but LaTeX doesn't let you combine \mathit and \mathsf.

The pdflatex font tables are close to full, and XeTeX is not an option since I can't control the compilation process of arXiv or other publishers. Is there a way to get italic sans-serif without loading additional fonts, and is there an alternative way to distinguish the entities for which I currently use bold, default, calligraphic and bold calligraphic. Note: I don't load bold fonts; I use \bm.

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{bm}
\usepackage[colorlinks,hidelinks]{hyperref}
\usepackage{cleveref}
\usepackage{showlabels}
\showlabels{cite}
\showlabels{cref}
\showlabels{crefrange}

\begin{document}

 $C$ default

 $\mathit C$ mathit

 $\mathcal C$ mathcal

 $\mathsf{C}$ mathsf

 $\bm C$ bm default

 $\bm{\mathcal{C}}$ bm mathcal

 $\bm{\mathit{\mathsf{C}}}$ bm mathit mathsf

\end{document}

I attempted to resolve this based on a suggestion by egreg, but the weight of the italic sans-serif was heavier than the weight of normal sans-serif. After I fixed a typo it worked.

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{bm}
\usepackage[colorlinks,hidelinks]{hyperref}
\usepackage{cleveref}
\usepackage{showlabels}
\showlabels{cite}
\showlabels{cref}
\showlabels{crefrange}

\DeclareMathAlphabet{\mathsfbd}{T1}{\sfdefault}{\bfdefault}{\itdefault}
\SetMathAlphabet{\mathsfbd}{bold}{T1}{\sfdefault}{\bfdefault}{\itdefault}

\DeclareMathAlphabet{\mathsfit}{T1}{\sfdefault}{}{\itdefault}
\SetMathAlphabet{\mathsfit}{normal}{T1}{\sfdefault}{}{\itdefault}

\DeclareMathAlphabet{\mathsfbdit}{T1}{\sfdefault}{\bfdefault}{\itdefault}
\SetMathAlphabet{\mathsfbdit}{bold}{T1}{\sfdefault}{\bfdefault}{\itdefault}

\begin{document}

 $C$ default

 $\mathit C$ mathit

 $\mathcal C$ mathcal

 $\mathsf{C}$ mathsf

$\mathsfbd{C}$ mathsfbd

$\mathsfbdit{C}$ mathsfbdit

$\mathsfit{C}$ mathsfit

 $\bm C$ bm default

 $\bm{\mathcal{C}}$ bm mathcal

 $\bm{\mathit{\mathsf{C}}}$ bm mathit mathsf

$\bm{\mathsf{C}}$ bm mathsf

$\bm{\mathsfbd{C}}$ bm mathsfbd

$\bm{\mathsfit{C}}$ bm mathsfit

$\bm{\mathsfbdit{C}}$ bm mathsfbdit

\end{document}

Best Answer

Math alphabets commands such as \mathit and \mathsf are not “cumulative”. You have to allocate a specific math alphabet.

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{bm}
\usepackage{fix-cm} % not needed if not using Computer Modern

\DeclareMathAlphabet{\mathsfit}{T1}{\sfdefault}{\mddefault}{\sldefault}
\SetMathAlphabet{\mathsfit}{bold}{T1}{\sfdefault}{\bfdefault}{\sldefault}

\begin{document}

$C$ default

$\mathit{C}$ mathit

$\mathcal{C}$ mathcal

$\mathsf{C}$ mathsf

$\mathsfit{C}$ mathsfit

$\bm{C}$ bm default

$\bm{\mathcal{C}}$ bm mathcal

$\bm{\mathsf{C}}$ bm mathsf

$\bm{\mathsfit{C}}$ bm mathsfit

\end{document}

enter image description here