此代码生成的方程式以
\documentclass{article}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{cleveref}
\begin{document}
\begin{align}
& \mathclap{f: A \to B, g: B \to C} \label{eq:1}
\\
f(a) &= \ldots \label{eq:2}
\\
g(b) &= \ldots \label{eq:3}
\end{align}
\end{document}
而这些不再居中。公式 1 不像正常人那样居中。为什么会这样?或者这被认为是 latex 的中心吗?
\documentclass{article}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{cleveref}
\begin{document}
\begin{align}
\mathclap{\alpha_{s,j}^t = g(\frac{e^{\varphi_{c}([h_j^t,l_j,s])}}{\sum_j e^{\varphi_{c}([h_j^t,l_j,s])}}) \quad \hat{x}_{\varphi}^{t} = \varphi_m([h_i^t,l_i,s])} \label{eq:1}
\\
\hat{x}_i^{'t} &= \hat{x}_{\varphi}^{t} + (1 - \alpha_{l,i}^t)\hat{x}_i^{t-1} \label{eq:left}
\\
\hat{x}_i^{t} &= \hat{x}_{\varphi}^{t} + (1 - \alpha_{r,i}^t)\hat{x}_i^{'t} \label{eq:right}
\end{align}
\end{document}
这就是我想要的方程式,但由于增加了空间,因此不需要使用两个对齐环境。
\begin{align}
\alpha_{s,j}^t = g(\frac{e^{\varphi_{c}([h_j^t,l_j,s])}}{\sum_j e^{\varphi_{c}([h_j^t,l_j,s])}}) \quad \hat{x}_{\varphi}^{t} = \varphi_m([h_i^t,l_i,s]) \label{eq:1}
\end{align}
\begin{align}
\hat{x}_i^{'t} &= \hat{x}_{\varphi}^{t} + (1 - \alpha_{l,i}^t)\hat{x}_i^{t-1} \label{eq:left}
\\
\hat{x}_i^{t} &= \hat{x}_{\varphi}^{t} + (1 - \alpha_{r,i}^t)\hat{x}_i^{'t} \label{eq:right}
\end{align}
答案1
你使用的\mathclap
唯一功能是隐藏表达式的大小,因此 tex 没有关于第一行大小的信息
equation
我会在第一行使用正常
\documentclass{article}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{cleveref}
\begin{document}
\noindent X\dotfill X
\begin{equation}
\alpha_{s,j}^t = g\biggl(\frac{e^{\varphi_{c}([h_j^t,l_j,s])}}{\sum_j e^{\varphi_{c}([h_j^t,l_j,s])}}\biggr)
\quad \hat{x}_{\varphi}^{t} = \varphi_m([h_i^t,l_i,s]) \label{eq:1}
\end{equation}
\nopagebreak\vspace{-\baselineskip}
\begin{align}
\hat{x}_i^{'t} &= \hat{x}_{\varphi}^{t} + (1 - \alpha_{l,i}^t)\hat{x}_i^{t-1} \label{eq:left}
\\
\hat{x}_i^{t} &= \hat{x}_{\varphi}^{t} + (1 - \alpha_{r,i}^t)\hat{x}_i^{'t} \label{eq:right}
\end{align}
\noindent X\dotfill X
\end{document}
答案2
您可以将一个align
环境包裹在另一个gather
环境内。
我还建议您在第一行使用\exp(...)
符号而不是e^{...}
符号;它不需要太多额外的空间,但确实提高了可读性。
另外,\hat{x}_i^{'t}
最好写成\hat{x}_i^{\prime t}
?
以下截图边缘的框线是因为示例代码加载了showframe
包而绘制的。您可以\usepackage{showframe}
在实际文档中省略。
备注:您可以放心地忽略以下一系列错误消息:
! Package amsmath Error: Multiple \label's: label 'eq:right' will be lost.
See the amsmath package documentation for explanation.
该软件包的用户指南amsmath
明确指出,可以将align
环境嵌套在gather
环境中。通过创建对第二和第三个方程的交叉引用,\eqref
就可以正常工作。
\documentclass{article}
\usepackage{amsmath} % for 'gather' and 'align' environments
\usepackage{showframe} % draw framelines around textblock
\begin{document}
\begin{gather}
\alpha_{s,j}^t =
g\biggl(\frac{\exp\{\varphi_{c}([h_j^t,l_j,s])\}}{%
\sum_j \exp\{\varphi_{c}([h_j^t,l_j,s])\}}
\biggr)
\quad
\hat{x}_{\varphi}^{t} = \varphi_m([h_i^t,l_i,s])
\label{eq:1} \\
\begin{align}
\hat{x}_i^{\prime t} &= \hat{x}_{\varphi}^{t}
+ (1 - \alpha_{l,i}^t)\hat{x}_i^{t-1}
\label{eq:left}
\\[\jot]
\hat{x}_i^{t} &= \hat{x}_{\varphi}^{t}
+ (1 - \alpha_{r,i}^t)\hat{x}_i^{\prime t}
\label{eq:right}
\end{align}
\end{gather}
\end{document}