关于在乳胶中制作标量积的一些问题

关于在乳胶中制作标量积的一些问题

我刚刚在这里注册,但我一直在浏览网站,但一直找不到以下问题的答案。我只想为标量积创建一个特定的视图。它应该看起来像:。我使用以下代码:

\newcommand*{\spr}{\left(\,#1\,|\,#2\,\right)}

问题出在这个符号上:|。事实上,当我输入例如 \dfrac{}{} 而不是 expr1. 或 expr2. 时,该符号的高度是相同的。如何让“|”的高度随着两个表达式(在“|”之前和“|”之后)中任意一个的高度的变化而变化?感谢您的关注,抱歉我的英语不好。

答案1

|假设我理解了这个问题,可以通过|用替换 来获得可变大小的管道(即) \middle|。以下是使用 的 MWE \dfrac

\documentclass{article}
\usepackage{amsmath}
\newcommand*{\spr}[2]{\left(\,#1\,\middle|\,#2\,\right)}
\begin{document}

\(
  \spr{\dfrac{x}{y}}{z}
\)

\end{document}

请注意,您的定义\spr忘记指出它需要两个参数。我在这里修复了这个问题。上面的代码给出以下输出:

可变尺寸管道

答案2

mathtools以下是使用和中的宏的解决方案xparse。我定义了一个 \spr命令,其中包含两个参数,用逗号分隔。如果其中一个参数为空,则将其替换为点。要使用可变大小的括号或中间分隔符,请使用\spr*。您还可以使用可选参数微调分隔符的大小,该参数将是big, \Big, \bigg或之一Bigg

\documentclass{article}
\usepackage{mathtools}
\usepackage{xparse, etoolbox}

\DeclarePairedDelimiterX\spr[1](){\sprargs{#1}}%
\NewDocumentCommand{\sprargs}{>{\SplitArgument{1}{,}}m }
 {\sprargsaux#1}
\NewDocumentCommand{\sprargsaux}{ m m }%
{\ifblank{#1}{\cdot}{#1}\nonscript\,\delimsize\vert\nonscript\,\mathopen{}\ifblank{#2}{\cdot}{#2}}

\begin{document}

\[ \spr*{\dfrac{x}{y},z}\quad\spr[\Bigg]{\dfrac{x}{y},z}\quad\spr[\Big]{\dfrac{x}{y},z}\quad\spr*{,z} \quad\spr*{\dfrac{x}{y},} \]

\end{document} 

在此处输入图片描述

相关内容