Create a Handwriting environment for both text and Math

Example with mathastext:

\documentclass{article}

\usepackage{mathpazo}
\usepackage[version=3]{mhchem}
\usepackage{amsmath}
\usepackage{siunitx}
\usepackage[subdued]{mathastext}% no italic for Augie anyhow
\MTfamily{augie}
\Mathastext[augie]

\newenvironment{Handwriting}{\MTversion{augie}}{\par}

\begin{document}

This test is normal, and math too ($x^n+y^n = z^n$).

\begin{Handwriting}

This text should look like it is Hand written.

This equation as well:
\[x^n + y^n = z^n\]

\end{Handwriting}

\end{document}

enter image description here


Here is with Chalkduster, hence Unicode engines, which is not at all mathastext ballpark.

I added defaultmathsizes option to keep standard sizes for scriptsize (even if mathastext is "subdued", without this option it will make use of larger size in subscripts and superscripts).

Caution: you probably want to use mathspec or unicode-math which should provide the needed things. I have little experience with them (I rarely use unicode engines). Notice that user level interface is very often in LaTeX2e made "preamble-only", for example \DeclareMathSymbol macro, hence one has to use TeX engine primitives.

\documentclass{article}
\usepackage[no-math]{fontspec}
\usepackage{amsmath}
%\usepackage{siunitx}

\newfontfamily\Chalkduster[NFSSFamily=Chalkduster]{Chalkduster}
\usepackage[subdued, defaultmathsizes]{mathastext}
\MTfamily{Chalkduster}
\Mathastext[Chalkduster]

\newenvironment{Handwriting}{\MTversion{Chalkduster}\MTdonotfixfonts
  % adjust some additional glyphs
  \Umathchardef\prod 1 \symmtoperatorfont `∏\relax % mathop
  \Umathchardef\sum  1 \symmtoperatorfont `∑\relax % mathop
%  \Umathchardef\in   3 \symmtoperatorfont `∈\relax % not in CHALKDUSTER?
  \Umathchardef\int  1 \symmtoperatorfont `∫\relax % mathop
  \Umathchardef\neq  3 \symmtoperatorfont `≠\relax % mathrel
%
% This syntax works with luatex not with xelatex
  % \Umathcodenum`∏=\prod
  % \Umathcodenum`∑=\sum
  % \Umathcodenum`∫=\int
  % \Umathcodenum`≠=\neq
% So we repeat
  \Umathcode`∏ = 1 \symmtoperatorfont `∏\relax % mathop
  \Umathcode`∑ = 1 \symmtoperatorfont `∑\relax % mathop
  \Umathcode`∫ = 1 \symmtoperatorfont `∫\relax % mathop
  \Umathcode`≠ = 3 \symmtoperatorfont `≠\relax % mathrel
}{\par}

\begin{document}

This text is normal, and math too
\[x^n + y^n = (z^n - w^n) = \sum_{ij} a_{ij} \neq \prod_{p\in P} (1 - \frac1p) =
  \int \sqrt{1+x^2} dx\]

\begin{Handwriting}

This text should look like it is Hand written.

These equations as well:
\[x^n + y^n = (z^n - w^n) = \sum_{ij} a_{ij} \neq \prod_{p\in P} (1 - \frac1p) =
  \int \sqrt{1+x^2} dx\]
\[x^n + y^n = (z^n - w^n) = ∑_{ij} a_{ij} ≠ ∏_{p\in P} (1 - \frac1p) =
  ∫\sqrt{1+x^2} dx\]


\end{Handwriting}

\end{document}
% Local variables:
% TeX-engine: xetex
% End:

The above would produce strange output when compiled with lualatex if the \MTdonotfixfonts were omitted (with xelatex, this macro does nothing). Perhaps the \MTfixmathfonts macro dating back to 2016/05/03 of mathastext is obsoleted due to change with font handling on lua side. (untested, I don't use LuaTeX)

enter image description here

As one can see, the square root sign was left untouched (I guess one needs a genuine OpenType math font for all such extensible symbols). And the ELEMENT OF seems to be missing from Chalkduster. (it seems to have glyphs in a private area I don't know how to access)

Attention to no-math option for fontspec. (I vaguely remember polyglossia loads fontspec so this many need in that case some \PassOptionsToPackage right after \documentclass).


Here is a sample with unicode-math. This would work with any TrueType or OpenType font.

\documentclass[varwidth, preview]{standalone}
\usepackage[math-style=upright]{unicode-math}

\defaultfontfeatures{Scale=MatchUppercase}
% Kalam is a free font by the Indian Type Foundry, available at:
% https://github.com/itfoundry/kalam
\setmainfont{Kalam}[
  Scale = 1.0 ,
  UprightFont = *-Regular ,
  BoldFont = *-Bold ,
  Extension = .ttf ]
\setmathfont{GFS Neohellenic Math}
\setmathfont[range={"00-"FF,
                    "03C0, "2013-"2014, "2018-"201A, "201C-"201E, "2021-"2022,
                    "2026, "2030, "2039-"203A, "2044, "20AC, "20BA, "20BD,
                    "2113, "2122, "2126, "212E, "2202, "2206, "220F, "2211,
                    "2212, "2215, "221E, "222B, "2246, "2260, "2264, "2265,
                    "25CA, up/{Latin,latin,num}}]{Kalam-Regular.ttf}
\setmathfont[range=bfup/{Latin,latin,num}]{Kalam-Bold.ttf}

\begin{document}

Kalam is a free font from the Indian Type Foundry.

\[ \lim_{t \to \infty} \frac{\partial}{\partial t}
   \int_0^{2 \muppi} \frac{t^2}{2} \mathop{\symup{d}t} \leq
   \sum_{i=1}^N  \frac{\muppi i}{\sqrt 2} \approx \increment \symbfup{v}t \]

\end{document}

Kalam Sample

Unfortunately, that shows off almost all the font’s mathematical repertoire. Another you might try, from the same source, is Tillana.

ETA

Apologies; you requested an environment, and this doesn’t set up an environment. Sorry about that.

In a future version of unicode-math, you might be able to write:

\newfontfamily\handwritingfamily{Kalam}[
  Scale = MatchUppercase ,
  UprightFont = *-Regular ,
  BoldFont = *-Bold ,
  Extension = .ttf ]
\setmathfont[version=handwriting,
             Scale=MatchUppercase]{GFS Neohellenic Math}
\setmathfont[version=handwriting,
             Scale=MatchUppercase,
             range={"00-"FF,
                    "03C0, "2013-"2014, "2018-"201A, "201C-"201E, "2021-"2022,
                    "2026, "2030, "2039-"203A, "2044, "20AC, "20BA, "20BD,
                    "2113, "2122, "2126, "212E, "2202, "2206, "220F, "2211,
                    "2212, "2215, "221E, "222B, "2246, "2260, "2264, "2265,
                    "25CA, up/{Latin,latin,num}}
            ]{Kalam-Regular.ttf}
\setmathfont[version=handwriting,
             Scale=MatchUppercase,
             range=bfup/{Latin,latin,num}
            ]{Kalam-Bold.ttf}

\newenvironment{handwriting}{\handwritingfamily%
\mathversion{handwriting%
\setoperatorfont{\handwritingfamily}}}

However, as of October 2018, the manual warns, “Note there are currently open issues regarding the interaction between the version and the range features, so please proceed with caution.”

At present, \setmathfont[ version=handwriting, Scale=MatchUppercase ]{Kalam} compiles, but the output will lack any math symbols missing from the font (and I am not aware of any handwriting fonts with an OpenType MATH table). GFS Neohellenic Math is the most handwriting-like OpenType math font I know of.