哪根垂直线可以正确缩放?

哪根垂直线可以正确缩放?

我有时需要编写包括在某一点求导的表达式(例如泰勒级数)。我首选的符号(见附录)是下面 MWE 的第一个方程。

现在,我最讨厌的事情之一就是在 LaTeX 中手动设置字体大小(或其他任何大小)。我目前正在使用\bigg|,但如果函数和/或变量变得更大,这种方法将不再有效,我真的不想手动设置所有方程式的大小(我在文档的不同章节中的特定点处计算了相当多的导数实例,并且每个章节都在自己的 .tex 文件中)。我试过\vrule,但这导致下标的垂直定位不理想(请参阅下面的 MWE)。是否有一个命令可以生成一个垂直条,该垂直条会缩放到与其相邻的垂直条的高度下标位置是否合适?

MWE(有些包可能是不需要的;对此深表抱歉):

\documentclass[11pt]{book}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{mathrsfs}
\usepackage{esvect}
\usepackage{latexsym}
\usepackage{mathtools}
\newcommand{\der}[2]{\frac{\text{d}{#1}}{\text{d}{#2}}}
\newcommand{\dder}[3]{\frac{\text{d}^{#1}{#2}}{\text{d}{#3}^{#1}}}
\begin{document}
\noindent This looks nice:
\begin{eqnarray}
f(x) & = & \sum_{k=0}^\infty\frac{(x-x_0)^k}{k!}\,\dder{k}{f}{x}\bigg|_{x=x_0}
\end{eqnarray}
But this doesn't:
\begin{eqnarray}
f(x) & = & \sum_{k=0}^\infty\frac{(x-x_0)^k}{k!}\,\dder{k}{f}{x}\vrule_{x=x_0}
\end{eqnarray}
\end{document}

第一个方程有一个 \bigg|,第二个方程有一个 \vrule。

作为补充,我确实欣赏文档的简洁性,但我也重视清晰度。我不愿意使用f'来表示df/dx或,\partial f/\partial x因为 f 可能是许多变量的函数(如 s 的情况\partial)。我也不愿意使用f_x来表示,df/dx因为我经常使用下标来区分数量的不同贡献(或组成部分)。因此,我不想写f^{(k)}(x_0)或 其他类似的东西。这是不可商量的;我宁愿不要得到“更改你的符号”这样的答案。:)

提前致谢!

答案1

我提出了两个解决方案:一个\eval带有两个参数的宏,它是从这个网站上找到的代码改编而来的——我不记得在哪里了,还有一个与 不同的版本,带有星号的版本\diff,来自包esdiff。请注意,同一个包有方便的\diffp和它的带星号的版本用于偏导数。

我还用 替换了eqnarray,以便在对齐点周围获得更好的水平间距。另请注意,如果您加载 ,则align无需加载。amsmathmathtools

\documentclass[11pt]{book}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{mathrsfs}
\usepackage{esvect, esdiff}
\usepackage{latexsym}
\usepackage{mathtools}

\def\eval#1#2{\mathchoice
              {\setbox0\hbox{${\displaystyle #1}_{\scriptstyle #2}$}
              \evalaux{#1}{#2}}
              {\setbox0\hbox{${\textstyle #1}_{\scriptstyle #2}$}
              \evalaux{#1}{#2}}
              {\setbox0\hbox{${\scriptstyle #1}_{\scriptscriptstyle #2}$}
              \evalaux{#1}{#2}}
              {\setbox0\hbox{${\scriptscriptstyle #1}_{\scriptscriptstyle #2}$}
              \evalaux{#1}{#2}}}
\def\evalaux#1#2{{#1\,{\vrule height .67\ht0 depth 1.2\dp0}_{\,#2}} }

\begin{document}

\begin{align}
f(x) & =\sum_{k=0}^\infty\frac{(x-x_0)^k}{k!}\,\eval{\diff[k]{f}{x}}{x=x_0}\\[1ex]
f(x) & =\sum_{k=0}^\infty\frac{(x-x_0)^k}{k!}\diff*[k]{f}{x}{x = x_0}
\end{align}

\end{document} 

在此处输入图片描述

相关内容