5

I've tried to load eulervm alongside newpxtext and newpxmath, and this has worked fine until I attempted to construct an integral using \int. The integral sign simply doesn't appear:

enter image description here

    \documentclass{article}

    \usepackage{newpxtext,newpxmath} 
    \usepackage{eulervm}

    \begin{document} 
    \[\int_a^b f(x)\, dx\] 
    \end{document}

Have I missed something?

3
  • Funny interaction: I'm not sure what is the reason, but why are you loading newpxmath at all if you want to use eulervm? Removing it works just fine...
    – campa
    Commented Aug 6, 2020 at 14:59
  • @campa I loaded newpxmath because \operatorname wouldn't work without it.
    – MHW
    Commented Aug 6, 2020 at 15:02
  • 2
    \operatorname is defined by amsmath, which is loaded by default by newpxmath. But you can load it separately.
    – campa
    Commented Aug 6, 2020 at 15:03

1 Answer 1

3

One can redeclare the integral operator, \intop:

\documentclass{article}
\usepackage{newpxtext,newpxmath} 
\usepackage{eulervm}
\DeclareMathSymbol\intop \mathop {largesymbols}{"52}
\begin{document} 
\[\int_a^b f(x)\, dx  \quad\textstyle\int_a^b f(x)\, dx\] 
\end{document}

enter image description here

Alternately, one could save a version of \intop before loading newpxmath and then restore it afterwards:

\documentclass{article}
\let\svintop\intop
\usepackage{newpxtext,newpxmath} 
\let\intop\svintop
\usepackage{eulervm}
\begin{document} 
\[\int_a^b f(x)\, dx  \quad\textstyle\int_a^b f(x)\, dx\] 
\end{document}

As a third way, one could just load the euler package, instead of eulervm.

\documentclass{article}
\usepackage{newpxtext,newpxmath} 
\usepackage{euler}
\begin{document} 
\[\int_a^b f(x)\, dx  \quad\textstyle\int_a^b f(x)\, dx\] 
\end{document}

DISCUSSION

All this happens for two reasons: because eulervm does not explicitly declare \intop and also because newpxmath redefines \intop (by default) with

\let\intop=\intslop

where

\re@DeclareMathSymbol{\intslop}                {\mathop}{largesymbols}{"AF}

This "AF is a different glyph slot than the "52 used by eulervm. And \intop is an integral part of \int, as defined in newpxmath as

\def\int{\DOTSI\intop\ilimits@}

This MWE shows the discussion explicitly:

\documentclass{article}
\sbox0{DEFAULT: \meaning\intop}
\usepackage{newpxtext,newpxmath} 
\sbox2{NEWPXMATH: \meaning\intop}
\usepackage{eulervm}
\sbox4{EULER DOES NOT FIX: \meaning\intop}
\DeclareMathSymbol\intop \mathop {largesymbols}{"52}
\sbox6{REDECLARED: \meaning\intop}
\begin{document} 
\[\int_a^b f(x)\, dx  \quad\textstyle\int_a^b f(x)\, dx\] 

\box0

\box2

\box4

\box6
\end{document}

enter image description here


POSTSCRIPT

The package euler does not suffer the same problem because it explicitly declares the \intop symbol to slot "52.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .