16

I want to set partial derivations like \frac{\partial}{\partial x}. This is issue is discussed several times here. Packages like esdiff or commath or suggested. However one problem with all those solutions is that the \partial is not set upright. Usually a recommendation is to use kpfonts or other fonts. Assume I do not want to change my font. Is there some LaTeX command to set the \partial upright or is this always a font issue? I have tried using \mathrm, but this doesn't work.

qbi
  • 2,070

3 Answers3

13
\usepackage[partialup]{kpfonts}

or if you do not want to load the kpfonts:

\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\makeatletter
\newif\ifkp@upRm% is used in the .fd-file of jkp
\DeclareSymbolFont{Letters}{OML}{jkp}{m}{n}
\DeclareMathSymbol{\partialup}{\mathord}{Letters}{128}
\makeatother
\usepackage{mathptmx}

\begin{document}

[ \frac{\partialup f}{\partialup x} ]

\end{document}

enter image description here

Stephen
  • 3,826
5

You can get upright partial symbol in Computer Modern the following way

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{bm}
\usepackage{amsmath}
\usepackage{amssymb}
\newsavebox{\foobox}
\newcommand{\slantbox}[2][0]{\mbox{%
    \sbox{\foobox}{#2}%
    \hskip\wd\foobox
    \pdfsave
    \pdfsetmatrix{1 0 #1 1}%
    \llap{\usebox{\foobox}}%
    \pdfrestore
}}
\newcommand\unslant[2][-.25]{\slantbox[#1]{$#2$}}

\newcommand{\uppartial}{\unslant\partial} \newcommand{\upPartial}{\unslant\partial\kern-0.8pt}

\begin{document}

[\bm{E} = -\left( \frac{\uppartial V}{\uppartial x} \bm{\hat{\imath}} + \frac{\uppartial V}{\uppartial y}\bm{\hat{\jmath}} + \frac{\uppartial V} {\uppartial z}\bm{\hat{k}} \right)]\

[\bm{E} = -\left( \frac{\upPartial V}{\upPartial x} \bm{\hat{\imath}} + \frac{\upPartial V}{\upPartial y}\bm{\hat{\jmath}} + \frac{\upPartial V}{\upPartial z}\bm{\hat{k}} \right)]\

[\bm{E} = -\left( \frac{\partial V}{\partial x} \bm{\hat{\imath}} + \frac{\partial V}{\partial y}\bm{\hat{\jmath}} + \frac{\partial V}{\partial z}\bm{\hat{k}} \right)]

\end{document}

Partial Symbols

This is taken from this answer.

Edit:

The newtx package offers an \uppartial option, which can be used to get upright partials matching different fonts, such as Times, Libertinus, Fourier, Charter, Stix2, etc.

If one is fine with using XeLaTeX or LuaLaTeX, then almost all math fonts which support Unicode math have the glyph, including Latin Modern and New Computer Modern (Computer Modern clones). You can pass the option partial=upright while loading the unicode-math package as \usepackage[partial=upright]{unicode-math} or use \PassOptionsToPackage{partial=upright}{unicode-math} if unicode-math is loaded by some other package later. There are other partial symbols defined in the Unicode standard as well.

\documentclass{article}

\PassOptionsToPackage{partial=upright}{unicode-math} \usepackage[default, newcmbb]{fontsetup}

\begin{document} (\partial) \end{document}

upright partial new computer modern newcm

4

Another nice approach could be rotating and scaling the \partial symbol by this one-liner:

\DeclareRobustCommand{\uppartial}{\text{\rotatebox[origin=t]{20}{\scalebox{0.95}[1]{$\partial$}}}\hspace{-1pt}}

It uses the normal partial symbol, squeezes it a bit horizontally, rotates it around the top for 20 deg and minimizes the distance to the following symbol.

Now you can use \uppartial in your math environment and get nice results like this:

uppartial

For Germans: DIN 1338 regulates which symbols are written in italics and which ones upright (see de:Wikipedia)