I'm using XeLaTeX on Linux. I know that Latin Modern Roman is the default font of XeLaTeX, however if in my preamble I write
\setmainfont{Latin Modern Roman}
\setsansfont{Latin Modern Sans}
\setmonofont{Latin Modern Mono}
\setmathfont{Latin Modern Math}
I get errors like
The font "Latin Modern Roman" cannot be found \setmainfont{Latin Modern Roman}.
I really do not understand what is the name of this defaul character. Then, I use unicode-math package: my preamble is
\documentclass{article}
\usepackage{fontspec}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}
%\setmainfont{Latin Modern Roman}
%\setsansfont{Latin Modern Sans}
%\setmonofont{Latin Modern Mono}
% \setmathfont{Latin Modern Math}
\usepackage{unicode-math}
I don't like default \mathbb and \mathcal font of XeLaTeX. I noticed that, if I remove unicode-math I get the correct symbols. How to continue using unicode-math and having AMS font fot \mathbb and \mathcal?
fontspec
enables Latin Modern for text by default. There is no need to set the serif. sans and mono as you do. I imagine that these fonts may not be installed for your system generally, which is necessary in order to use their names in this way withfontspec
.