如何对齐物理包中的 \abs 命令中的方程式

如何对齐物理包中的 \abs 命令中的方程式

我正在使用该physics包,在对齐方程时遇到问题

\begin{align}
    \psi(\bm{z}) &= h`(\bm{w}^T\bm{z} + b)\bm{w}\\
    \abs\Big{det\pdv{f}{\bm{z}}} = \abs{det(\bm{I} &+ \bm{u}\psi(\bm{z})^T)} = \abs{1 + \bm{u}^T\psi(\bm{z})}
\end{align}

上述代码会引发错误:可能是因为&对齐字符位于 内\abs{}

我可以这样做来修复它:

\begin{align}
\psi(\bm{z}) &= h`(\bm{w}^T\bm{z} + b)\bm{w}\\
\abs\Big{det\pdv{f}{\bm{z}}} = 
     |det(\bm{I} &+ \bm{u}\psi(\bm{z})^T)| = 
     \abs{1 + \bm{u}^T\psi(\bm{z})}
\end{align}

但是,如果我这样做,我会注意到\abs{}|.|的大小不同。我怎样才能按照我想要的方式对齐方程式并继续使用\abs{}preferred?

以下是 MWE:

\documentclass{extarticle}

\usepackage{amsmath,bm,amssymb,amsthm,physics}

\begin{document}

%This doesn't work :(
%\begin{align}
%    \psi(\bm{z}) &= h`(\bm{w}^T\bm{z} + b)\bm{w}\\
%    \abs\Big{det\pdv{f}{\bm{z}}} = \abs{det(\bm{I} &+ \bm{u}\psi(\bm{z})^T)} = \abs{1 + \bm{u}^T\psi(\bm{z})}
%\end{align}

\begin{align}
    \psi(\bm{z}) &= h`(\bm{w}^T\bm{z} + b)\bm{w}\\
    \abs\Big{det\pdv{f}{\bm{z}}} = |det(\bm{I} &+ \bm{u}\psi(\bm{z})^T)| = \abs{1 + \bm{u}^T\psi(\bm{z})}
\end{align}
\end{document}

编辑:

经过进一步调查,第一个代码片段还有其他问题:删除 \abs 并将 det 更改为 \det 也会导致错误。我不确定问题是什么。

\begin{align}
    \psi(\z) &= h`(\w^T\z + b)\w\\
    \abs\Big{\det\pdv{f}{\z}} = |\det(\bm{I} &+ \bm{u}\psi(\z)^T)| = \abs{1 + \bm{u}^T\psi(\z)}
\end{align}

答案1

这个physics包可以做很多有用的事情。不过,它也因对括号和方括号的含义做出词汇假设而闻名,这些假设可能合适也可能不合适。更改为det导致\det额外问题的事实似乎与此问题有关。

我建议,除非您对该包的功能投入了大量精力physics,否则请加载该mathtools包并提供您自己的 等定义\abs\pdv如下例所示。请注意,这种方法允许&对齐点出现在 内部\abs{...}以及 内部\det(...)

gather话虽如此,我认为对于当前的情况来说,使用环境而不是环境的结果align在印刷上更优越(并且更容易创建!)。

在此处输入图片描述

值得注意的是,使用宏的语法略有不同\abs:对于physics包,写为\abs\Big{...},而对于mathtools版本,写为\abs[\Big]{...}。希望这不会对切换造成难以逾越的障碍。

\documentclass{extarticle}
\usepackage{mathtools} % for '\DeclarePairedDelimiter' macro
\usepackage{bm} % for '\bm' macro
%% provide your own definitions of \abs, \pdv, etc as needed:
\DeclarePairedDelimiter\abs\lvert\rvert
\newcommand\pdv[2]{\frac{\partial #1}{\partial #2}}

\begin{document}
Use \verb+gather+ and no alignment points:
\begin{gather}
    \psi(\bm{z}) = h'(\bm{w}^T\bm{z} + b)\bm{w}\\
    \abs[\Big]{\det\pdv{f}{\bm{z}}} 
      = \abs{\det(\bm{I} + \bm{u}\psi(\bm{z})^T)} 
      = \abs{1 + \bm{u}^T\psi(\bm{z})}
\end{gather}

\medskip
Use \verb+align+ and 1 alignment point per row:
\begin{align}
    \psi(\bm{z}) &= h'(\bm{w}^T\bm{z} + b)\bm{w}\\
    \abs[\Big]{\det\pdv{f}{\bm{z}}} 
      = \abs{\det(\bm{I} &+ \bm{u}\psi(\bm{z})^T)}
      = \abs{1 + \bm{u}^T\psi(\bm{z})}
\end{align}
\end{document}

相关内容