% !TEX TS-program = pdflatex % sansmathaccent.tex % % Provides documentation for the sansmathaccent package % % author: Ariel Barton % % Copyright Ariel Barton, 2012, 2013, 2020 % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either % version 1.3 of this license or (at your option) any % later version. % The latest version of the license is in % http://www.latex-project.org/lppl.txt % and version 1.3 or later is part of all distributions of % LaTeX version 2003/06/01 or later. % % This work has the LPPL maintenance status "author-maintained". % % The complete list of files considered part of this work is % later in this file. % % Date: 2020/01/31 \documentclass{amsart} \usepackage{sfmath,sansmathaccent} \usepackage{bm} \usepackage{hyperref} \def\sectionautorefname{Section} \DeclareMathAlphabet{\badmath}{OT1}{cmss}{m}{sl} \title{The \textsf{sansmathaccent} package} \author{Ariel Barton} \begin{document} \maketitle It is sometimes desirable to typeset math in sans serif. This is particularly true when constructing slides, and so is done by default in the \textsf{beamer} class. However, the Computer Modern sans serif fonts do not contain the information TeX needs to position accents correctly. So math accents end up placed badly: $$ \tilde {\badmath{M}} \quad \dot {\badmath{u}} \quad \hat{{}\badmath{T}} \quad \bar {\badmath{v}} \quad \mathring {\badmath{A}}$$ The \textsf{sansmathaccent} package corrects the accent placements: $$ \tilde M \quad \dot u \quad \hat{T} \quad \bar v \quad \mathring A$$ Version 2 is compatible with the \textsf{bm} package: $$ \bm{\tilde M} \quad \bm{\dot u} \quad \bm{\hat{T}} \quad \bm{\bar v} \quad \bm{\mathring{A}}$$ Version 3 uses the \textsf{scrlfile} package instead of the \textsf{filehooks} package at the request of the \textsf{beamer} support community. \section{Usage} This package was uploaded to CTAN in January 2020. If you have installed or updated your \TeX\ distribution since then, this package might have been installed on your system. If not, you will need to install it. Mik\TeX\ should do this automatically if you try to typeset a document that uses the package. Mac\TeX\ users can install and update CTAN packages using the program ``TeX Live Utility'' in the \texttt{/Applications/TeX} folder. \TeX\ Live users can use the command-line utility \texttt{tlmgr} (see \href{http://tug.org/texlive/doc/tlmgr.html} {\texttt{http://tug.org/texlive/doc/tlmgr.html}}). If that does not work, consult one of the following web pages for advice on how to install a fonts package by hand:\\ \href{http://www.tug.org/fonts/fontinstall.html} {\texttt{http://www.tug.org/fonts/fontinstall.html}}\\ \href{http://www.tug.org/fonts/fontinstall-personal.html} {\texttt{http://www.tug.org/fonts/fontinstall-personal.html}}\\ \href{http://en.wikibooks.org/wiki/LaTeX/Packages/Installing_Extra_Packages} {\texttt{http://en.wikibooks.org/wiki/LaTeX/Packages/Installing\_Extra\_Packages}} Some versions of \textsf{beamer} load \textsf{sansmathaccent} automatically. If your version of \textsf{beamer} does not, you can load it yourself: \begin{quote} \verb|\documentclass{beamer}|\\ \verb|\usepackage{sansmathaccent}|\\ \verb|\begin{document}|\\ \verb|\begin{frame}{}|\\ \verb|$\tilde M$ $\dot u$ $\hat{T}$|\\ \verb|\end{frame}|\\ \verb|\end{document}| \end{quote} In an article, book, letter, or other document class other than \textsf{beamer}, first use the \textsf{sfmath} package to switch to sans serif math, then use \textsf{sansmathaccent} to correct the accents: \begin{quote} \verb|\documentclass{article}|\\ \verb|\usepackage{sfmath,sansmathaccent}|\\ \verb|\begin{document}|\\ \verb|$\tilde M$ $\dot u$ $\hat{T}$|\\ \verb|\end{document}| \end{quote} \section{Warnings} \textsf{sansmathaccent} is not a standalone package; it is a package to correct a specific problem that appears in \textsf{beamer} and \textsf{sfmath}. If neither of those packages is used, \textsf{sansmathaccent} will do nothing. Observe also that \textsf{sansmathaccent} will only work with Computer Modern sans serif math text; if you use a package such as \textsf{helvet} or \textsf{pxfonts} to change the sans serif math font away from the default, \textsf{sansmathaccent} will not help you. Feedback is appreciated and may be sent to \texttt{origamist@gmail.com}. \section{License} This work (the \textsf{sansmathaccent} package) consists of the following files: \begin{itemize} \item \texttt{mathkerncmssi8.tfm} \item \texttt{mathkerncmssi9.tfm} \item \texttt{mathkerncmssi10.tfm} \item \texttt{mathkerncmssi12.tfm} \item \texttt{mathkerncmssi17.tfm} \item \texttt{mathkerncmssxi8.tfm} \item \texttt{mathkerncmssxi9.tfm} \item \texttt{mathkerncmssxi10.tfm} \item \texttt{mathkerncmssxi12.tfm} \item \texttt{mathkerncmssxi17.tfm} \item \texttt{mathkerncmssxi8.vf} \item \texttt{mathkerncmssxi9.vf} \item \texttt{mathkerncmssxi10.vf} \item \texttt{mathkerncmssxi12.vf} \item \texttt{mathkerncmssxi17.vf} \item \texttt{ot1mathkerncmss.fd} \item \texttt{sansmathaccent.map} \item \texttt{sansmathaccent.pdf} \item \texttt{sansmathaccent.sty} \item \texttt{sansmathaccent.tex} \end{itemize} This work may be distributed and/or modified under the conditions of the \LaTeX\ Project Public License, either version 1.3 of this license or (at your option) any later version. The latest version of the license is in \begin{quote} \href {http://www.latex-project.org/lppl.txt} {\texttt{http://www.latex-project.org/lppl.txt}} \end{quote} and version 1.3 or later is part of all distributions of \LaTeX\ version 2003/06/01 or later. This work has the LPPL maintenance status ``author-maintained''. \subsection{Derived Works included in this package} The files \begin{itemize} \item \texttt{mathkerncmssi8.tfm} \item \texttt{mathkerncmssi9.tfm} \item \texttt{mathkerncmssi10.tfm} \item \texttt{mathkerncmssi12.tfm} \item \texttt{mathkerncmssi17.tfm} \end{itemize} were derived from the files \begin{itemize} \item \texttt{cmssi8.tfm} \item \texttt{cmssi9.tfm} \item \texttt{cmssi10.tfm} \item \texttt{cmssi12.tfm} \item \texttt{cmssi17.tfm} \end{itemize} all of which are part of the \LaTeX\ base distribution and can be found at \href{ctan.org}{\texttt{ctan.org}}. The edited \TeX\ Font Metric (\texttt{.tfm}) files were generated using the utilities \texttt{tftopl} and \texttt{pltotf} and using Hendrik Vogt's patch (included in the documentation in \autoref{sec:patch}). The virtual fonts \begin{itemize} \item \texttt{mathkerncmssxi8} \item \texttt{mathkerncmssxi9} \item \texttt{mathkerncmssxi10} \item \texttt{mathkerncmssxi12} \item \texttt{mathkerncmssxi17} \end{itemize} (\texttt{tfm} and \texttt{vf} files) and the file \texttt{ot1mathkerncmss.fd} were generated from the files \begin{itemize} \item \texttt{ecso0800.tfm} \item \texttt{ecso0900.tfm} \item \texttt{ecso1000.tfm} \item \texttt{ecso1200.tfm} \item \texttt{ecso1728.tfm} \item \texttt{cmssbx10.tfm} \end{itemize} all of which are part of the \LaTeX\ base distribution and can be found at \href{ctan.org}{\texttt{ctan.org}}. The edited files were generated using the \textsf{fontinst} package and the utilities \texttt{tftopl} and \texttt{vptovf}, and some original \textsf{fontinst} files (included in the documentation in \autoref{sec:fontinst}). \section{Patch file}\label{sec:patch} The following is the patch file used to generate the corrected TFM files for the medium-width fonts. It is included for reference; you don't need to read this section to use the package. The patch file was written by Hendrik Vogt and used with permission. \begin{quote} \begin{verbatim} 17a18,61 > (LABEL C E) > (LABEL C H) > (LABEL C M) > (LABEL C N) > (LABEL C Q) > (LABEL C i) > (LABEL C j) > (KRN O 177 R 0.1) > (STOP) > (LABEL C J) > (KRN O 177 R 0.22) > (STOP) > (LABEL C e) > (LABEL C m) > (LABEL C n) > (LABEL C r) > (LABEL C B) > (LABEL C R) > (LABEL C S) > (LABEL C Z) > (KRN O 177 R 0.08) > (STOP) > (LABEL C c) > (LABEL C q) > (LABEL C s) > (LABEL C z) > (KRN O 177 R 0.06) > (STOP) > (LABEL C v) > (LABEL C x) > (KRN O 177 R 0.04) > (STOP) > (LABEL C h) > (KRN O 177 R 0.02) > (STOP) > (LABEL C l) > (LABEL C U) > (KRN O 177 R 0.11) > (STOP) > (LABEL C d) > (LABEL C C) > (LABEL C G) > (KRN O 177 R 0.12) > (STOP) 25a70 > (KRN O 177 R 0.1) 61a107 > (KRN O 177 R 0.04) 62a109 > (KRN O 177 R 0.03) 68a116 > (KRN O 177 R 0.08) 70a119 > (KRN O 177 R 0.04) 77a127 > (KRN O 177 R 0.1) 79a130 > (KRN O 177 R 0.07) 86a138 > (KRN O 177 R 0.08) 87a140 > (KRN O 177 R 0.06) 93a147 > (KRN O 177 R 0.09) 95a150 > (KRN O 177 R 0.06) 103a159 > (KRN O 177 R 0.08) 104a161 > (KRN O 177 R 0.1) 111a169 > (KRN O 177 R 0.05) 112a171 > (KRN O 177 R 0.06) 120a180 > (KRN O 177 R 0.08) 122a183 > (KRN O 177 R 0.07) 124a186 > (KRN O 177 R 0.08) 127a190 > (KRN O 177 R 0.14) 134a198 > (KRN O 177 R 0.05) 140a205 > (KRN O 177 R 0.01) 143a209 > (KRN O 177 R 0.1) \end{verbatim} \end{quote} The above was saved as a file \texttt{sansmathaccent.patch}. Then the following bash script was run: \begin{quote} \begin{verbatim} for i in 8 9 10 12 17 do tftopl $(kpsewhich cmssi$i.tfm) > mathkerncmssi$i.pl patch mathkerncmssi$i.pl sansmathaccent.patch pltotf mathkerncmssi$i.pl done \end{verbatim} \end{quote} This generated the desired TFM files. \section{Fontinst files}\label{sec:fontinst} %\font \test=cmssxi10 {\test test} The bold slanted fonts used in this package are virtual fonts. These virtual fonts were generated using the \textsf{fontinst} package and the following two files (again, included only for reference). File \texttt{mathkerncmss.mtx}: \begin{quote} \begin{verbatim} \setkern{A}{dieresis}{140} \setkern{B}{dieresis}{80} \setkern{C}{dieresis}{120} \setkern{D}{dieresis}{80} \setkern{E}{dieresis}{100} \setkern{F}{dieresis}{100} \setkern{G}{dieresis}{120} \setkern{H}{dieresis}{100} \setkern{I}{dieresis}{100} \setkern{J}{dieresis}{220} \setkern{K}{dieresis}{80} \setkern{L}{dieresis}{50} \setkern{M}{dieresis}{100} \setkern{N}{dieresis}{100} \setkern{O}{dieresis}{100} \setkern{P}{dieresis}{80} \setkern{Q}{dieresis}{100} \setkern{R}{dieresis}{80} \setkern{S}{dieresis}{80} \setkern{T}{dieresis}{90} \setkern{U}{dieresis}{110} \setkern{V}{dieresis}{70} \setkern{W}{dieresis}{70} \setkern{X}{dieresis}{60} \setkern{Y}{dieresis}{60} \setkern{Z}{dieresis}{80} \setkern{a}{dieresis}{80} \setkern{b}{dieresis}{50} \setkern{c}{dieresis}{60} \setkern{d}{dieresis}{120} \setkern{e}{dieresis}{80} \setkern{f}{dieresis}{100} \setkern{g}{dieresis}{10} \setkern{h}{dieresis}{20} \setkern{i}{dieresis}{100} \setkern{j}{dieresis}{100} \setkern{k}{dieresis}{40} \setkern{l}{dieresis}{110} \setkern{m}{dieresis}{80} \setkern{n}{dieresis}{80} \setkern{o}{dieresis}{60} \setkern{p}{dieresis}{80} \setkern{q}{dieresis}{60} \setkern{r}{dieresis}{80} \setkern{s}{dieresis}{60} \setkern{t}{dieresis}{70} \setkern{u}{dieresis}{80} \setkern{v}{dieresis}{40} \setkern{w}{dieresis}{30} \setkern{x}{dieresis}{40} \setkern{y}{dieresis}{40} \setkern{z}{dieresis}{60} \end{verbatim} \end{quote} File \texttt{installfonts.tex}: \begin{quote} \begin{verbatim} \input fontinst.sty \installfonts \generalpltomtx{ecso0800}{ecso0800}{pl}{t1} \generalpltomtx{ecso0900}{ecso0900}{pl}{t1} \generalpltomtx{ecso1000}{ecso1000}{pl}{t1} \generalpltomtx{ecso1200}{ecso1200}{pl}{t1} \generalpltomtx{ecso1728}{ecso1728}{pl}{t1} \generalpltomtx{cmssbx10}{cmssbx10}{pl}{ot1} \substitutesilent{bx}{b} \substitutesilent{sl}{it} \installfamily{OT1}{mathkerncmss}{\skewchar\font127 } \installfontas{cmss8} {OT1}{mathkerncmss} {m}{n}{<-8.5>} \installfontas{cmss9} {OT1}{mathkerncmss} {m}{n}{<8.5-9.5>} \installfontas{cmss10} {OT1}{mathkerncmss} {m}{n}{<9.5-11.5>} \installfontas{cmss12} {OT1}{mathkerncmss} {m}{n}{<11.5-15.7>} \installfontas{cmss17} {OT1}{mathkerncmss} {m}{n}{<15.7->} \installfontas{mathkerncmssi8} {OT1}{mathkerncmss} {m}{sl}{<-8.5>} \installfontas{mathkerncmssi9} {OT1}{mathkerncmss} {m}{sl}{<8.5-9.5>} \installfontas{mathkerncmssi10}{OT1}{mathkerncmss} {m}{sl}{<9.5-11.5>} \installfontas{mathkerncmssi12}{OT1}{mathkerncmss} {m}{sl}{<11.5-15.7>} \installfontas{mathkerncmssi17}{OT1}{mathkerncmss} {m}{sl}{<15.7->} \installfontas{cmssbx10} {OT1}{mathkerncmss}{bx}{n}{} \installfont{mathkerncmssxi8} {ecso0800,cmssbx10,mathkerncmss} {ot1}{OT1}{mathkerncmss} {bx}{sl}{<-8.5>} \installfont{mathkerncmssxi9} {ecso0900,cmssbx10,mathkerncmss} {ot1}{OT1}{mathkerncmss} {bx}{sl}{<8.5-9.5>} \installfont{mathkerncmssxi10} {ecso1000,cmssbx10,mathkerncmss} {ot1}{OT1}{mathkerncmss} {bx}{sl}{<9.5-11.5>} \installfont{mathkerncmssxi12} {ecso1200,cmssbx10,mathkerncmss} {ot1}{OT1}{mathkerncmss} {bx}{sl}{<11.5-15.7>} \installfont{mathkerncmssxi17} {ecso1728,cmssbx10,mathkerncmss} {ot1}{OT1}{mathkerncmss} {bx}{sl}{<15.7->} \endinstallfonts\bye \end{verbatim} \end{quote} Once these files had been written, the following script was run: \begin{quote} \begin{verbatim} tftopl cmssbx10 cmssbx10 tftopl ecso0800 ecso0800 tftopl ecso0900 ecso0900 tftopl ecso1000 ecso1000 tftopl ecso1200 ecso1200 tftopl ecso1728 ecso1728 tex installfonts.tex for file in *.vpl; do vptovf $file; done \end{verbatim} \end{quote} This generated the TFM files and virtual fonts for the bold version, and also the \LaTeX\ font definition file \texttt{otlmathkerncmss.fd}. \end{document} \section{Test} $\bm{\Gamma}$ \begin{tabular}{cccccccc} $\hat{a}$ & $\bm{\hat{a}}$ & ${\hat{A}} $ & $\bm{\hat{A}}$ & $\dot{a}$ & $\bm{\dot{a}}$ & ${\dot{A}} $ & $\bm{\dot{A}}$\\ $\hat{b}$ & $\bm{\hat{b}}$ & ${\hat{B}} $ & $\bm{\hat{B}}$ & $\dot{b}$ & $\bm{\dot{b}}$ & ${\dot{B}} $ & $\bm{\dot{B}}$\\ $\hat{c}$ & $\bm{\hat{c}}$ & ${\hat{C}} $ & $\bm{\hat{C}}$ & $\dot{c}$ & $\bm{\dot{c}}$ & ${\dot{C}} $ & $\bm{\dot{C}}$\\ $\hat{d}$ & $\bm{\hat{d}}$ & ${\hat{D}} $ & $\bm{\hat{D}}$ & $\dot{d}$ & $\bm{\dot{d}}$ & ${\dot{D}} $ & $\bm{\dot{D}}$\\ $\hat{e}$ & $\bm{\hat{e}}$ & ${\hat{E}} $ & $\bm{\hat{E}}$ & $\dot{e}$ & $\bm{\dot{e}}$ & ${\dot{E}} $ & $\bm{\dot{E}}$\\ $\hat{f}$ & $\bm{\hat{f}}$ & ${\hat{F}} $ & $\bm{\hat{F}}$ & $\dot{f}$ & $\bm{\dot{f}}$ & ${\dot{F}} $ & $\bm{\dot{F}}$\\ $\hat{g}$ & $\bm{\hat{g}}$ & ${\hat{G}} $ & $\bm{\hat{G}}$ & $\dot{g}$ & $\bm{\dot{g}}$ & ${\dot{G}} $ & $\bm{\dot{G}}$\\ $\hat{h}$ & $\bm{\hat{h}}$ & ${\hat{H}} $ & $\bm{\hat{H}}$ & $\dot{h}$ & $\bm{\dot{h}}$ & ${\dot{H}} $ & $\bm{\dot{H}}$\\ $\hat{i}$ & $\bm{\hat{i}}$ & ${\hat{I}} $ & $\bm{\hat{I}}$ & $\dot{i}$ & $\bm{\dot{i}}$ & ${\dot{I}} $ & $\bm{\dot{I}}$\\ $\hat{j}$ & $\bm{\hat{j}}$ & ${\hat{J}} $ & $\bm{\hat{J}}$ & $\dot{j}$ & $\bm{\dot{j}}$ & ${\dot{J}} $ & $\bm{\dot{J}}$\\ $\hat{k}$ & $\bm{\hat{k}}$ & ${\hat{K}} $ & $\bm{\hat{K}}$ & $\dot{k}$ & $\bm{\dot{k}}$ & ${\dot{K}} $ & $\bm{\dot{K}}$\\ $\hat{l}$ & $\bm{\hat{l}}$ & ${\hat{L}} $ & $\bm{\hat{L}}$ & $\dot{l}$ & $\bm{\dot{l}}$ & ${\dot{L}} $ & $\bm{\dot{L}}$\\ $\hat{m}$ & $\bm{\hat{m}}$ & ${\hat{M}} $ & $\bm{\hat{M}}$ & $\dot{m}$ & $\bm{\dot{m}}$ & ${\dot{M}} $ & $\bm{\dot{M}}$\\ $\hat{n}$ & $\bm{\hat{n}}$ & ${\hat{N}} $ & $\bm{\hat{N}}$ & $\dot{n}$ & $\bm{\dot{n}}$ & ${\dot{N}} $ & $\bm{\dot{N}}$\\ $\hat{o}$ & $\bm{\hat{o}}$ & ${\hat{O}} $ & $\bm{\hat{O}}$ & $\dot{o}$ & $\bm{\dot{o}}$ & ${\dot{O}} $ & $\bm{\dot{O}}$\\ $\hat{p}$ & $\bm{\hat{p}}$ & ${\hat{P}} $ & $\bm{\hat{P}}$ & $\dot{p}$ & $\bm{\dot{p}}$ & ${\dot{P}} $ & $\bm{\dot{P}}$\\ $\hat{q}$ & $\bm{\hat{q}}$ & ${\hat{Q}} $ & $\bm{\hat{Q}}$ & $\dot{q}$ & $\bm{\dot{q}}$ & ${\dot{Q}} $ & $\bm{\dot{Q}}$\\ $\hat{r}$ & $\bm{\hat{r}}$ & ${\hat{R}} $ & $\bm{\hat{R}}$ & $\dot{r}$ & $\bm{\dot{r}}$ & ${\dot{R}} $ & $\bm{\dot{R}}$\\ $\hat{s}$ & $\bm{\hat{s}}$ & ${\hat{S}} $ & $\bm{\hat{S}}$ & $\dot{s}$ & $\bm{\dot{s}}$ & ${\dot{S}} $ & $\bm{\dot{S}}$\\ $\hat{t}$ & $\bm{\hat{t}}$ & ${\hat{T}} $ & $\bm{\hat{T}}$ & $\dot{t}$ & $\bm{\dot{t}}$ & ${\dot{T}} $ & $\bm{\dot{T}}$\\ $\hat{u}$ & $\bm{\hat{u}}$ & ${\hat{U}} $ & $\bm{\hat{U}}$ & $\dot{u}$ & $\bm{\dot{u}}$ & ${\dot{U}} $ & $\bm{\dot{U}}$\\ $\hat{v}$ & $\bm{\hat{v}}$ & ${\hat{V}} $ & $\bm{\hat{V}}$ & $\dot{v}$ & $\bm{\dot{v}}$ & ${\dot{V}} $ & $\bm{\dot{V}}$\\ $\hat{w}$ & $\bm{\hat{w}}$ & ${\hat{W}} $ & $\bm{\hat{W}}$ & $\dot{w}$ & $\bm{\dot{w}}$ & ${\dot{W}} $ & $\bm{\dot{W}}$\\ $\hat{x}$ & $\bm{\hat{x}}$ & ${\hat{X}} $ & $\bm{\hat{X}}$ & $\dot{x}$ & $\bm{\dot{x}}$ & ${\dot{X}} $ & $\bm{\dot{X}}$\\ $\hat{y}$ & $\bm{\hat{y}}$ & ${\hat{Y}} $ & $\bm{\hat{Y}}$ & $\dot{y}$ & $\bm{\dot{y}}$ & ${\dot{Y}} $ & $\bm{\dot{Y}}$\\ $\hat{z}$ & $\bm{\hat{z}}$ & ${\hat{Z}} $ & $\bm{\hat{Z}}$ & $\dot{z}$ & $\bm{\dot{z}}$ & ${\dot{Z}} $ & $\bm{\dot{Z}}$\\ \end{tabular} \end{document}