如何获得直立的 \partial?

如何获得直立的 \partial?

我想设置偏导数,如\frac{\partial}{\partial x}。这个问题在这里讨论过几次。建议使用 esdiff 或 commath 或 等软件包。然而,所有这些解决方案的一个问题是,没有\partial设置直立。通常建议使用 kpfonts或其他字体。假设我不想更改我的字体。是否有一些 LaTeX 命令可以将设置直立\partial,或者这始终是字体问题?我尝试过使用\mathrm,但这不起作用。

答案1

\usepackage[partialup]{kpfonts}

或者如果你不是想要加载 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}

在此处输入图片描述

答案2

您可以通过以下方式在 Computer Modern 中获取直立部分符号

\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}

部分符号

这取自这个答案

编辑:

newtx 包提供了一个\uppartial选项,可用于获取与不同字体匹配的直立部分,例如 Times、Libertinus、Fourier、Charter、Stix2 等。

如果使用 XeLaTeX 或 LuaLaTeX 没问题,那么几乎所有支持 Unicode 数学的数学字体都有字形,包括 Latin Modern 和 New Computer Modern(Computer Modern 克隆)。您可以partial=upright在加载unicode-math包时传递选项,\usepackage[partial=upright]{unicode-math}或者稍后使用\PassOptionsToPackage{partial=upright}{unicode-math}ifunicode-math由其他包加载。Unicode 标准中还定义了其他部分符号。

\documentclass{article}

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

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

直立部分新电脑现代newcm

答案3

另一个不错的方法是\partial通过以下一行代码旋转和缩放符号:

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

它使用正常的部分符号,水平挤压一点,围绕顶部旋转 20 度,并最小化与下一个符号的距离。

现在您可以\uppartial在数学环境中使用它并获得如下的良好结果:

上部

对于德国人来说:DIN 1338 规定了哪些符号用斜体书写,哪些符号用直立书写(见维基百科

相关内容