A sans serif font that blends well with Palatino (and is freely available) is Bera Sans:
\usepackage[scaled=0.86]{berasans}
URLs are often typeset in a monospaced font. Probably anything is better than Courier; I recommend Inconsolata:
\usepackage[scaled=1.03]{inconsolata}
(The specified scale factors will adapt the x-height of the respective font to that of the Palatino.)
EDIT: The Myriad font and its Open Type incarnation Myriad Pro, which are not freely available, are even better sans serif matches for Palatino. The files (excluding the actual font files) necessary to use Myriad with LaTeX can be found here.
I'd go directly to unicode-math:
\documentclass[a4paper]{article}
\usepackage{mathtools} % loads amsmath that should go before unicode-math
\usepackage{unicode-math}
\setmainfont[Numbers=OldStyle]{Palatino Linotype}
\setsansfont{Optima}
\setmonofont{Consolas}
\setmathfont{Asana Math}
Asana Math is based on the MathPaZo fonts.
If you really need brackets and parentheses from the MathPaZo fonts, it's doable:
\DeclareSymbolFont{brackets} {OT1}{zplm}{m}{n}
\SetSymbolFont{brackets}{bold} {OT1}{zplm}{b}{n}
\DeclareSymbolFont{largebrackets} {OMX}{zplm}{m}{n}
\SetSymbolFont{largebrackets}{bold}{OMX}{zplm}{m}{n}
\DeclareMathDelimiter{(}{\mathopen} {brackets}{"28}{largebrackets}{"00}
\DeclareMathDelimiter{)}{\mathclose}{brackets}{"29}{largebrackets}{"01}
\DeclareMathDelimiter{[}{\mathopen} {brackets}{"5B}{largebrackets}{"02}
\DeclareMathDelimiter{]}{\mathclose}{brackets}{"5D}{largebrackets}{"03}
For the Knuth calligraphic font, add
\setmathfont[range={\mathcal,\mathbfcal},StylisticSet=1]{XITS Math}
For a "better" \vDash
symbol, add
\setmathfont[range=\vDash]{XITS Math}
The "not belonging to" symbol should always be specified with \notin
rather than with \not\in
.
Finally, for the AMS blackboard bold:
\DeclareSymbolFont{AMSb}{U}{msb}{m}{n}
\protected\def\mathbb#1{{\mathchar\numexpr256*\symAMSb+`#1\relax}}
Best Answer
I suggest that you not load the
mathpple
,mathpazo
, andupgreek
packages and, instead, load thenewpxtext
andnewpxmath
packages.