How do I use AMS Euler?
% What to do here
begin{document}
This is good integration.
$$displaystyle int x dx = frac{x^2}{2}$$
end{document}
I don't know much about LaTeX so I am going to need some spoon feeding.
I want text to appear in normal font. But math to appear in AMSEuler
Font.
I don't want to make any changes inside the document.
fonts math-mode
|
show 1 more comment
% What to do here
begin{document}
This is good integration.
$$displaystyle int x dx = frac{x^2}{2}$$
end{document}
I don't know much about LaTeX so I am going to need some spoon feeding.
I want text to appear in normal font. But math to appear in AMSEuler
Font.
I don't want to make any changes inside the document.
fonts math-mode
1
Just add the instructionusepackage{euler}
in the document's preamble, i.e., somewhere betweendocumentclass{<your favorite clas>}
andbegin{document}
. Incidentally, the use of$$
to start and end a display-math equation is seriously deprecated; use[
and]
instead.
– Mico
Mar 23 '13 at 21:12
@Mico Worked like a charm! Thanks! Can you make that an answer?
– Pratik Deoghare
Mar 23 '13 at 21:13
What if I wanted to change font of everything to AMSEuler?
– Pratik Deoghare
Mar 23 '13 at 21:15
3
@PratikDeoghare -- the euler fonts were designed expressly for use in math, and have idiosyncrasies that would make them look quite bad for text -- the kerning/letterspacing would be uneven, for one thing. the shapes aren't really "coherent", etc., etc. for use as math variables, every letter must be able to be understood unambiguously in isolation; it doesn't necessarily have to look good in a word, and some of the shapes would tend to "attract too much attention" when outside their natural math element.
– barbara beeton
Mar 23 '13 at 21:22
2
Euler
(orAMSEuler
) is a math font; there's no text font that corresponds directly to it. I've read somewhere that Zapf (the designer of the Euler fonts) likes the look ofPalatino
(another Zapf design!) to go along withEuler
. You could also try theConcrete
font family (useusepackage{concrete}
); the combination of Euler and Concrete was very successful in the book "Concrete Mathematics" by Knuth et al.
– Mico
Mar 23 '13 at 21:23
|
show 1 more comment
% What to do here
begin{document}
This is good integration.
$$displaystyle int x dx = frac{x^2}{2}$$
end{document}
I don't know much about LaTeX so I am going to need some spoon feeding.
I want text to appear in normal font. But math to appear in AMSEuler
Font.
I don't want to make any changes inside the document.
fonts math-mode
% What to do here
begin{document}
This is good integration.
$$displaystyle int x dx = frac{x^2}{2}$$
end{document}
I don't know much about LaTeX so I am going to need some spoon feeding.
I want text to appear in normal font. But math to appear in AMSEuler
Font.
I don't want to make any changes inside the document.
fonts math-mode
fonts math-mode
edited May 27 '13 at 13:56
Mico
275k30373761
275k30373761
asked Mar 23 '13 at 21:09
Pratik DeogharePratik Deoghare
367249
367249
1
Just add the instructionusepackage{euler}
in the document's preamble, i.e., somewhere betweendocumentclass{<your favorite clas>}
andbegin{document}
. Incidentally, the use of$$
to start and end a display-math equation is seriously deprecated; use[
and]
instead.
– Mico
Mar 23 '13 at 21:12
@Mico Worked like a charm! Thanks! Can you make that an answer?
– Pratik Deoghare
Mar 23 '13 at 21:13
What if I wanted to change font of everything to AMSEuler?
– Pratik Deoghare
Mar 23 '13 at 21:15
3
@PratikDeoghare -- the euler fonts were designed expressly for use in math, and have idiosyncrasies that would make them look quite bad for text -- the kerning/letterspacing would be uneven, for one thing. the shapes aren't really "coherent", etc., etc. for use as math variables, every letter must be able to be understood unambiguously in isolation; it doesn't necessarily have to look good in a word, and some of the shapes would tend to "attract too much attention" when outside their natural math element.
– barbara beeton
Mar 23 '13 at 21:22
2
Euler
(orAMSEuler
) is a math font; there's no text font that corresponds directly to it. I've read somewhere that Zapf (the designer of the Euler fonts) likes the look ofPalatino
(another Zapf design!) to go along withEuler
. You could also try theConcrete
font family (useusepackage{concrete}
); the combination of Euler and Concrete was very successful in the book "Concrete Mathematics" by Knuth et al.
– Mico
Mar 23 '13 at 21:23
|
show 1 more comment
1
Just add the instructionusepackage{euler}
in the document's preamble, i.e., somewhere betweendocumentclass{<your favorite clas>}
andbegin{document}
. Incidentally, the use of$$
to start and end a display-math equation is seriously deprecated; use[
and]
instead.
– Mico
Mar 23 '13 at 21:12
@Mico Worked like a charm! Thanks! Can you make that an answer?
– Pratik Deoghare
Mar 23 '13 at 21:13
What if I wanted to change font of everything to AMSEuler?
– Pratik Deoghare
Mar 23 '13 at 21:15
3
@PratikDeoghare -- the euler fonts were designed expressly for use in math, and have idiosyncrasies that would make them look quite bad for text -- the kerning/letterspacing would be uneven, for one thing. the shapes aren't really "coherent", etc., etc. for use as math variables, every letter must be able to be understood unambiguously in isolation; it doesn't necessarily have to look good in a word, and some of the shapes would tend to "attract too much attention" when outside their natural math element.
– barbara beeton
Mar 23 '13 at 21:22
2
Euler
(orAMSEuler
) is a math font; there's no text font that corresponds directly to it. I've read somewhere that Zapf (the designer of the Euler fonts) likes the look ofPalatino
(another Zapf design!) to go along withEuler
. You could also try theConcrete
font family (useusepackage{concrete}
); the combination of Euler and Concrete was very successful in the book "Concrete Mathematics" by Knuth et al.
– Mico
Mar 23 '13 at 21:23
1
1
Just add the instruction
usepackage{euler}
in the document's preamble, i.e., somewhere between documentclass{<your favorite clas>}
and begin{document}
. Incidentally, the use of $$
to start and end a display-math equation is seriously deprecated; use [
and ]
instead.– Mico
Mar 23 '13 at 21:12
Just add the instruction
usepackage{euler}
in the document's preamble, i.e., somewhere between documentclass{<your favorite clas>}
and begin{document}
. Incidentally, the use of $$
to start and end a display-math equation is seriously deprecated; use [
and ]
instead.– Mico
Mar 23 '13 at 21:12
@Mico Worked like a charm! Thanks! Can you make that an answer?
– Pratik Deoghare
Mar 23 '13 at 21:13
@Mico Worked like a charm! Thanks! Can you make that an answer?
– Pratik Deoghare
Mar 23 '13 at 21:13
What if I wanted to change font of everything to AMSEuler?
– Pratik Deoghare
Mar 23 '13 at 21:15
What if I wanted to change font of everything to AMSEuler?
– Pratik Deoghare
Mar 23 '13 at 21:15
3
3
@PratikDeoghare -- the euler fonts were designed expressly for use in math, and have idiosyncrasies that would make them look quite bad for text -- the kerning/letterspacing would be uneven, for one thing. the shapes aren't really "coherent", etc., etc. for use as math variables, every letter must be able to be understood unambiguously in isolation; it doesn't necessarily have to look good in a word, and some of the shapes would tend to "attract too much attention" when outside their natural math element.
– barbara beeton
Mar 23 '13 at 21:22
@PratikDeoghare -- the euler fonts were designed expressly for use in math, and have idiosyncrasies that would make them look quite bad for text -- the kerning/letterspacing would be uneven, for one thing. the shapes aren't really "coherent", etc., etc. for use as math variables, every letter must be able to be understood unambiguously in isolation; it doesn't necessarily have to look good in a word, and some of the shapes would tend to "attract too much attention" when outside their natural math element.
– barbara beeton
Mar 23 '13 at 21:22
2
2
Euler
(or AMSEuler
) is a math font; there's no text font that corresponds directly to it. I've read somewhere that Zapf (the designer of the Euler fonts) likes the look of Palatino
(another Zapf design!) to go along with Euler
. You could also try the Concrete
font family (use usepackage{concrete}
); the combination of Euler and Concrete was very successful in the book "Concrete Mathematics" by Knuth et al.– Mico
Mar 23 '13 at 21:23
Euler
(or AMSEuler
) is a math font; there's no text font that corresponds directly to it. I've read somewhere that Zapf (the designer of the Euler fonts) likes the look of Palatino
(another Zapf design!) to go along with Euler
. You could also try the Concrete
font family (use usepackage{concrete}
); the combination of Euler and Concrete was very successful in the book "Concrete Mathematics" by Knuth et al.– Mico
Mar 23 '13 at 21:23
|
show 1 more comment
2 Answers
2
active
oldest
votes
Just add either usepackage{euler}
or usepackage{eulervm}
to your document's preamble:
documentclass{article}
usepackage{euler}
begin{document}
This is good integration.
[
int x ,dx = frac{x^2}{2}+c
]
end{document}
The eulervm
package includes many revisions by Zapf to the original Euler fonts. If you use the eulervm
package, you will probably want to load it with the options euler-digits
and euler-hat-accent
, i.e., as
usepackage[euler-digits,euler-hat-accent]{eulervm}
Incidentally, the use of $$ ... $$
to generate display-math equations is heavily deprecated; it's much better to use [
and ]
, as I do in the example above. For much more on this subject, please see the postings Why is [ ... ]
preferable to $$
and What are the differences between $$
, [
, align, equation and displaymath?
Addendum: There is no text font that's matched perfectly to AMS Euler
. If you provide the directive usepackage{concrete}
in the preamble, you'll get the "Concrete" text font family. Concrete and Euler were used together (very successfully, I'd say) in the textbook "Concrete Mathematics" by Graham, Knuth, and Patashnik. However, be forewarned that this is a "raster font" and thus won't look very good on screen. If the font is generated at 600 dpi, it'll look just fine in print; it's only the on-screen look that will likely disappoint. Other text fonts that are known to work well with AMS Euler
are Palatino
, Aldus
, and Melior
-- all are, perhaps not coincidentally, creations of Hermann Zapf, the designer of the AMS Euler
fonts. To set Palatino
as the text font of your document, you could, e.g., issue the command usepackage{newpxtext}
.
1
Why is $$ deprecated?
– Pratik Deoghare
Mar 23 '13 at 21:28
I'd useeulervm
rather thaneuler
– egreg
Mar 23 '13 at 21:31
@egreg - thanks for this suggestion; I've incorporated it in my answer.
– Mico
Mar 23 '13 at 21:38
@PratikDeoghare - I've added a reference to an earlier Q&A that addresses just this topic.
– Mico
Mar 23 '13 at 21:39
Follow-up:eulerpx
is a nice combination of Euler andnewpxmath
that goes well with Palatino (newpxtext
ortgpagella
) or Optima (classico
).
– Davislor
Jul 27 '18 at 1:16
add a comment |
Euler in Modern Toolchains
Today, there exists an OpenType edition of Euler, Neo Euler, by Khaled Hosny. However, it was abandoned in 2011. If you download Neo Euler from its GitHub page, it is possible to use with either LuaLaTeX or XeLaTeX, but there are a few gotchas.
This is lengthy because I give many complex examples that you can cut and paste into your preamble. They should just about cover all the use cases I’ve ever heard anyone recommend.
The Classic Look
Neo Euler, like AMS Euler, contains only glyphs for upright math. To get the classic look of the euler
and eulervm
packages, or the book Concrete Mathematics, you’ll want to set the unicode-math
option math-style=upright
.
Then, you want to load only the glyphs Neo Euler provides, with a fallback math font for the rest. Here, I use Khaled Hosny’s newer math font, Libertinus Math. It shows some influence from Euler, especially in its integrals. Finally, make sure to load the Greek letters as the upright math alphabet, since unicode-math
expects lowercase Greek letters to be slanted. It sets up the other alphabets the euler
package does, including Euler Script as both mathcal
and mathscr
, but not all the alphabets unicode-math
supports. Legacy documents should still compile with this preamble.
For the text font, this sets up the Computer Modern Unicode version of Concrete. (Note that the CMU Concrete Bold font is a recent addition. DEK did not create a bold face for Concrete Roman, and used Computer Modern Roman Bold Extended in Concrete Mathematics instead. The beton
documentation traditionally recommended Computer Modern Sans Serif Demibold Condensed. Today, you might try Gill Sans/Gillius ADF and see if you like it.)
documentclass{article}
pagestyle{empty}
usepackage{amsmath}
DeclareMathOperatorRes{Res}
newcommand*diff{mathop{}!mathup{d}}
usepackage{amsthm}
newtheorem{theorem}{Theorem}
usepackage{unicode-math}
%%%
% Set up you text and math fonts
%%%
unimathsetup{math-style=upright}
setmainfont{CMU Concrete}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Libertinus Math}
setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range=up/{latin,Latin,num}, script-features={}, sscript-features={}
]{Neo Euler}
begin{document}
begin{theorem}[Residue theorem]
Let $f$ be analytic in the region $G$ except for the isolated
singularities $a_1,a_2,dots,a_m$. If $gamma$ is a closed
rectifiable curve in $G$ which does not pass through any of the
points $a_k$ and if $gammaapprox 0$ in $G$, then
[
frac{1}{2symup{pi i}} intlimits_gamma fBigl(x^{mathbf{N}inmathbb{C}^{Ntimes 10}}Bigr)
= sum_{k=1}^m n(gamma;a_k)Res(f;a_k),.
]
end{theorem}
begin{theorem}[Maximum modulus]
Let $G$ be a bounded open set in $BbbC$ and suppose that $f$ is a
continuous function on $G^-$ which is analytic in $G$. Then
[
max{, |f(z)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
]
end{theorem}
First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
[
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
]
end{document}
This is a variant of the classic “Survey of Free Math Fonts for TeX and LaTeX.”
Extending to ISO Style with Concrete
If you want to get the full range of math alphabets, you would need to kitbash the Euler math font with others to supply the missing glyphs. Here is a version that selects ISO style (upright sum and product symbols, constants π and i, and numerals; Italic Γ function and variables), retains the upright ∂ from Neo Euler, keeps all the math alphabets that exist in Neo Euler (except the digits, which ought to match the text font and have bad spacing as superscripts anyway), and supplies the missing pieces of it
, bf
, bfup
and bfit
from the CMU Concrete family.
unimathsetup{math-style=ISO, partial=upright, nabla=upright}
setmainfont{CMU Concrete}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Libertinus Math}
setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range=up/{latin,Latin,num}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range=up/num]{CMU Concrete}
setmathfont[range=it/{latin,Latin,greek,Greek}]{CMU Concrete Italic}
setmathfont[range=bfup/{Greek}]{CMU Concrete Bold}
setmathfont[range=bfit/{latin,Latin,greek,Greek}]{CMU Concrete Bold Italic}
Euler plus Palatino (My Personal Favorite)
Here is the version that, after a lot of trial and error, I like the best.
Another common recommendation, including in the earlier answer, is to combine Euler math symbols with Palatino text. It sets the text font to Palatino, or one of its many clones, in this case Pagella (although you might have the original Palatino or Palatino Linotype). It then fills in all the missing parts of Neo Euler with another Palatino clone, Asana Math. It sets up mathcal
as Euler Script, mathbfcal
from the alternate style of Asana, mathbb
from Latin Modern Math (more legible and more similar to classic amsfonts
), digits from Asana (as these need to match the main text) and all other symbols not defined in Euler from Asana.
We now have complete coverage of all Unicode math symbols, which allows us to set this example in ISO style. This uses italic math letters as the default, including uppercase Greek such as the Gamma function, but leaves symbols such as ∑ and ∏ intact and sets constants such as 2πi in the denominator as upright. (Observe that unicode-math
is smart enough to set symup{pi i}
as Euler and mathrm
and operator names in the text font.) It keeps the upright partial derivative and nabla, as Euler does not define cursive forms.
You can change back to math-style=upright
to get a more classic look that still allows you to use all the math alphabets.
unimathsetup{math-style=ISO, partial=upright, nabla=upright}
setmainfont{TeX Gyre Pagella}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Asana Math}
setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range=up/{latin,Latin}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range={bfup/{latin, Latin, greek, Greek}, frak, bffrak, cal},
script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range={up/num, bfup/num, it, bfit, scr, bfscr,
sfup, sfit, bfsfup, bfsfit, tt}
]{Asana Math}
setmathfont[range=bfcal, Scale=MatchUppercase, Alternate]{Asana Math}
setmathfont[range=bb, Scale=MatchUppercase]{Latin Modern Math}
Euler Symbols, Palatino Letters
This alternative uses use only the math symbols from Neo Euler and overwrite all its math alphabets, for the most consistency between text and math modes.
unimathsetup{math-style=ISO, partial=upright, nabla=upright}
setmainfont{TeX Gyre Pagella}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Asana Math}
setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
setmathfont[range={up/{latin, Latin, greek, Greek, num},
it, bfup, bfit, bb, bbit, scr, bfscr, frak, bffrak,
sfup, sfit, bfsfup, bfsfit, tt }
]{Asana Math}
setmathfont[Alternate, range={cal, bfcal}]{Asana Math}
Backward-Compatiblity with PDFTeX
If you cannot use unicode-math
, it is still possible to get Type 1 fonts, bold math symbols, upright Greek, and more. Here is a sample:
documentclass{article}
pagestyle{empty}
usepackage{amsmath}
DeclareMathOperatorRes{Res}
newcommand*diff{mathop{}!mathrm{d}}
usepackage{amsthm}
newtheorem{theorem}{Theorem}
%%%
% Set up you text and math fonts
%%%
usepackage[T1]{fontenc}
usepackage{textcomp}
usepackage[utf8]{inputenc}
usepackage{amssymb}
usepackage{ccfonts}
usepackage{eucal}
usepackage{eufrak}
usepackage{eulervm}
newcommandBbbC{ensuremath{mathbb{C}}}
DeclareSymbolFont{eulerup}{U}{zeur}{m}{n}
DeclareMathSymbol{uppi}{mathord}{eulerup}{"19}
DeclareMathSymbol{upi}{mathord}{eulerup}{"69}
begin{document}
begin{theorem}[Residue theorem]
Let $f$ be analytic in the region $G$ except for the isolated
singularities $a_1,a_2,dots,a_m$. If $gamma$ is a closed
rectifiable curve in $G$ which does not pass through any of the
points $a_k$ and if $gammaapprox 0$ in $G$, then
[
frac{1}{2 uppi upi} intlimits_gamma fBigl(x^{mathbold{N}inmathbb{C}^{Ntimes 10}}Bigr)
= sum_{k=1}^m n(gamma;a_k)Res(f;a_k),.
]
end{theorem}
begin{theorem}[Maximum modulus]
Let $G$ be a bounded open set in $BbbC$ and suppose that $f$ is a
continuous function on $G^-$ which is analytic in $G$. Then
[
max{, |f(z)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
]
end{theorem}
First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
[
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
]
end{document}
Note that mathrm
selects the text font and mathbf
doesn’t work, so I instead define uppi
and upi
(mathnormal
would work until you changed the math font to something other than Euler, whereas these select upright Greek letters from Euler in any document) and use the mathbold
command from eulervm
.
Euler Plus Palatino with NFSS
The popular combination of AMS Euler with Palatino (or one of its clones) is also available as a NFSS package, backward-compatible with PDFLaTeX. It was last updated in 2017, years more recently than any of the other packages I’ve shown off. This uses the math letters from Euler, but symbols from newpx
(on which the Asana Math font is also based), and uses the digits from the text font, which I set to Pagella. It’s similar to the Pagella/Neo Euler/Asana Math sample above, if you pass the math-style=upright
option to unicode-math
.
The package does not load the Euler calligraphic or Fraktur math alphabets, so I set those up afterward. If you want to add matching sans-serif and monospaced fonts, Optima (URW Classico) and Inconsolata might be good choices available for NFSS.
documentclass{article}
pagestyle{empty}
usepackage{amsmath}
DeclareMathOperatorRes{Res}
newcommand*diff{mathop{}!mathrm{d}}
usepackage{amsthm}
newtheorem{theorem}{Theorem}
%%%
% Set up you text and math fonts
%%%
usepackage[T1]{fontenc}
usepackage{textcomp}
usepackage[utf8]{inputenc} % The default since 2018.
usepackage{tgpagella}
usepackage{eulerpx}
usepackage{eucal}
usepackage{eufrak}
newcommandBbbC{ensuremath{mathbb{C}}}
DeclareSymbolFont{eulerup}{U}{zeur}{m}{n}
DeclareMathSymbol{uppi}{mathalpha}{eulerup}{"19}
DeclareMathSymbol{upi}{mathalpha}{eulerup}{"69}
begin{document}
begin{theorem}[Residue theorem]
Let $f$ be analytic in the region $G$ except for the isolated
singularities $a_1,a_2,dots,a_m$. If $gamma$ is a closed
rectifiable curve in $G$ which does not pass through any of the
points $a_k$ and if $gammaapprox 0$ in $G$, then
[
frac{1}{2 uppi upi} intlimits_gamma fBigl(x^{mathbf{N}inmathbb{C}^{Ntimes 10}}Bigr)
= sum_{k=1}^m n(gamma;a_k)Res(f;a_k),.
]
end{theorem}
begin{theorem}[Maximum modulus]
Let $G$ be a bounded open set in $BbbC$ and suppose that $f$ is a
continuous function on $G^-$ which is analytic in $G$. Then
[
max{, |f(z)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
]
end{theorem}
First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
[
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
]
end{document}
There are a few oddities here, such as the spacing of ∊ and ℂ, but it’s a simple and attractive setup.
apologies because my intent was to actually refer tooint_{partial Q} f'
... I hope I didn't cause an unneeded roolback. To my eyes thepartial
fromoint_{partial Q} f'
is really far from theQ
and close to the integral signs in all OpenType samples, but looks good in the PDFTeX one...
– jfbu
Apr 11 '18 at 8:02
@jfbu No, you didn’t. I was trying to get thesymup{pi i}
to display assymup
rather thanmathrm
, and then I realized I’d replaced the wrong example by mistake. In fact, you did me a favor by making me double-check. Fixed now.
– Davislor
Apr 11 '18 at 8:05
1
thanks for all your efforts. Regarding rasterizer I have had in the past similar experience with dvipng (I recall with libertine 8bit font) compared to pdf (from dvipdfmx). Strange offsets in letter locations sometimes in the png graphics.
– jfbu
Apr 11 '18 at 10:01
1
@thymaro You might have a look at tex.stackexchange.com/questions/425098/…
– Davislor
May 17 '18 at 15:26
1
@Davislor so you mean that between Apr 11 (2018-04-11), not much has changed?! Total mindblow!!!eleven!! :'D No seriously, you're right, I just misread the date. Thanks for the explanations and the link (apparently, I already bookmarked that question at an earlier date). I'll look into all of that.
– thymaro
May 18 '18 at 10:00
|
show 4 more comments
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "85"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f103983%2fhow-do-i-use-ams-euler%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Just add either usepackage{euler}
or usepackage{eulervm}
to your document's preamble:
documentclass{article}
usepackage{euler}
begin{document}
This is good integration.
[
int x ,dx = frac{x^2}{2}+c
]
end{document}
The eulervm
package includes many revisions by Zapf to the original Euler fonts. If you use the eulervm
package, you will probably want to load it with the options euler-digits
and euler-hat-accent
, i.e., as
usepackage[euler-digits,euler-hat-accent]{eulervm}
Incidentally, the use of $$ ... $$
to generate display-math equations is heavily deprecated; it's much better to use [
and ]
, as I do in the example above. For much more on this subject, please see the postings Why is [ ... ]
preferable to $$
and What are the differences between $$
, [
, align, equation and displaymath?
Addendum: There is no text font that's matched perfectly to AMS Euler
. If you provide the directive usepackage{concrete}
in the preamble, you'll get the "Concrete" text font family. Concrete and Euler were used together (very successfully, I'd say) in the textbook "Concrete Mathematics" by Graham, Knuth, and Patashnik. However, be forewarned that this is a "raster font" and thus won't look very good on screen. If the font is generated at 600 dpi, it'll look just fine in print; it's only the on-screen look that will likely disappoint. Other text fonts that are known to work well with AMS Euler
are Palatino
, Aldus
, and Melior
-- all are, perhaps not coincidentally, creations of Hermann Zapf, the designer of the AMS Euler
fonts. To set Palatino
as the text font of your document, you could, e.g., issue the command usepackage{newpxtext}
.
1
Why is $$ deprecated?
– Pratik Deoghare
Mar 23 '13 at 21:28
I'd useeulervm
rather thaneuler
– egreg
Mar 23 '13 at 21:31
@egreg - thanks for this suggestion; I've incorporated it in my answer.
– Mico
Mar 23 '13 at 21:38
@PratikDeoghare - I've added a reference to an earlier Q&A that addresses just this topic.
– Mico
Mar 23 '13 at 21:39
Follow-up:eulerpx
is a nice combination of Euler andnewpxmath
that goes well with Palatino (newpxtext
ortgpagella
) or Optima (classico
).
– Davislor
Jul 27 '18 at 1:16
add a comment |
Just add either usepackage{euler}
or usepackage{eulervm}
to your document's preamble:
documentclass{article}
usepackage{euler}
begin{document}
This is good integration.
[
int x ,dx = frac{x^2}{2}+c
]
end{document}
The eulervm
package includes many revisions by Zapf to the original Euler fonts. If you use the eulervm
package, you will probably want to load it with the options euler-digits
and euler-hat-accent
, i.e., as
usepackage[euler-digits,euler-hat-accent]{eulervm}
Incidentally, the use of $$ ... $$
to generate display-math equations is heavily deprecated; it's much better to use [
and ]
, as I do in the example above. For much more on this subject, please see the postings Why is [ ... ]
preferable to $$
and What are the differences between $$
, [
, align, equation and displaymath?
Addendum: There is no text font that's matched perfectly to AMS Euler
. If you provide the directive usepackage{concrete}
in the preamble, you'll get the "Concrete" text font family. Concrete and Euler were used together (very successfully, I'd say) in the textbook "Concrete Mathematics" by Graham, Knuth, and Patashnik. However, be forewarned that this is a "raster font" and thus won't look very good on screen. If the font is generated at 600 dpi, it'll look just fine in print; it's only the on-screen look that will likely disappoint. Other text fonts that are known to work well with AMS Euler
are Palatino
, Aldus
, and Melior
-- all are, perhaps not coincidentally, creations of Hermann Zapf, the designer of the AMS Euler
fonts. To set Palatino
as the text font of your document, you could, e.g., issue the command usepackage{newpxtext}
.
1
Why is $$ deprecated?
– Pratik Deoghare
Mar 23 '13 at 21:28
I'd useeulervm
rather thaneuler
– egreg
Mar 23 '13 at 21:31
@egreg - thanks for this suggestion; I've incorporated it in my answer.
– Mico
Mar 23 '13 at 21:38
@PratikDeoghare - I've added a reference to an earlier Q&A that addresses just this topic.
– Mico
Mar 23 '13 at 21:39
Follow-up:eulerpx
is a nice combination of Euler andnewpxmath
that goes well with Palatino (newpxtext
ortgpagella
) or Optima (classico
).
– Davislor
Jul 27 '18 at 1:16
add a comment |
Just add either usepackage{euler}
or usepackage{eulervm}
to your document's preamble:
documentclass{article}
usepackage{euler}
begin{document}
This is good integration.
[
int x ,dx = frac{x^2}{2}+c
]
end{document}
The eulervm
package includes many revisions by Zapf to the original Euler fonts. If you use the eulervm
package, you will probably want to load it with the options euler-digits
and euler-hat-accent
, i.e., as
usepackage[euler-digits,euler-hat-accent]{eulervm}
Incidentally, the use of $$ ... $$
to generate display-math equations is heavily deprecated; it's much better to use [
and ]
, as I do in the example above. For much more on this subject, please see the postings Why is [ ... ]
preferable to $$
and What are the differences between $$
, [
, align, equation and displaymath?
Addendum: There is no text font that's matched perfectly to AMS Euler
. If you provide the directive usepackage{concrete}
in the preamble, you'll get the "Concrete" text font family. Concrete and Euler were used together (very successfully, I'd say) in the textbook "Concrete Mathematics" by Graham, Knuth, and Patashnik. However, be forewarned that this is a "raster font" and thus won't look very good on screen. If the font is generated at 600 dpi, it'll look just fine in print; it's only the on-screen look that will likely disappoint. Other text fonts that are known to work well with AMS Euler
are Palatino
, Aldus
, and Melior
-- all are, perhaps not coincidentally, creations of Hermann Zapf, the designer of the AMS Euler
fonts. To set Palatino
as the text font of your document, you could, e.g., issue the command usepackage{newpxtext}
.
Just add either usepackage{euler}
or usepackage{eulervm}
to your document's preamble:
documentclass{article}
usepackage{euler}
begin{document}
This is good integration.
[
int x ,dx = frac{x^2}{2}+c
]
end{document}
The eulervm
package includes many revisions by Zapf to the original Euler fonts. If you use the eulervm
package, you will probably want to load it with the options euler-digits
and euler-hat-accent
, i.e., as
usepackage[euler-digits,euler-hat-accent]{eulervm}
Incidentally, the use of $$ ... $$
to generate display-math equations is heavily deprecated; it's much better to use [
and ]
, as I do in the example above. For much more on this subject, please see the postings Why is [ ... ]
preferable to $$
and What are the differences between $$
, [
, align, equation and displaymath?
Addendum: There is no text font that's matched perfectly to AMS Euler
. If you provide the directive usepackage{concrete}
in the preamble, you'll get the "Concrete" text font family. Concrete and Euler were used together (very successfully, I'd say) in the textbook "Concrete Mathematics" by Graham, Knuth, and Patashnik. However, be forewarned that this is a "raster font" and thus won't look very good on screen. If the font is generated at 600 dpi, it'll look just fine in print; it's only the on-screen look that will likely disappoint. Other text fonts that are known to work well with AMS Euler
are Palatino
, Aldus
, and Melior
-- all are, perhaps not coincidentally, creations of Hermann Zapf, the designer of the AMS Euler
fonts. To set Palatino
as the text font of your document, you could, e.g., issue the command usepackage{newpxtext}
.
edited 1 min ago
answered Mar 23 '13 at 21:26
MicoMico
275k30373761
275k30373761
1
Why is $$ deprecated?
– Pratik Deoghare
Mar 23 '13 at 21:28
I'd useeulervm
rather thaneuler
– egreg
Mar 23 '13 at 21:31
@egreg - thanks for this suggestion; I've incorporated it in my answer.
– Mico
Mar 23 '13 at 21:38
@PratikDeoghare - I've added a reference to an earlier Q&A that addresses just this topic.
– Mico
Mar 23 '13 at 21:39
Follow-up:eulerpx
is a nice combination of Euler andnewpxmath
that goes well with Palatino (newpxtext
ortgpagella
) or Optima (classico
).
– Davislor
Jul 27 '18 at 1:16
add a comment |
1
Why is $$ deprecated?
– Pratik Deoghare
Mar 23 '13 at 21:28
I'd useeulervm
rather thaneuler
– egreg
Mar 23 '13 at 21:31
@egreg - thanks for this suggestion; I've incorporated it in my answer.
– Mico
Mar 23 '13 at 21:38
@PratikDeoghare - I've added a reference to an earlier Q&A that addresses just this topic.
– Mico
Mar 23 '13 at 21:39
Follow-up:eulerpx
is a nice combination of Euler andnewpxmath
that goes well with Palatino (newpxtext
ortgpagella
) or Optima (classico
).
– Davislor
Jul 27 '18 at 1:16
1
1
Why is $$ deprecated?
– Pratik Deoghare
Mar 23 '13 at 21:28
Why is $$ deprecated?
– Pratik Deoghare
Mar 23 '13 at 21:28
I'd use
eulervm
rather than euler
– egreg
Mar 23 '13 at 21:31
I'd use
eulervm
rather than euler
– egreg
Mar 23 '13 at 21:31
@egreg - thanks for this suggestion; I've incorporated it in my answer.
– Mico
Mar 23 '13 at 21:38
@egreg - thanks for this suggestion; I've incorporated it in my answer.
– Mico
Mar 23 '13 at 21:38
@PratikDeoghare - I've added a reference to an earlier Q&A that addresses just this topic.
– Mico
Mar 23 '13 at 21:39
@PratikDeoghare - I've added a reference to an earlier Q&A that addresses just this topic.
– Mico
Mar 23 '13 at 21:39
Follow-up:
eulerpx
is a nice combination of Euler and newpxmath
that goes well with Palatino (newpxtext
or tgpagella
) or Optima (classico
).– Davislor
Jul 27 '18 at 1:16
Follow-up:
eulerpx
is a nice combination of Euler and newpxmath
that goes well with Palatino (newpxtext
or tgpagella
) or Optima (classico
).– Davislor
Jul 27 '18 at 1:16
add a comment |
Euler in Modern Toolchains
Today, there exists an OpenType edition of Euler, Neo Euler, by Khaled Hosny. However, it was abandoned in 2011. If you download Neo Euler from its GitHub page, it is possible to use with either LuaLaTeX or XeLaTeX, but there are a few gotchas.
This is lengthy because I give many complex examples that you can cut and paste into your preamble. They should just about cover all the use cases I’ve ever heard anyone recommend.
The Classic Look
Neo Euler, like AMS Euler, contains only glyphs for upright math. To get the classic look of the euler
and eulervm
packages, or the book Concrete Mathematics, you’ll want to set the unicode-math
option math-style=upright
.
Then, you want to load only the glyphs Neo Euler provides, with a fallback math font for the rest. Here, I use Khaled Hosny’s newer math font, Libertinus Math. It shows some influence from Euler, especially in its integrals. Finally, make sure to load the Greek letters as the upright math alphabet, since unicode-math
expects lowercase Greek letters to be slanted. It sets up the other alphabets the euler
package does, including Euler Script as both mathcal
and mathscr
, but not all the alphabets unicode-math
supports. Legacy documents should still compile with this preamble.
For the text font, this sets up the Computer Modern Unicode version of Concrete. (Note that the CMU Concrete Bold font is a recent addition. DEK did not create a bold face for Concrete Roman, and used Computer Modern Roman Bold Extended in Concrete Mathematics instead. The beton
documentation traditionally recommended Computer Modern Sans Serif Demibold Condensed. Today, you might try Gill Sans/Gillius ADF and see if you like it.)
documentclass{article}
pagestyle{empty}
usepackage{amsmath}
DeclareMathOperatorRes{Res}
newcommand*diff{mathop{}!mathup{d}}
usepackage{amsthm}
newtheorem{theorem}{Theorem}
usepackage{unicode-math}
%%%
% Set up you text and math fonts
%%%
unimathsetup{math-style=upright}
setmainfont{CMU Concrete}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Libertinus Math}
setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range=up/{latin,Latin,num}, script-features={}, sscript-features={}
]{Neo Euler}
begin{document}
begin{theorem}[Residue theorem]
Let $f$ be analytic in the region $G$ except for the isolated
singularities $a_1,a_2,dots,a_m$. If $gamma$ is a closed
rectifiable curve in $G$ which does not pass through any of the
points $a_k$ and if $gammaapprox 0$ in $G$, then
[
frac{1}{2symup{pi i}} intlimits_gamma fBigl(x^{mathbf{N}inmathbb{C}^{Ntimes 10}}Bigr)
= sum_{k=1}^m n(gamma;a_k)Res(f;a_k),.
]
end{theorem}
begin{theorem}[Maximum modulus]
Let $G$ be a bounded open set in $BbbC$ and suppose that $f$ is a
continuous function on $G^-$ which is analytic in $G$. Then
[
max{, |f(z)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
]
end{theorem}
First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
[
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
]
end{document}
This is a variant of the classic “Survey of Free Math Fonts for TeX and LaTeX.”
Extending to ISO Style with Concrete
If you want to get the full range of math alphabets, you would need to kitbash the Euler math font with others to supply the missing glyphs. Here is a version that selects ISO style (upright sum and product symbols, constants π and i, and numerals; Italic Γ function and variables), retains the upright ∂ from Neo Euler, keeps all the math alphabets that exist in Neo Euler (except the digits, which ought to match the text font and have bad spacing as superscripts anyway), and supplies the missing pieces of it
, bf
, bfup
and bfit
from the CMU Concrete family.
unimathsetup{math-style=ISO, partial=upright, nabla=upright}
setmainfont{CMU Concrete}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Libertinus Math}
setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range=up/{latin,Latin,num}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range=up/num]{CMU Concrete}
setmathfont[range=it/{latin,Latin,greek,Greek}]{CMU Concrete Italic}
setmathfont[range=bfup/{Greek}]{CMU Concrete Bold}
setmathfont[range=bfit/{latin,Latin,greek,Greek}]{CMU Concrete Bold Italic}
Euler plus Palatino (My Personal Favorite)
Here is the version that, after a lot of trial and error, I like the best.
Another common recommendation, including in the earlier answer, is to combine Euler math symbols with Palatino text. It sets the text font to Palatino, or one of its many clones, in this case Pagella (although you might have the original Palatino or Palatino Linotype). It then fills in all the missing parts of Neo Euler with another Palatino clone, Asana Math. It sets up mathcal
as Euler Script, mathbfcal
from the alternate style of Asana, mathbb
from Latin Modern Math (more legible and more similar to classic amsfonts
), digits from Asana (as these need to match the main text) and all other symbols not defined in Euler from Asana.
We now have complete coverage of all Unicode math symbols, which allows us to set this example in ISO style. This uses italic math letters as the default, including uppercase Greek such as the Gamma function, but leaves symbols such as ∑ and ∏ intact and sets constants such as 2πi in the denominator as upright. (Observe that unicode-math
is smart enough to set symup{pi i}
as Euler and mathrm
and operator names in the text font.) It keeps the upright partial derivative and nabla, as Euler does not define cursive forms.
You can change back to math-style=upright
to get a more classic look that still allows you to use all the math alphabets.
unimathsetup{math-style=ISO, partial=upright, nabla=upright}
setmainfont{TeX Gyre Pagella}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Asana Math}
setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range=up/{latin,Latin}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range={bfup/{latin, Latin, greek, Greek}, frak, bffrak, cal},
script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range={up/num, bfup/num, it, bfit, scr, bfscr,
sfup, sfit, bfsfup, bfsfit, tt}
]{Asana Math}
setmathfont[range=bfcal, Scale=MatchUppercase, Alternate]{Asana Math}
setmathfont[range=bb, Scale=MatchUppercase]{Latin Modern Math}
Euler Symbols, Palatino Letters
This alternative uses use only the math symbols from Neo Euler and overwrite all its math alphabets, for the most consistency between text and math modes.
unimathsetup{math-style=ISO, partial=upright, nabla=upright}
setmainfont{TeX Gyre Pagella}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Asana Math}
setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
setmathfont[range={up/{latin, Latin, greek, Greek, num},
it, bfup, bfit, bb, bbit, scr, bfscr, frak, bffrak,
sfup, sfit, bfsfup, bfsfit, tt }
]{Asana Math}
setmathfont[Alternate, range={cal, bfcal}]{Asana Math}
Backward-Compatiblity with PDFTeX
If you cannot use unicode-math
, it is still possible to get Type 1 fonts, bold math symbols, upright Greek, and more. Here is a sample:
documentclass{article}
pagestyle{empty}
usepackage{amsmath}
DeclareMathOperatorRes{Res}
newcommand*diff{mathop{}!mathrm{d}}
usepackage{amsthm}
newtheorem{theorem}{Theorem}
%%%
% Set up you text and math fonts
%%%
usepackage[T1]{fontenc}
usepackage{textcomp}
usepackage[utf8]{inputenc}
usepackage{amssymb}
usepackage{ccfonts}
usepackage{eucal}
usepackage{eufrak}
usepackage{eulervm}
newcommandBbbC{ensuremath{mathbb{C}}}
DeclareSymbolFont{eulerup}{U}{zeur}{m}{n}
DeclareMathSymbol{uppi}{mathord}{eulerup}{"19}
DeclareMathSymbol{upi}{mathord}{eulerup}{"69}
begin{document}
begin{theorem}[Residue theorem]
Let $f$ be analytic in the region $G$ except for the isolated
singularities $a_1,a_2,dots,a_m$. If $gamma$ is a closed
rectifiable curve in $G$ which does not pass through any of the
points $a_k$ and if $gammaapprox 0$ in $G$, then
[
frac{1}{2 uppi upi} intlimits_gamma fBigl(x^{mathbold{N}inmathbb{C}^{Ntimes 10}}Bigr)
= sum_{k=1}^m n(gamma;a_k)Res(f;a_k),.
]
end{theorem}
begin{theorem}[Maximum modulus]
Let $G$ be a bounded open set in $BbbC$ and suppose that $f$ is a
continuous function on $G^-$ which is analytic in $G$. Then
[
max{, |f(z)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
]
end{theorem}
First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
[
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
]
end{document}
Note that mathrm
selects the text font and mathbf
doesn’t work, so I instead define uppi
and upi
(mathnormal
would work until you changed the math font to something other than Euler, whereas these select upright Greek letters from Euler in any document) and use the mathbold
command from eulervm
.
Euler Plus Palatino with NFSS
The popular combination of AMS Euler with Palatino (or one of its clones) is also available as a NFSS package, backward-compatible with PDFLaTeX. It was last updated in 2017, years more recently than any of the other packages I’ve shown off. This uses the math letters from Euler, but symbols from newpx
(on which the Asana Math font is also based), and uses the digits from the text font, which I set to Pagella. It’s similar to the Pagella/Neo Euler/Asana Math sample above, if you pass the math-style=upright
option to unicode-math
.
The package does not load the Euler calligraphic or Fraktur math alphabets, so I set those up afterward. If you want to add matching sans-serif and monospaced fonts, Optima (URW Classico) and Inconsolata might be good choices available for NFSS.
documentclass{article}
pagestyle{empty}
usepackage{amsmath}
DeclareMathOperatorRes{Res}
newcommand*diff{mathop{}!mathrm{d}}
usepackage{amsthm}
newtheorem{theorem}{Theorem}
%%%
% Set up you text and math fonts
%%%
usepackage[T1]{fontenc}
usepackage{textcomp}
usepackage[utf8]{inputenc} % The default since 2018.
usepackage{tgpagella}
usepackage{eulerpx}
usepackage{eucal}
usepackage{eufrak}
newcommandBbbC{ensuremath{mathbb{C}}}
DeclareSymbolFont{eulerup}{U}{zeur}{m}{n}
DeclareMathSymbol{uppi}{mathalpha}{eulerup}{"19}
DeclareMathSymbol{upi}{mathalpha}{eulerup}{"69}
begin{document}
begin{theorem}[Residue theorem]
Let $f$ be analytic in the region $G$ except for the isolated
singularities $a_1,a_2,dots,a_m$. If $gamma$ is a closed
rectifiable curve in $G$ which does not pass through any of the
points $a_k$ and if $gammaapprox 0$ in $G$, then
[
frac{1}{2 uppi upi} intlimits_gamma fBigl(x^{mathbf{N}inmathbb{C}^{Ntimes 10}}Bigr)
= sum_{k=1}^m n(gamma;a_k)Res(f;a_k),.
]
end{theorem}
begin{theorem}[Maximum modulus]
Let $G$ be a bounded open set in $BbbC$ and suppose that $f$ is a
continuous function on $G^-$ which is analytic in $G$. Then
[
max{, |f(z)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
]
end{theorem}
First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
[
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
]
end{document}
There are a few oddities here, such as the spacing of ∊ and ℂ, but it’s a simple and attractive setup.
apologies because my intent was to actually refer tooint_{partial Q} f'
... I hope I didn't cause an unneeded roolback. To my eyes thepartial
fromoint_{partial Q} f'
is really far from theQ
and close to the integral signs in all OpenType samples, but looks good in the PDFTeX one...
– jfbu
Apr 11 '18 at 8:02
@jfbu No, you didn’t. I was trying to get thesymup{pi i}
to display assymup
rather thanmathrm
, and then I realized I’d replaced the wrong example by mistake. In fact, you did me a favor by making me double-check. Fixed now.
– Davislor
Apr 11 '18 at 8:05
1
thanks for all your efforts. Regarding rasterizer I have had in the past similar experience with dvipng (I recall with libertine 8bit font) compared to pdf (from dvipdfmx). Strange offsets in letter locations sometimes in the png graphics.
– jfbu
Apr 11 '18 at 10:01
1
@thymaro You might have a look at tex.stackexchange.com/questions/425098/…
– Davislor
May 17 '18 at 15:26
1
@Davislor so you mean that between Apr 11 (2018-04-11), not much has changed?! Total mindblow!!!eleven!! :'D No seriously, you're right, I just misread the date. Thanks for the explanations and the link (apparently, I already bookmarked that question at an earlier date). I'll look into all of that.
– thymaro
May 18 '18 at 10:00
|
show 4 more comments
Euler in Modern Toolchains
Today, there exists an OpenType edition of Euler, Neo Euler, by Khaled Hosny. However, it was abandoned in 2011. If you download Neo Euler from its GitHub page, it is possible to use with either LuaLaTeX or XeLaTeX, but there are a few gotchas.
This is lengthy because I give many complex examples that you can cut and paste into your preamble. They should just about cover all the use cases I’ve ever heard anyone recommend.
The Classic Look
Neo Euler, like AMS Euler, contains only glyphs for upright math. To get the classic look of the euler
and eulervm
packages, or the book Concrete Mathematics, you’ll want to set the unicode-math
option math-style=upright
.
Then, you want to load only the glyphs Neo Euler provides, with a fallback math font for the rest. Here, I use Khaled Hosny’s newer math font, Libertinus Math. It shows some influence from Euler, especially in its integrals. Finally, make sure to load the Greek letters as the upright math alphabet, since unicode-math
expects lowercase Greek letters to be slanted. It sets up the other alphabets the euler
package does, including Euler Script as both mathcal
and mathscr
, but not all the alphabets unicode-math
supports. Legacy documents should still compile with this preamble.
For the text font, this sets up the Computer Modern Unicode version of Concrete. (Note that the CMU Concrete Bold font is a recent addition. DEK did not create a bold face for Concrete Roman, and used Computer Modern Roman Bold Extended in Concrete Mathematics instead. The beton
documentation traditionally recommended Computer Modern Sans Serif Demibold Condensed. Today, you might try Gill Sans/Gillius ADF and see if you like it.)
documentclass{article}
pagestyle{empty}
usepackage{amsmath}
DeclareMathOperatorRes{Res}
newcommand*diff{mathop{}!mathup{d}}
usepackage{amsthm}
newtheorem{theorem}{Theorem}
usepackage{unicode-math}
%%%
% Set up you text and math fonts
%%%
unimathsetup{math-style=upright}
setmainfont{CMU Concrete}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Libertinus Math}
setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range=up/{latin,Latin,num}, script-features={}, sscript-features={}
]{Neo Euler}
begin{document}
begin{theorem}[Residue theorem]
Let $f$ be analytic in the region $G$ except for the isolated
singularities $a_1,a_2,dots,a_m$. If $gamma$ is a closed
rectifiable curve in $G$ which does not pass through any of the
points $a_k$ and if $gammaapprox 0$ in $G$, then
[
frac{1}{2symup{pi i}} intlimits_gamma fBigl(x^{mathbf{N}inmathbb{C}^{Ntimes 10}}Bigr)
= sum_{k=1}^m n(gamma;a_k)Res(f;a_k),.
]
end{theorem}
begin{theorem}[Maximum modulus]
Let $G$ be a bounded open set in $BbbC$ and suppose that $f$ is a
continuous function on $G^-$ which is analytic in $G$. Then
[
max{, |f(z)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
]
end{theorem}
First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
[
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
]
end{document}
This is a variant of the classic “Survey of Free Math Fonts for TeX and LaTeX.”
Extending to ISO Style with Concrete
If you want to get the full range of math alphabets, you would need to kitbash the Euler math font with others to supply the missing glyphs. Here is a version that selects ISO style (upright sum and product symbols, constants π and i, and numerals; Italic Γ function and variables), retains the upright ∂ from Neo Euler, keeps all the math alphabets that exist in Neo Euler (except the digits, which ought to match the text font and have bad spacing as superscripts anyway), and supplies the missing pieces of it
, bf
, bfup
and bfit
from the CMU Concrete family.
unimathsetup{math-style=ISO, partial=upright, nabla=upright}
setmainfont{CMU Concrete}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Libertinus Math}
setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range=up/{latin,Latin,num}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range=up/num]{CMU Concrete}
setmathfont[range=it/{latin,Latin,greek,Greek}]{CMU Concrete Italic}
setmathfont[range=bfup/{Greek}]{CMU Concrete Bold}
setmathfont[range=bfit/{latin,Latin,greek,Greek}]{CMU Concrete Bold Italic}
Euler plus Palatino (My Personal Favorite)
Here is the version that, after a lot of trial and error, I like the best.
Another common recommendation, including in the earlier answer, is to combine Euler math symbols with Palatino text. It sets the text font to Palatino, or one of its many clones, in this case Pagella (although you might have the original Palatino or Palatino Linotype). It then fills in all the missing parts of Neo Euler with another Palatino clone, Asana Math. It sets up mathcal
as Euler Script, mathbfcal
from the alternate style of Asana, mathbb
from Latin Modern Math (more legible and more similar to classic amsfonts
), digits from Asana (as these need to match the main text) and all other symbols not defined in Euler from Asana.
We now have complete coverage of all Unicode math symbols, which allows us to set this example in ISO style. This uses italic math letters as the default, including uppercase Greek such as the Gamma function, but leaves symbols such as ∑ and ∏ intact and sets constants such as 2πi in the denominator as upright. (Observe that unicode-math
is smart enough to set symup{pi i}
as Euler and mathrm
and operator names in the text font.) It keeps the upright partial derivative and nabla, as Euler does not define cursive forms.
You can change back to math-style=upright
to get a more classic look that still allows you to use all the math alphabets.
unimathsetup{math-style=ISO, partial=upright, nabla=upright}
setmainfont{TeX Gyre Pagella}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Asana Math}
setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range=up/{latin,Latin}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range={bfup/{latin, Latin, greek, Greek}, frak, bffrak, cal},
script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range={up/num, bfup/num, it, bfit, scr, bfscr,
sfup, sfit, bfsfup, bfsfit, tt}
]{Asana Math}
setmathfont[range=bfcal, Scale=MatchUppercase, Alternate]{Asana Math}
setmathfont[range=bb, Scale=MatchUppercase]{Latin Modern Math}
Euler Symbols, Palatino Letters
This alternative uses use only the math symbols from Neo Euler and overwrite all its math alphabets, for the most consistency between text and math modes.
unimathsetup{math-style=ISO, partial=upright, nabla=upright}
setmainfont{TeX Gyre Pagella}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Asana Math}
setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
setmathfont[range={up/{latin, Latin, greek, Greek, num},
it, bfup, bfit, bb, bbit, scr, bfscr, frak, bffrak,
sfup, sfit, bfsfup, bfsfit, tt }
]{Asana Math}
setmathfont[Alternate, range={cal, bfcal}]{Asana Math}
Backward-Compatiblity with PDFTeX
If you cannot use unicode-math
, it is still possible to get Type 1 fonts, bold math symbols, upright Greek, and more. Here is a sample:
documentclass{article}
pagestyle{empty}
usepackage{amsmath}
DeclareMathOperatorRes{Res}
newcommand*diff{mathop{}!mathrm{d}}
usepackage{amsthm}
newtheorem{theorem}{Theorem}
%%%
% Set up you text and math fonts
%%%
usepackage[T1]{fontenc}
usepackage{textcomp}
usepackage[utf8]{inputenc}
usepackage{amssymb}
usepackage{ccfonts}
usepackage{eucal}
usepackage{eufrak}
usepackage{eulervm}
newcommandBbbC{ensuremath{mathbb{C}}}
DeclareSymbolFont{eulerup}{U}{zeur}{m}{n}
DeclareMathSymbol{uppi}{mathord}{eulerup}{"19}
DeclareMathSymbol{upi}{mathord}{eulerup}{"69}
begin{document}
begin{theorem}[Residue theorem]
Let $f$ be analytic in the region $G$ except for the isolated
singularities $a_1,a_2,dots,a_m$. If $gamma$ is a closed
rectifiable curve in $G$ which does not pass through any of the
points $a_k$ and if $gammaapprox 0$ in $G$, then
[
frac{1}{2 uppi upi} intlimits_gamma fBigl(x^{mathbold{N}inmathbb{C}^{Ntimes 10}}Bigr)
= sum_{k=1}^m n(gamma;a_k)Res(f;a_k),.
]
end{theorem}
begin{theorem}[Maximum modulus]
Let $G$ be a bounded open set in $BbbC$ and suppose that $f$ is a
continuous function on $G^-$ which is analytic in $G$. Then
[
max{, |f(z)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
]
end{theorem}
First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
[
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
]
end{document}
Note that mathrm
selects the text font and mathbf
doesn’t work, so I instead define uppi
and upi
(mathnormal
would work until you changed the math font to something other than Euler, whereas these select upright Greek letters from Euler in any document) and use the mathbold
command from eulervm
.
Euler Plus Palatino with NFSS
The popular combination of AMS Euler with Palatino (or one of its clones) is also available as a NFSS package, backward-compatible with PDFLaTeX. It was last updated in 2017, years more recently than any of the other packages I’ve shown off. This uses the math letters from Euler, but symbols from newpx
(on which the Asana Math font is also based), and uses the digits from the text font, which I set to Pagella. It’s similar to the Pagella/Neo Euler/Asana Math sample above, if you pass the math-style=upright
option to unicode-math
.
The package does not load the Euler calligraphic or Fraktur math alphabets, so I set those up afterward. If you want to add matching sans-serif and monospaced fonts, Optima (URW Classico) and Inconsolata might be good choices available for NFSS.
documentclass{article}
pagestyle{empty}
usepackage{amsmath}
DeclareMathOperatorRes{Res}
newcommand*diff{mathop{}!mathrm{d}}
usepackage{amsthm}
newtheorem{theorem}{Theorem}
%%%
% Set up you text and math fonts
%%%
usepackage[T1]{fontenc}
usepackage{textcomp}
usepackage[utf8]{inputenc} % The default since 2018.
usepackage{tgpagella}
usepackage{eulerpx}
usepackage{eucal}
usepackage{eufrak}
newcommandBbbC{ensuremath{mathbb{C}}}
DeclareSymbolFont{eulerup}{U}{zeur}{m}{n}
DeclareMathSymbol{uppi}{mathalpha}{eulerup}{"19}
DeclareMathSymbol{upi}{mathalpha}{eulerup}{"69}
begin{document}
begin{theorem}[Residue theorem]
Let $f$ be analytic in the region $G$ except for the isolated
singularities $a_1,a_2,dots,a_m$. If $gamma$ is a closed
rectifiable curve in $G$ which does not pass through any of the
points $a_k$ and if $gammaapprox 0$ in $G$, then
[
frac{1}{2 uppi upi} intlimits_gamma fBigl(x^{mathbf{N}inmathbb{C}^{Ntimes 10}}Bigr)
= sum_{k=1}^m n(gamma;a_k)Res(f;a_k),.
]
end{theorem}
begin{theorem}[Maximum modulus]
Let $G$ be a bounded open set in $BbbC$ and suppose that $f$ is a
continuous function on $G^-$ which is analytic in $G$. Then
[
max{, |f(z)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
]
end{theorem}
First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
[
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
]
end{document}
There are a few oddities here, such as the spacing of ∊ and ℂ, but it’s a simple and attractive setup.
apologies because my intent was to actually refer tooint_{partial Q} f'
... I hope I didn't cause an unneeded roolback. To my eyes thepartial
fromoint_{partial Q} f'
is really far from theQ
and close to the integral signs in all OpenType samples, but looks good in the PDFTeX one...
– jfbu
Apr 11 '18 at 8:02
@jfbu No, you didn’t. I was trying to get thesymup{pi i}
to display assymup
rather thanmathrm
, and then I realized I’d replaced the wrong example by mistake. In fact, you did me a favor by making me double-check. Fixed now.
– Davislor
Apr 11 '18 at 8:05
1
thanks for all your efforts. Regarding rasterizer I have had in the past similar experience with dvipng (I recall with libertine 8bit font) compared to pdf (from dvipdfmx). Strange offsets in letter locations sometimes in the png graphics.
– jfbu
Apr 11 '18 at 10:01
1
@thymaro You might have a look at tex.stackexchange.com/questions/425098/…
– Davislor
May 17 '18 at 15:26
1
@Davislor so you mean that between Apr 11 (2018-04-11), not much has changed?! Total mindblow!!!eleven!! :'D No seriously, you're right, I just misread the date. Thanks for the explanations and the link (apparently, I already bookmarked that question at an earlier date). I'll look into all of that.
– thymaro
May 18 '18 at 10:00
|
show 4 more comments
Euler in Modern Toolchains
Today, there exists an OpenType edition of Euler, Neo Euler, by Khaled Hosny. However, it was abandoned in 2011. If you download Neo Euler from its GitHub page, it is possible to use with either LuaLaTeX or XeLaTeX, but there are a few gotchas.
This is lengthy because I give many complex examples that you can cut and paste into your preamble. They should just about cover all the use cases I’ve ever heard anyone recommend.
The Classic Look
Neo Euler, like AMS Euler, contains only glyphs for upright math. To get the classic look of the euler
and eulervm
packages, or the book Concrete Mathematics, you’ll want to set the unicode-math
option math-style=upright
.
Then, you want to load only the glyphs Neo Euler provides, with a fallback math font for the rest. Here, I use Khaled Hosny’s newer math font, Libertinus Math. It shows some influence from Euler, especially in its integrals. Finally, make sure to load the Greek letters as the upright math alphabet, since unicode-math
expects lowercase Greek letters to be slanted. It sets up the other alphabets the euler
package does, including Euler Script as both mathcal
and mathscr
, but not all the alphabets unicode-math
supports. Legacy documents should still compile with this preamble.
For the text font, this sets up the Computer Modern Unicode version of Concrete. (Note that the CMU Concrete Bold font is a recent addition. DEK did not create a bold face for Concrete Roman, and used Computer Modern Roman Bold Extended in Concrete Mathematics instead. The beton
documentation traditionally recommended Computer Modern Sans Serif Demibold Condensed. Today, you might try Gill Sans/Gillius ADF and see if you like it.)
documentclass{article}
pagestyle{empty}
usepackage{amsmath}
DeclareMathOperatorRes{Res}
newcommand*diff{mathop{}!mathup{d}}
usepackage{amsthm}
newtheorem{theorem}{Theorem}
usepackage{unicode-math}
%%%
% Set up you text and math fonts
%%%
unimathsetup{math-style=upright}
setmainfont{CMU Concrete}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Libertinus Math}
setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range=up/{latin,Latin,num}, script-features={}, sscript-features={}
]{Neo Euler}
begin{document}
begin{theorem}[Residue theorem]
Let $f$ be analytic in the region $G$ except for the isolated
singularities $a_1,a_2,dots,a_m$. If $gamma$ is a closed
rectifiable curve in $G$ which does not pass through any of the
points $a_k$ and if $gammaapprox 0$ in $G$, then
[
frac{1}{2symup{pi i}} intlimits_gamma fBigl(x^{mathbf{N}inmathbb{C}^{Ntimes 10}}Bigr)
= sum_{k=1}^m n(gamma;a_k)Res(f;a_k),.
]
end{theorem}
begin{theorem}[Maximum modulus]
Let $G$ be a bounded open set in $BbbC$ and suppose that $f$ is a
continuous function on $G^-$ which is analytic in $G$. Then
[
max{, |f(z)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
]
end{theorem}
First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
[
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
]
end{document}
This is a variant of the classic “Survey of Free Math Fonts for TeX and LaTeX.”
Extending to ISO Style with Concrete
If you want to get the full range of math alphabets, you would need to kitbash the Euler math font with others to supply the missing glyphs. Here is a version that selects ISO style (upright sum and product symbols, constants π and i, and numerals; Italic Γ function and variables), retains the upright ∂ from Neo Euler, keeps all the math alphabets that exist in Neo Euler (except the digits, which ought to match the text font and have bad spacing as superscripts anyway), and supplies the missing pieces of it
, bf
, bfup
and bfit
from the CMU Concrete family.
unimathsetup{math-style=ISO, partial=upright, nabla=upright}
setmainfont{CMU Concrete}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Libertinus Math}
setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range=up/{latin,Latin,num}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range=up/num]{CMU Concrete}
setmathfont[range=it/{latin,Latin,greek,Greek}]{CMU Concrete Italic}
setmathfont[range=bfup/{Greek}]{CMU Concrete Bold}
setmathfont[range=bfit/{latin,Latin,greek,Greek}]{CMU Concrete Bold Italic}
Euler plus Palatino (My Personal Favorite)
Here is the version that, after a lot of trial and error, I like the best.
Another common recommendation, including in the earlier answer, is to combine Euler math symbols with Palatino text. It sets the text font to Palatino, or one of its many clones, in this case Pagella (although you might have the original Palatino or Palatino Linotype). It then fills in all the missing parts of Neo Euler with another Palatino clone, Asana Math. It sets up mathcal
as Euler Script, mathbfcal
from the alternate style of Asana, mathbb
from Latin Modern Math (more legible and more similar to classic amsfonts
), digits from Asana (as these need to match the main text) and all other symbols not defined in Euler from Asana.
We now have complete coverage of all Unicode math symbols, which allows us to set this example in ISO style. This uses italic math letters as the default, including uppercase Greek such as the Gamma function, but leaves symbols such as ∑ and ∏ intact and sets constants such as 2πi in the denominator as upright. (Observe that unicode-math
is smart enough to set symup{pi i}
as Euler and mathrm
and operator names in the text font.) It keeps the upright partial derivative and nabla, as Euler does not define cursive forms.
You can change back to math-style=upright
to get a more classic look that still allows you to use all the math alphabets.
unimathsetup{math-style=ISO, partial=upright, nabla=upright}
setmainfont{TeX Gyre Pagella}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Asana Math}
setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range=up/{latin,Latin}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range={bfup/{latin, Latin, greek, Greek}, frak, bffrak, cal},
script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range={up/num, bfup/num, it, bfit, scr, bfscr,
sfup, sfit, bfsfup, bfsfit, tt}
]{Asana Math}
setmathfont[range=bfcal, Scale=MatchUppercase, Alternate]{Asana Math}
setmathfont[range=bb, Scale=MatchUppercase]{Latin Modern Math}
Euler Symbols, Palatino Letters
This alternative uses use only the math symbols from Neo Euler and overwrite all its math alphabets, for the most consistency between text and math modes.
unimathsetup{math-style=ISO, partial=upright, nabla=upright}
setmainfont{TeX Gyre Pagella}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Asana Math}
setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
setmathfont[range={up/{latin, Latin, greek, Greek, num},
it, bfup, bfit, bb, bbit, scr, bfscr, frak, bffrak,
sfup, sfit, bfsfup, bfsfit, tt }
]{Asana Math}
setmathfont[Alternate, range={cal, bfcal}]{Asana Math}
Backward-Compatiblity with PDFTeX
If you cannot use unicode-math
, it is still possible to get Type 1 fonts, bold math symbols, upright Greek, and more. Here is a sample:
documentclass{article}
pagestyle{empty}
usepackage{amsmath}
DeclareMathOperatorRes{Res}
newcommand*diff{mathop{}!mathrm{d}}
usepackage{amsthm}
newtheorem{theorem}{Theorem}
%%%
% Set up you text and math fonts
%%%
usepackage[T1]{fontenc}
usepackage{textcomp}
usepackage[utf8]{inputenc}
usepackage{amssymb}
usepackage{ccfonts}
usepackage{eucal}
usepackage{eufrak}
usepackage{eulervm}
newcommandBbbC{ensuremath{mathbb{C}}}
DeclareSymbolFont{eulerup}{U}{zeur}{m}{n}
DeclareMathSymbol{uppi}{mathord}{eulerup}{"19}
DeclareMathSymbol{upi}{mathord}{eulerup}{"69}
begin{document}
begin{theorem}[Residue theorem]
Let $f$ be analytic in the region $G$ except for the isolated
singularities $a_1,a_2,dots,a_m$. If $gamma$ is a closed
rectifiable curve in $G$ which does not pass through any of the
points $a_k$ and if $gammaapprox 0$ in $G$, then
[
frac{1}{2 uppi upi} intlimits_gamma fBigl(x^{mathbold{N}inmathbb{C}^{Ntimes 10}}Bigr)
= sum_{k=1}^m n(gamma;a_k)Res(f;a_k),.
]
end{theorem}
begin{theorem}[Maximum modulus]
Let $G$ be a bounded open set in $BbbC$ and suppose that $f$ is a
continuous function on $G^-$ which is analytic in $G$. Then
[
max{, |f(z)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
]
end{theorem}
First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
[
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
]
end{document}
Note that mathrm
selects the text font and mathbf
doesn’t work, so I instead define uppi
and upi
(mathnormal
would work until you changed the math font to something other than Euler, whereas these select upright Greek letters from Euler in any document) and use the mathbold
command from eulervm
.
Euler Plus Palatino with NFSS
The popular combination of AMS Euler with Palatino (or one of its clones) is also available as a NFSS package, backward-compatible with PDFLaTeX. It was last updated in 2017, years more recently than any of the other packages I’ve shown off. This uses the math letters from Euler, but symbols from newpx
(on which the Asana Math font is also based), and uses the digits from the text font, which I set to Pagella. It’s similar to the Pagella/Neo Euler/Asana Math sample above, if you pass the math-style=upright
option to unicode-math
.
The package does not load the Euler calligraphic or Fraktur math alphabets, so I set those up afterward. If you want to add matching sans-serif and monospaced fonts, Optima (URW Classico) and Inconsolata might be good choices available for NFSS.
documentclass{article}
pagestyle{empty}
usepackage{amsmath}
DeclareMathOperatorRes{Res}
newcommand*diff{mathop{}!mathrm{d}}
usepackage{amsthm}
newtheorem{theorem}{Theorem}
%%%
% Set up you text and math fonts
%%%
usepackage[T1]{fontenc}
usepackage{textcomp}
usepackage[utf8]{inputenc} % The default since 2018.
usepackage{tgpagella}
usepackage{eulerpx}
usepackage{eucal}
usepackage{eufrak}
newcommandBbbC{ensuremath{mathbb{C}}}
DeclareSymbolFont{eulerup}{U}{zeur}{m}{n}
DeclareMathSymbol{uppi}{mathalpha}{eulerup}{"19}
DeclareMathSymbol{upi}{mathalpha}{eulerup}{"69}
begin{document}
begin{theorem}[Residue theorem]
Let $f$ be analytic in the region $G$ except for the isolated
singularities $a_1,a_2,dots,a_m$. If $gamma$ is a closed
rectifiable curve in $G$ which does not pass through any of the
points $a_k$ and if $gammaapprox 0$ in $G$, then
[
frac{1}{2 uppi upi} intlimits_gamma fBigl(x^{mathbf{N}inmathbb{C}^{Ntimes 10}}Bigr)
= sum_{k=1}^m n(gamma;a_k)Res(f;a_k),.
]
end{theorem}
begin{theorem}[Maximum modulus]
Let $G$ be a bounded open set in $BbbC$ and suppose that $f$ is a
continuous function on $G^-$ which is analytic in $G$. Then
[
max{, |f(z)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
]
end{theorem}
First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
[
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
]
end{document}
There are a few oddities here, such as the spacing of ∊ and ℂ, but it’s a simple and attractive setup.
Euler in Modern Toolchains
Today, there exists an OpenType edition of Euler, Neo Euler, by Khaled Hosny. However, it was abandoned in 2011. If you download Neo Euler from its GitHub page, it is possible to use with either LuaLaTeX or XeLaTeX, but there are a few gotchas.
This is lengthy because I give many complex examples that you can cut and paste into your preamble. They should just about cover all the use cases I’ve ever heard anyone recommend.
The Classic Look
Neo Euler, like AMS Euler, contains only glyphs for upright math. To get the classic look of the euler
and eulervm
packages, or the book Concrete Mathematics, you’ll want to set the unicode-math
option math-style=upright
.
Then, you want to load only the glyphs Neo Euler provides, with a fallback math font for the rest. Here, I use Khaled Hosny’s newer math font, Libertinus Math. It shows some influence from Euler, especially in its integrals. Finally, make sure to load the Greek letters as the upright math alphabet, since unicode-math
expects lowercase Greek letters to be slanted. It sets up the other alphabets the euler
package does, including Euler Script as both mathcal
and mathscr
, but not all the alphabets unicode-math
supports. Legacy documents should still compile with this preamble.
For the text font, this sets up the Computer Modern Unicode version of Concrete. (Note that the CMU Concrete Bold font is a recent addition. DEK did not create a bold face for Concrete Roman, and used Computer Modern Roman Bold Extended in Concrete Mathematics instead. The beton
documentation traditionally recommended Computer Modern Sans Serif Demibold Condensed. Today, you might try Gill Sans/Gillius ADF and see if you like it.)
documentclass{article}
pagestyle{empty}
usepackage{amsmath}
DeclareMathOperatorRes{Res}
newcommand*diff{mathop{}!mathup{d}}
usepackage{amsthm}
newtheorem{theorem}{Theorem}
usepackage{unicode-math}
%%%
% Set up you text and math fonts
%%%
unimathsetup{math-style=upright}
setmainfont{CMU Concrete}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Libertinus Math}
setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range=up/{latin,Latin,num}, script-features={}, sscript-features={}
]{Neo Euler}
begin{document}
begin{theorem}[Residue theorem]
Let $f$ be analytic in the region $G$ except for the isolated
singularities $a_1,a_2,dots,a_m$. If $gamma$ is a closed
rectifiable curve in $G$ which does not pass through any of the
points $a_k$ and if $gammaapprox 0$ in $G$, then
[
frac{1}{2symup{pi i}} intlimits_gamma fBigl(x^{mathbf{N}inmathbb{C}^{Ntimes 10}}Bigr)
= sum_{k=1}^m n(gamma;a_k)Res(f;a_k),.
]
end{theorem}
begin{theorem}[Maximum modulus]
Let $G$ be a bounded open set in $BbbC$ and suppose that $f$ is a
continuous function on $G^-$ which is analytic in $G$. Then
[
max{, |f(z)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
]
end{theorem}
First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
[
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
]
end{document}
This is a variant of the classic “Survey of Free Math Fonts for TeX and LaTeX.”
Extending to ISO Style with Concrete
If you want to get the full range of math alphabets, you would need to kitbash the Euler math font with others to supply the missing glyphs. Here is a version that selects ISO style (upright sum and product symbols, constants π and i, and numerals; Italic Γ function and variables), retains the upright ∂ from Neo Euler, keeps all the math alphabets that exist in Neo Euler (except the digits, which ought to match the text font and have bad spacing as superscripts anyway), and supplies the missing pieces of it
, bf
, bfup
and bfit
from the CMU Concrete family.
unimathsetup{math-style=ISO, partial=upright, nabla=upright}
setmainfont{CMU Concrete}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Libertinus Math}
setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range=up/{latin,Latin,num}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range=up/num]{CMU Concrete}
setmathfont[range=it/{latin,Latin,greek,Greek}]{CMU Concrete Italic}
setmathfont[range=bfup/{Greek}]{CMU Concrete Bold}
setmathfont[range=bfit/{latin,Latin,greek,Greek}]{CMU Concrete Bold Italic}
Euler plus Palatino (My Personal Favorite)
Here is the version that, after a lot of trial and error, I like the best.
Another common recommendation, including in the earlier answer, is to combine Euler math symbols with Palatino text. It sets the text font to Palatino, or one of its many clones, in this case Pagella (although you might have the original Palatino or Palatino Linotype). It then fills in all the missing parts of Neo Euler with another Palatino clone, Asana Math. It sets up mathcal
as Euler Script, mathbfcal
from the alternate style of Asana, mathbb
from Latin Modern Math (more legible and more similar to classic amsfonts
), digits from Asana (as these need to match the main text) and all other symbols not defined in Euler from Asana.
We now have complete coverage of all Unicode math symbols, which allows us to set this example in ISO style. This uses italic math letters as the default, including uppercase Greek such as the Gamma function, but leaves symbols such as ∑ and ∏ intact and sets constants such as 2πi in the denominator as upright. (Observe that unicode-math
is smart enough to set symup{pi i}
as Euler and mathrm
and operator names in the text font.) It keeps the upright partial derivative and nabla, as Euler does not define cursive forms.
You can change back to math-style=upright
to get a more classic look that still allows you to use all the math alphabets.
unimathsetup{math-style=ISO, partial=upright, nabla=upright}
setmainfont{TeX Gyre Pagella}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Asana Math}
setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
setmathfont[range=up/{greek,Greek}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range=up/{latin,Latin}, script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range={bfup/{latin, Latin, greek, Greek}, frak, bffrak, cal},
script-features={}, sscript-features={}
]{Neo Euler}
setmathfont[range={up/num, bfup/num, it, bfit, scr, bfscr,
sfup, sfit, bfsfup, bfsfit, tt}
]{Asana Math}
setmathfont[range=bfcal, Scale=MatchUppercase, Alternate]{Asana Math}
setmathfont[range=bb, Scale=MatchUppercase]{Latin Modern Math}
Euler Symbols, Palatino Letters
This alternative uses use only the math symbols from Neo Euler and overwrite all its math alphabets, for the most consistency between text and math modes.
unimathsetup{math-style=ISO, partial=upright, nabla=upright}
setmainfont{TeX Gyre Pagella}
defaultfontfeatures{Scale=MatchLowercase}
setmathfont{Asana Math}
setmathfont[range={"0000-"0001,"0020-"007E,
"00A0,"00A7-"00A8,"00AC,"00AF,"00B1,"00B4-"00B5,"00B7,
"00D7,"00F7,
"0131,
"0237,"02C6-"02C7,"02D8-"02DA,"02DC,
"0300-"030C,"030F,"0311,"0323-"0325,"032E-"0332,"0338,
"0391-"0393,"0395-"03A1,"03A3-"03A8,"03B1-"03BB,
"03BD-"03C1,"03C3-"03C9,"03D1,"03D5-"03D6,"03F5,
"2016,"2018-"2019,"2021,"2026-"202C,"2032-"2037,"2044,
"2057,"20D6-"20D7,"20DB-"20DD,"20E1,"20EE-"20EF,
"210B-"210C,"210E-"2113,"2118,"211B-"211C,"2126-"2128,
"212C-"212D,"2130-"2131,"2133,"2135,"2190-"2199,
"21A4,"21A6,"21A9-"21AA,"21BC-"21CC,"21D0-"21D5,
"2200,"2202-"2209,"220B-"220C,"220F-"2213,"2215-"221E,
"2223,"2225,"2227-"222E,"2234-"2235,"2237-"223D,
"2240-"224C,"2260-"2269,"226E-"2279,"2282-"228B,"228E,
"2291-"2292,"2295-"2299,"22A2-"22A5,"22C0-"22C5,
"22DC-"22DD,"22EF,"22F0-"22F1,
"2308-"230B,"2320-"2321,"2329-"232A,"239B-"23AE,
"23DC-"23DF,
"27E8-"27E9,"27F5-"27FE,"2A0C,"2B1A,
"1D400-"1D433,"1D49C,"1D49E-"1D49F,"1D4A2,"1D4A5-"1D4A6,
"1D4A9-"1D4AC,"1D4AE-"1D4B5,"1D4D0-"1D4E9,"1D504-"1D505,
"1D507-"1D50A,"1D50D-"1D514,"1D516-"1D51C,"1D51E-"1D537,
"1D56C-"1D59F,"1D6A8-"1D6B8,"1D6BA-"1D6D2,"1D6D4-"1D6DD,
"1D6DF,"1D6E1,"1D7CE-"1D7D7
}]{Neo Euler}
setmathfont[range={up/{latin, Latin, greek, Greek, num},
it, bfup, bfit, bb, bbit, scr, bfscr, frak, bffrak,
sfup, sfit, bfsfup, bfsfit, tt }
]{Asana Math}
setmathfont[Alternate, range={cal, bfcal}]{Asana Math}
Backward-Compatiblity with PDFTeX
If you cannot use unicode-math
, it is still possible to get Type 1 fonts, bold math symbols, upright Greek, and more. Here is a sample:
documentclass{article}
pagestyle{empty}
usepackage{amsmath}
DeclareMathOperatorRes{Res}
newcommand*diff{mathop{}!mathrm{d}}
usepackage{amsthm}
newtheorem{theorem}{Theorem}
%%%
% Set up you text and math fonts
%%%
usepackage[T1]{fontenc}
usepackage{textcomp}
usepackage[utf8]{inputenc}
usepackage{amssymb}
usepackage{ccfonts}
usepackage{eucal}
usepackage{eufrak}
usepackage{eulervm}
newcommandBbbC{ensuremath{mathbb{C}}}
DeclareSymbolFont{eulerup}{U}{zeur}{m}{n}
DeclareMathSymbol{uppi}{mathord}{eulerup}{"19}
DeclareMathSymbol{upi}{mathord}{eulerup}{"69}
begin{document}
begin{theorem}[Residue theorem]
Let $f$ be analytic in the region $G$ except for the isolated
singularities $a_1,a_2,dots,a_m$. If $gamma$ is a closed
rectifiable curve in $G$ which does not pass through any of the
points $a_k$ and if $gammaapprox 0$ in $G$, then
[
frac{1}{2 uppi upi} intlimits_gamma fBigl(x^{mathbold{N}inmathbb{C}^{Ntimes 10}}Bigr)
= sum_{k=1}^m n(gamma;a_k)Res(f;a_k),.
]
end{theorem}
begin{theorem}[Maximum modulus]
Let $G$ be a bounded open set in $BbbC$ and suppose that $f$ is a
continuous function on $G^-$ which is analytic in $G$. Then
[
max{, |f(z)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
]
end{theorem}
First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
[
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
]
end{document}
Note that mathrm
selects the text font and mathbf
doesn’t work, so I instead define uppi
and upi
(mathnormal
would work until you changed the math font to something other than Euler, whereas these select upright Greek letters from Euler in any document) and use the mathbold
command from eulervm
.
Euler Plus Palatino with NFSS
The popular combination of AMS Euler with Palatino (or one of its clones) is also available as a NFSS package, backward-compatible with PDFLaTeX. It was last updated in 2017, years more recently than any of the other packages I’ve shown off. This uses the math letters from Euler, but symbols from newpx
(on which the Asana Math font is also based), and uses the digits from the text font, which I set to Pagella. It’s similar to the Pagella/Neo Euler/Asana Math sample above, if you pass the math-style=upright
option to unicode-math
.
The package does not load the Euler calligraphic or Fraktur math alphabets, so I set those up afterward. If you want to add matching sans-serif and monospaced fonts, Optima (URW Classico) and Inconsolata might be good choices available for NFSS.
documentclass{article}
pagestyle{empty}
usepackage{amsmath}
DeclareMathOperatorRes{Res}
newcommand*diff{mathop{}!mathrm{d}}
usepackage{amsthm}
newtheorem{theorem}{Theorem}
%%%
% Set up you text and math fonts
%%%
usepackage[T1]{fontenc}
usepackage{textcomp}
usepackage[utf8]{inputenc} % The default since 2018.
usepackage{tgpagella}
usepackage{eulerpx}
usepackage{eucal}
usepackage{eufrak}
newcommandBbbC{ensuremath{mathbb{C}}}
DeclareSymbolFont{eulerup}{U}{zeur}{m}{n}
DeclareMathSymbol{uppi}{mathalpha}{eulerup}{"19}
DeclareMathSymbol{upi}{mathalpha}{eulerup}{"69}
begin{document}
begin{theorem}[Residue theorem]
Let $f$ be analytic in the region $G$ except for the isolated
singularities $a_1,a_2,dots,a_m$. If $gamma$ is a closed
rectifiable curve in $G$ which does not pass through any of the
points $a_k$ and if $gammaapprox 0$ in $G$, then
[
frac{1}{2 uppi upi} intlimits_gamma fBigl(x^{mathbf{N}inmathbb{C}^{Ntimes 10}}Bigr)
= sum_{k=1}^m n(gamma;a_k)Res(f;a_k),.
]
end{theorem}
begin{theorem}[Maximum modulus]
Let $G$ be a bounded open set in $BbbC$ and suppose that $f$ is a
continuous function on $G^-$ which is analytic in $G$. Then
[
max{, |f(z)|:zin G^- ,} = max{, |f(z)|:zin partial G ,},.
]
end{theorem}
First some large operators both in text:
$iiintlimits_{Q}f(x,y,z) diff x diff y diff z$
and
$prod_{gammainGamma_{bar{C}}}partial(tilde{X}_gamma)$;
and also on display
[
iiiintlimits_{Q}f(w,x,y,z) diff w diff x diff y diff z
leq
oint_{partial Q} f'Biggl(maxBiggl{
frac{Vert wVert}{vert w^2+x^2vert};
frac{Vert zVert}{vert y^2+z^2vert};
frac{Vert woplus zVert}{vert xoplus yvert}
Biggr}Biggr),.
]
end{document}
There are a few oddities here, such as the spacing of ∊ and ℂ, but it’s a simple and attractive setup.
edited Jul 26 '18 at 6:07
answered Apr 11 '18 at 2:22
DavislorDavislor
5,2121125
5,2121125
apologies because my intent was to actually refer tooint_{partial Q} f'
... I hope I didn't cause an unneeded roolback. To my eyes thepartial
fromoint_{partial Q} f'
is really far from theQ
and close to the integral signs in all OpenType samples, but looks good in the PDFTeX one...
– jfbu
Apr 11 '18 at 8:02
@jfbu No, you didn’t. I was trying to get thesymup{pi i}
to display assymup
rather thanmathrm
, and then I realized I’d replaced the wrong example by mistake. In fact, you did me a favor by making me double-check. Fixed now.
– Davislor
Apr 11 '18 at 8:05
1
thanks for all your efforts. Regarding rasterizer I have had in the past similar experience with dvipng (I recall with libertine 8bit font) compared to pdf (from dvipdfmx). Strange offsets in letter locations sometimes in the png graphics.
– jfbu
Apr 11 '18 at 10:01
1
@thymaro You might have a look at tex.stackexchange.com/questions/425098/…
– Davislor
May 17 '18 at 15:26
1
@Davislor so you mean that between Apr 11 (2018-04-11), not much has changed?! Total mindblow!!!eleven!! :'D No seriously, you're right, I just misread the date. Thanks for the explanations and the link (apparently, I already bookmarked that question at an earlier date). I'll look into all of that.
– thymaro
May 18 '18 at 10:00
|
show 4 more comments
apologies because my intent was to actually refer tooint_{partial Q} f'
... I hope I didn't cause an unneeded roolback. To my eyes thepartial
fromoint_{partial Q} f'
is really far from theQ
and close to the integral signs in all OpenType samples, but looks good in the PDFTeX one...
– jfbu
Apr 11 '18 at 8:02
@jfbu No, you didn’t. I was trying to get thesymup{pi i}
to display assymup
rather thanmathrm
, and then I realized I’d replaced the wrong example by mistake. In fact, you did me a favor by making me double-check. Fixed now.
– Davislor
Apr 11 '18 at 8:05
1
thanks for all your efforts. Regarding rasterizer I have had in the past similar experience with dvipng (I recall with libertine 8bit font) compared to pdf (from dvipdfmx). Strange offsets in letter locations sometimes in the png graphics.
– jfbu
Apr 11 '18 at 10:01
1
@thymaro You might have a look at tex.stackexchange.com/questions/425098/…
– Davislor
May 17 '18 at 15:26
1
@Davislor so you mean that between Apr 11 (2018-04-11), not much has changed?! Total mindblow!!!eleven!! :'D No seriously, you're right, I just misread the date. Thanks for the explanations and the link (apparently, I already bookmarked that question at an earlier date). I'll look into all of that.
– thymaro
May 18 '18 at 10:00
apologies because my intent was to actually refer to
oint_{partial Q} f'
... I hope I didn't cause an unneeded roolback. To my eyes the partial
from oint_{partial Q} f'
is really far from the Q
and close to the integral signs in all OpenType samples, but looks good in the PDFTeX one...– jfbu
Apr 11 '18 at 8:02
apologies because my intent was to actually refer to
oint_{partial Q} f'
... I hope I didn't cause an unneeded roolback. To my eyes the partial
from oint_{partial Q} f'
is really far from the Q
and close to the integral signs in all OpenType samples, but looks good in the PDFTeX one...– jfbu
Apr 11 '18 at 8:02
@jfbu No, you didn’t. I was trying to get the
symup{pi i}
to display as symup
rather than mathrm
, and then I realized I’d replaced the wrong example by mistake. In fact, you did me a favor by making me double-check. Fixed now.– Davislor
Apr 11 '18 at 8:05
@jfbu No, you didn’t. I was trying to get the
symup{pi i}
to display as symup
rather than mathrm
, and then I realized I’d replaced the wrong example by mistake. In fact, you did me a favor by making me double-check. Fixed now.– Davislor
Apr 11 '18 at 8:05
1
1
thanks for all your efforts. Regarding rasterizer I have had in the past similar experience with dvipng (I recall with libertine 8bit font) compared to pdf (from dvipdfmx). Strange offsets in letter locations sometimes in the png graphics.
– jfbu
Apr 11 '18 at 10:01
thanks for all your efforts. Regarding rasterizer I have had in the past similar experience with dvipng (I recall with libertine 8bit font) compared to pdf (from dvipdfmx). Strange offsets in letter locations sometimes in the png graphics.
– jfbu
Apr 11 '18 at 10:01
1
1
@thymaro You might have a look at tex.stackexchange.com/questions/425098/…
– Davislor
May 17 '18 at 15:26
@thymaro You might have a look at tex.stackexchange.com/questions/425098/…
– Davislor
May 17 '18 at 15:26
1
1
@Davislor so you mean that between Apr 11 (2018-04-11), not much has changed?! Total mindblow!!!eleven!! :'D No seriously, you're right, I just misread the date. Thanks for the explanations and the link (apparently, I already bookmarked that question at an earlier date). I'll look into all of that.
– thymaro
May 18 '18 at 10:00
@Davislor so you mean that between Apr 11 (2018-04-11), not much has changed?! Total mindblow!!!eleven!! :'D No seriously, you're right, I just misread the date. Thanks for the explanations and the link (apparently, I already bookmarked that question at an earlier date). I'll look into all of that.
– thymaro
May 18 '18 at 10:00
|
show 4 more comments
Thanks for contributing an answer to TeX - LaTeX Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f103983%2fhow-do-i-use-ams-euler%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Just add the instruction
usepackage{euler}
in the document's preamble, i.e., somewhere betweendocumentclass{<your favorite clas>}
andbegin{document}
. Incidentally, the use of$$
to start and end a display-math equation is seriously deprecated; use[
and]
instead.– Mico
Mar 23 '13 at 21:12
@Mico Worked like a charm! Thanks! Can you make that an answer?
– Pratik Deoghare
Mar 23 '13 at 21:13
What if I wanted to change font of everything to AMSEuler?
– Pratik Deoghare
Mar 23 '13 at 21:15
3
@PratikDeoghare -- the euler fonts were designed expressly for use in math, and have idiosyncrasies that would make them look quite bad for text -- the kerning/letterspacing would be uneven, for one thing. the shapes aren't really "coherent", etc., etc. for use as math variables, every letter must be able to be understood unambiguously in isolation; it doesn't necessarily have to look good in a word, and some of the shapes would tend to "attract too much attention" when outside their natural math element.
– barbara beeton
Mar 23 '13 at 21:22
2
Euler
(orAMSEuler
) is a math font; there's no text font that corresponds directly to it. I've read somewhere that Zapf (the designer of the Euler fonts) likes the look ofPalatino
(another Zapf design!) to go along withEuler
. You could also try theConcrete
font family (useusepackage{concrete}
); the combination of Euler and Concrete was very successful in the book "Concrete Mathematics" by Knuth et al.– Mico
Mar 23 '13 at 21:23