我在环境中有以下公式align
:
\begin{align}
l_t&=\sigma_t * \epsilon_t\\
\hat{VaR}_{0.99,T+1|T}&=\hat{\sigma}_{T+1|T} * z_{0.99}\\
\hat{\sigma}_{T+1|T}^{ewma}&=\sqrt{(1-\lambda)\sum_{i=0}^{(262-1)} \lambda^i l_{T-i}^2}
\end{align}
我如何在不同的环境下设置这些公式?
答案1
这在没有align
环境的情况下进行对齐,在下面评论中给出的限制内,使用在中开发的方法对齐单独的方程式。对齐点将贯穿整个文档,除非/直到\leftalgn
和/或被\rightalgn
重置。\snug
引用的页面描述了宏的使用,它用于消除方程式前的垂直空间,其中前一行文本很短,方程式的左侧水平范围直到前一行文本完成才开始。
\documentclass{article}
\def\leftalgn{0.45}\def\rightalgn{0.45}
\def\algnrow{\rule{\leftalgn\textwidth}{0ex}&\rule{\rightalgn\textwidth}{0ex}}
% CONSTRAINTS:
% equation label must fit in {1 -\leftalgn -\rightalgn}\textwidth
% \leftalgn must be larger than any text to left of align character
% \rightalgn must be larger than any text to right of align character
\newenvironment{algneqn}{%
\arraycolsep=0ex\renewcommand\arraystretch{0}%
\begin{equation}%
\begin{array}{rl}%
\algnrow\\}%
{\\\algnrow%
\end{array}%
\end{equation}\ignorespacesafterend%
}
\def\snug#1{\vspace*{-#1\baselineskip}}
\begin{document}
\begin{algneqn}
l_t&{}=\sigma_t * \epsilon_t\\
\end{algneqn}
\begin{algneqn}
\hat{VaR}_{0.99,T+1|T}&{}=\hat{\sigma}_{T+1|T} * z_{0.99}\\
\end{algneqn}
\begin{algneqn}
\hat{\sigma}_{T+1|T}^{ewma}&{}=\sqrt{(1-\lambda)\sum_{i=0}^{(262-1)}
\lambda^i l_{T-i}^2}
\end{algneqn}
\end{document}
我编辑了结果,以获得=
标志周围的适当间距,正如 barbara beeton 所指出的那样。由于此方法是使用数组环境完成的,因此我必须使用\arraycolsep
(我没有这样做)或{}
在之前插入一个空占位符=
(我这样做了),以便在=
标志前添加空间。