There are not two distinct Unicode points for the empty set and its variant symbol (they are just different forms of the same symbol). Find a font that has the circle form and use it.
\documentclass[12pt]{article}
\usepackage[fleqn]{amsmath}
\usepackage{unicode-math}
\usepackage[english,greek]{babel}
\setmainfont[
Ligatures=TeX,
Extension=.otf,
UprightFont=*,
BoldFont=*Bold,
ItalicFont=*It,
BoldItalicFont=*BoldIt,
]{GFSArtemisia}
%\setsansfontMapping=tex-text]{GFSArtemisia.otf} %%% it's not sans serif!
\setmathfont{Latin Modern Math}
\setmathfont[range=\varnothing]{Asana Math}
\setmathfont[range=\int]{Latin Modern Math}
\begin{document}
This is the problem: $\varnothing\subseteq A\times B$
\end{document}
By the way, Latin Modern Math together with GFS Artemisia doesn't seem too nice a combination. If your document is math intensive, Artemisia for the Latin characters is not recommendable, in my opinion, because there's no matching math font.
Loading Latin Modern Math explicitly is necessary if another math font is chosen for some range of characters (it's a bug of fontspec
, I'd say).
Note that, depending on the host system (say ShareLaTeX or WriteLaTeX) or your own system, the font may have to be loaded by file name and not by font name; in this case, the math fonts should be loaded with
\setmathfont{latinmodern-math.otf}
\setmathfont[range=\varnothing]{Asana-Math.otf}
\setmathfont[range=\int]{latinmodern-math.otf}
The amssymb
package is part of of the amsfonts
bundle.
If you right-click on a package in MiKTeX Package Manager, and choose the Files
tab, you obtain the list of all files in the package:
Best Answer
You can use a larger version of the slash, with a handful of tricks to move it a bit down when in script style. However, this would not work in scriptscript style (I don't think it's a big limitation).