我想设置偏导数,如\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}
答案3
另一个不错的方法是\partial
通过以下一行代码旋转和缩放符号:
\DeclareRobustCommand{\uppartial}{\text{\rotatebox[origin=t]{20}{\scalebox{0.95}[1]{$\partial$}}}\hspace{-1pt}}
它使用正常的部分符号,水平挤压一点,围绕顶部旋转 20 度,并最小化与下一个符号的距离。
现在您可以\uppartial
在数学环境中使用它并获得如下的良好结果:
对于德国人来说:DIN 1338 规定了哪些符号用斜体书写,哪些符号用直立书写(见维基百科)