Apparently unicode-math doesn't assign a delimiter code to 〈
and 〉
(it should, in my opinion). Add the following magic code after having loaded unicode-math
\XeTeXdelcodenum`〈=\XeTeXdelcodenum`<
\XeTeXdelcodenum`〉=\XeTeXdelcodenum`>
Now \left〈
and \right〉
will work.
One has to pay attention to the characters used. For example the following are different:
‹〈
› 〉
In the first line we have U+2039 (SINGLE LEFT-POINTING ANGLE QUOTATION MARK) and U+3008 (LEFT ANGLE BRACKET); in the second line there are U+203A (SINGLE RIGHT-POINTING ANGLE QUOTATION MARK) and U+3009 (RIGHT ANGLE BRACKET). Only U+3008 and U+3009.
In your example you are confusing the two. However it's possible to use also U+2039 and U+203A for the angle brackets:
\documentclass{book}
\usepackage{amsmath}
\usepackage{unicode-math}
\unimathsetup{math-style=ISO}
\setmathfont{lmmath-regular.otf}
\XeTeXmathcodenum`‹=\XeTeXmathcodenum`〈 % make U+2039 the same as U+3008
\XeTeXmathcodenum`›=\XeTeXmathcodenum`〉 % make U+203A the same as U+3009
\XeTeXdelcodenum`〈=\XeTeXdelcodenum`< % use U+3008 after \left or \right
\XeTeXdelcodenum`〉=\XeTeXdelcodenum`> % use U+3009 after \left or \right
\XeTeXdelcodenum`‹=\XeTeXdelcodenum`< % use U+2039 after \left or \right
\XeTeXdelcodenum`›=\XeTeXdelcodenum`> % use U+203A after \left or \right
\begin{document}
bla bla bla bla
blabla blaaa
\begin{gather}
\left〈\dfrac{\frac{x+2}{y}+\frac{3}{4}}{x^2+y^2-5} \right 〉\\
\left‹\dfrac{\frac{x+2}{y}+\frac{3}{4}}{x^2+y^2-5} \right ›\\
\left\langle \dfrac{\frac{x+2}{y}+\frac{3}{4}}{x^2+y^2-5}\right\rangle\\
\left< \dfrac{\frac{x+2}{y}+\frac{3}{4}}{x^2+y^2-5}\right>\\
〈a〉\\
‹a›
\end{gather}
bla bla bla bla $< 〈 ‹$
\end{document}
You might want to file a feature request to the developer of newtxmath
; in the meantime you can change the definitions of the Greek lowercase letters.
\documentclass{report}
\usepackage[T1]{fontenc}
\usepackage[type1]{libertine}
\usepackage[libertine]{newtxmath}
\usepackage{bm}
\makeatletter
\re@DeclareMathSymbol{\alpha}{\mathord}{lettersA}{11}
\re@DeclareMathSymbol{\beta}{\mathord}{lettersA}{12}
\re@DeclareMathSymbol{\gamma}{\mathord}{lettersA}{13}
\re@DeclareMathSymbol{\delta}{\mathord}{lettersA}{14}
\re@DeclareMathSymbol{\epsilon}{\mathord}{lettersA}{15}
\re@DeclareMathSymbol{\zeta}{\mathord}{lettersA}{16}
\re@DeclareMathSymbol{\eta}{\mathord}{lettersA}{17}
\re@DeclareMathSymbol{\theta}{\mathord}{lettersA}{18}
\re@DeclareMathSymbol{\iota}{\mathord}{lettersA}{19}
\re@DeclareMathSymbol{\kappa}{\mathord}{lettersA}{20}
\re@DeclareMathSymbol{\lambda}{\mathord}{lettersA}{21}
\re@DeclareMathSymbol{\mu}{\mathord}{lettersA}{22}
\re@DeclareMathSymbol{\nu}{\mathord}{lettersA}{23}
\iftx@altnu
\re@DeclareMathSymbol{\nu}{\mathord}{lettersA}{40}
\fi
\re@DeclareMathSymbol{\xi}{\mathord}{lettersA}{24}
\re@DeclareMathSymbol{\pi}{\mathord}{lettersA}{25}
\re@DeclareMathSymbol{\rho}{\mathord}{lettersA}{26}
\re@DeclareMathSymbol{\sigma}{\mathord}{lettersA}{27}
\re@DeclareMathSymbol{\tau}{\mathord}{lettersA}{28}
\re@DeclareMathSymbol{\upsilon}{\mathord}{lettersA}{29}
\re@DeclareMathSymbol{\phi}{\mathord}{lettersA}{30}
\re@DeclareMathSymbol{\chi}{\mathord}{lettersA}{31}
\re@DeclareMathSymbol{\psi}{\mathord}{lettersA}{32}
\re@DeclareMathSymbol{\omega}{\mathord}{lettersA}{33}
\re@DeclareMathSymbol{\varepsilon}{\mathord}{lettersA}{34}
\re@DeclareMathSymbol{\vartheta}{\mathord}{lettersA}{35}
\re@DeclareMathSymbol{\varpi}{\mathord}{lettersA}{36}
\re@DeclareMathSymbol{\varrho}{\mathord}{lettersA}{37}
\re@DeclareMathSymbol{\varsigma}{\mathord}{lettersA}{38}
\re@DeclareMathSymbol{\varphi}{\mathord}{lettersA}{39}
\makeatother
\begin{document}
What I get: $\theta \bm{\theta}$
What I want: $\uptheta \bm{\uptheta}$
\end{document}
Note that \mathbf{\theta}
won't do any good, only Latin letters are affected by \mathbf
.

You can also define \mathup
and \mathbfup
:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[type1]{libertine}
\usepackage[libertine]{newtxmath}
\usepackage{bm}
\DeclareRobustCommand{\mathup}[1]{\begingroup\changegreek\mathrm{#1}\endgroup}
\DeclareRobustCommand{\mathbfup}[1]{\begingroup\changegreekbf\mathbf{#1}\endgroup}
\makeatletter
\def\changegreek{\@for\next:={%
alpha,beta,gamma,delta,epsilon,zeta,eta,theta,kappa,lambda,mu,nu,xi,pi,rho,sigma,%
tau,upsilon,phi,chi,psi,omega,varepsilon,vartheta,varpi,varrho,varsigma,varphi}%
\do{\expandafter\let\csname\next\expandafter\endcsname\csname\next up\endcsname}}
\def\changegreekbf{\@for\next:={%
alpha,beta,gamma,delta,epsilon,zeta,eta,theta,kappa,lambda,mu,nu,xi,pi,rho,sigma,%
tau,upsilon,phi,chi,psi,omega,varepsilon,vartheta,varpi,varrho,varsigma,varphi}%
\do{\expandafter\def\csname\next\expandafter\endcsname\expandafter{%
\expandafter\bm\expandafter{\csname\next up\endcsname}}}}
\makeatother
\begin{document}
$\mathup{d}\mathup{\theta}d\theta$
$\mathbfup{d}\mathbfup{\theta}\bm{d}\bm{\theta}$
\end{document}

Best Answer
The font used by the
\mathfrak
command can be changed. An easy way to do that is to use themathalpha
package. For example, here's a comparison of the letters "Re" and "Im" in Esstix fraktur with the usual\Re
and\Im
symbols.The symbols do not match perfectly, but certainly better than in your original example. In the documentation of the
mathalpha
package, many fonts are listed, maybe you will find another font you prefer. I think the Mathpi fraktur font might give the same symbols than\Re
and\Im
, but this font is not free.