You don't need the isomath package:
\DeclareMathSymbol{\Gamma}{\mathalpha}{operators}{0}
\DeclareMathSymbol{\Delta}{\mathalpha}{operators}{1}
\DeclareMathSymbol{\Theta}{\mathalpha}{operators}{2}
\DeclareMathSymbol{\Lambda}{\mathalpha}{operators}{3}
\DeclareMathSymbol{\Xi}{\mathalpha}{operators}{4}
\DeclareMathSymbol{\Pi}{\mathalpha}{operators}{5}
\DeclareMathSymbol{\Sigma}{\mathalpha}{operators}{6}
\DeclareMathSymbol{\Upsilon}{\mathalpha}{operators}{7}
\DeclareMathSymbol{\Phi}{\mathalpha}{operators}{8}
\DeclareMathSymbol{\Psi}{\mathalpha}{operators}{9}
\DeclareMathSymbol{\Omega}{\mathalpha}{operators}{10}
To get an italic Gamma, use \mathnormal{\Gamma}
. Try
$\Gamma\mathnormal{\Gamma}\mathbf{\Gamma}$
The command \DeclareMathSymbol
is used for assigning a meaning to characters or commands in math mode. The second argument contains the "kind" of symbol; \mathalpha
means a symbol that obeys to the alphabet selection commands. The third argument is the alphabet used by default; the fourth is the slot in the font. All the standard declarations are in fontmath.ltx
loaded at format creation time.
Notice that these declarations won't work if the default font encoding of the document is T1 instead of OT1, as operators
refers to the ordinary Roman document font. One should define a new math alphabet, in this case.
How to do this when the document encoding is T1? One has to define a new symbol font:
\DeclareSymbolFont{otone}{OT1}{cmr}{m}{n}
\SetSymbolFont{bold}{otone}{OT1}{cmr}{m}{n}
\DeclareMathSymbol{\Gamma}{\mathalpha}{otone}{0}
\DeclareMathSymbol{\Delta}{\mathalpha}{otone}{1}
\DeclareMathSymbol{\Theta}{\mathalpha}{otone}{2}
\DeclareMathSymbol{\Lambda}{\mathalpha}{otone}{3}
\DeclareMathSymbol{\Xi}{\mathalpha}{otone}{4}
\DeclareMathSymbol{\Pi}{\mathalpha}{otone}{5}
\DeclareMathSymbol{\Sigma}{\mathalpha}{otone}{6}
\DeclareMathSymbol{\Upsilon}{\mathalpha}{otone}{7}
\DeclareMathSymbol{\Phi}{\mathalpha}{otone}{8}
\DeclareMathSymbol{\Psi}{\mathalpha}{otone}{9}
\DeclareMathSymbol{\Omega}{\mathalpha}{otone}{10}
Of course cmr
can be changed into the document's main font family name, provided it contains Greek uppercase letters in its OT1 version; but it's just a matter of giving the correct slot numbers for the chosen font.
As others have said in their answers there are a number of packages that provide upright Greek letters, e.g., upgreek
, textgreek
, kpfonts
, fourier
, newtxmath
, ... which one to choose is in my eyes mainly a design question: which one fits best to the document's main font?
Since in chemistry upright Greek letters are used in a number of different places (particle symbols such as in your question, IUPAC names, ...) the chemgreek
package defines a number of mappings for those different packages to macros \chemalpha
, \chembeta
, etc. (48 in total) and also allows to define own mappings. It does not load any of those packages so the choice is still up to the user. The advantage is that chemmacros
(or other chemistry packages like mhchem
) can simply use the \chem<letter>
commands internally and the corresponding output will match the choice made by the user.
This can be used to define particle macros yourself:
\documentclass{article}
\usepackage[T1]{fontenc}
% three different packages for demonstration purposes:
\usepackage{upgreek}
\usepackage{textgreek}
\usepackage{kpfonts}
\usepackage{chemmacros}[2014/01/24]% loads `chemgreek'
% just to overwrite kpfonts as default font:
\usepackage{lmodern}
% define the particles; the second argument is placed in`chemformula's \chcpd
% command
% the negative space before the `e' should be chosen depending on the actual
% choice:
\NewChemParticle{\eneutrino}{\chemnu_{$\!\!e$}}
\NewChemParticle{\belectron}{\chembeta-}
\NewChemParticle{\bpositron}{\chembeta+}
\newcommand*\pkg[1]{\textsf{#1}}
\begin{document}
\selectchemgreekmapping{upgreek}
\pkg{upgreek}: \eneutrino\ \belectron\ \bpositron
\selectchemgreekmapping{textgreek}
\pkg{textgreek}: \eneutrino\ \belectron\ \bpositron
\selectchemgreekmapping{kpfonts}
\pkg{kpfonts}: \eneutrino\ \belectron\ \bpositron
\end{document}
Best Answer
As pointed out by @DavidPurton in a comment, the documentation of mathastext indicates (but in a not so clear way) that
upgreek
option has effect only if one of the Greek related options described inยง1.9 Greek letters
is active.For example:
Output:
However, perhaps your font set-up has some specifics.
Other approaches
E.g. you could use
\usepackage[upright]{fourier}...load text packages...\usepackage{mathastext}
to benefit from the Fourier set-up for Greek letters. Then\bm{\phi}
gives a bold upright Greek letter.mathastext
does not interfere at all in this.Produces:
Or use
eulergreek
option:Produces: