\mathclap 没有将方程式居中对齐

\mathclap 没有将方程式居中对齐

我想将一个方程式置于align环境的中心,因为否则它会将其他方程式推得太靠右,超出我的范围tcolorbox

正如建议的那样答案,应该能够使用\mathclap来自的命令来执行此操作mathtools

显然这在这里不起作用:

在此处输入图片描述

梅威瑟:

% !TeX program=lualatex
\documentclass{scrartcl}

\usepackage{mathtools}
\usepackage{tcolorbox}
\usepackage[ngerman]{babel}

\begin{document}
\begin{figure}
    \begin{tcolorbox}
        \begin{align}
        \dot{\epsilon}^{\text{eq}} &= \sqrt{\frac{2}{3}\dot{\boldsymbol{\epsilon}}^{\text{p}}:\dot{\boldsymbol{\epsilon}}^{\text{p}}} && \text{(an equation in plasticity)} \\
        %
        \mathclap{
        \sigma^Y(z,\epsilon_{\gamma},\epsilon_{\alpha},T) = (1-f(z))\sigma^y_{\gamma}(\epsilon_{\gamma},T)+f(z)\sigma^y_{\alpha}(\epsilon_{\alpha},T)
        }\label{gln:ultimate-stress-iso}
        \end{align}
    \end{tcolorbox}
\end{figure}
\end{document}

答案1

在这种情况下,我猜最好是\mathclap根本不使用并删除&&文本前面的(因为这实际上会将方程式推到左边),或者\mathllap在第二个方程式的某些部分使用。以下是显示这两个选项的示例。

\documentclass{scrartcl}

\usepackage{mathtools}
\usepackage{tcolorbox}
\usepackage[ngerman]{babel}

\begin{document}
\begin{figure}
    \begin{tcolorbox}
        \begin{align}
        \dot{\epsilon}^{\text{eq}} &=
        \sqrt{\frac{2}{3}\dot{\boldsymbol{\epsilon}}^{\text{p}}:\dot{\boldsymbol{\epsilon}}^{\text{p}}}
        \quad\text{(an equation in plasticity)} \\
        %
        \mathllap{\sigma^Y(z,\epsilon_{\gamma},\epsilon_{\alpha},}T) &= (1-f(z))\sigma^y_{\gamma}(\epsilon_{\gamma}^,T)+f(z)\sigma^y_{\alpha}(\epsilon_{\alpha},T)
        \label{gln:ultimate-stress-iso}
        \end{align}
    \end{tcolorbox}
    \begin{tcolorbox}
        \begin{align}
        \dot{\epsilon}^{\text{eq}} &=
        \sqrt{\frac{2}{3}\dot{\boldsymbol{\epsilon}}^{\text{p}}:\dot{\boldsymbol{\epsilon}}^{\text{p}}}
        \quad\text{(an equation in plasticity)} \\
        %
        \sigma^Y(z,\epsilon_{\gamma},\epsilon_{\alpha},T) &= (1-f(z))\sigma^y_{\gamma}(\epsilon_{\gamma}^,T)+f(z)\sigma^y_{\alpha}(\epsilon_{\alpha},T)
        \label{gln:ultimate-stress-iso}
        \end{align}
    \end{tcolorbox}
\end{figure}
\end{document}

在此处输入图片描述

就像您在评论中发现的那样,您也可以\mathrlap在长等式的某些部分中使用:

\documentclass{scrartcl}

\usepackage{mathtools}
\usepackage{tcolorbox}
\usepackage[ngerman]{babel}

\begin{document}
\begin{figure}
    \begin{tcolorbox}
        \begin{align}
        \dot{\epsilon}^{\text{eq}} &=
        \sqrt{\frac{2}{3}\dot{\boldsymbol{\epsilon}}^{\text{p}}:\dot{\boldsymbol{\epsilon}}^{\text{p}}}
        &&\text{(an equation in plasticity)} \\
        %
        \sigma^Y(z,\epsilon_{\gamma},\epsilon_{\alpha},T) &=
        (1-f(z))\sigma^y_{\gamma}(\epsilon_{\gamma}^,T)+\mathrlap{f(z)\sigma^y_{\alpha}(\epsilon_{\alpha},T)}
        \label{gln:ultimate-stress-iso}
        \end{align}
    \end{tcolorbox}
\end{figure}
\end{document}

答案2

我认为真正的补救措施在于 (a) 不使用\mathclap,更重要的是,(b) 不使用align。而是使用gather环境。

另外,考虑\tfrac在第一个等式中使用(“文本样式分数”)。

而且,由于您似乎正在使用 LuaLaTeX,请不要写 \boldsymbol{...}。相反,请确保加载unicode-math包并写入\symbf{...}。同样,不要写\text{p}\text{eq}。而是写\symup{eq}symup{p}

在此处输入图片描述

% !TeX program=lualatex
\documentclass{scrartcl}
\usepackage{mathtools}
\usepackage{tcolorbox}
\usepackage{unicode-math}
\begin{document}

\begin{tcolorbox}
\begin{gather}
\dot{\epsilon}^{\symup{eq}} 
= \sqrt{\tfrac{2}{3}\dot{\symbf{\epsilon}}^{\symup{p}}:
  \dot{\symbf{\epsilon}}^{\symup{p}}} 
\qquad\text{(an equation in plasticity)} \\
\sigma^Y(z,\epsilon_{\gamma},\epsilon_{\alpha},T) 
= (1-f(z))\sigma^y_{\gamma}(\epsilon_{\gamma},T)
  +f(z)\sigma^y_{\alpha}(\epsilon_{\alpha},T)
\label{gln:ultimate-stress-iso}
\end{gather}
\end{tcolorbox}
\end{document}

相关内容