將 Box 新增到多行表達式中,該表達式是對齊方程式的一部分?

將 Box 新增到多行表達式中,該表達式是對齊方程式的一部分?

我想新增一個框(黑色)來封裝這個三行對齊表達式的最後兩行。

如您所見,當前的解決方案靈感來自這個帖子並不完美,因為它缺少一些最頂層的組件。

在此輸入影像描述

請注意,目標是部分對齊表達式的所以一般推薦喜歡boxedempheq可能不起作用。

\newcommand{\pstrut}[1]{\vrule height0pt depth0pt width0pt #1 \fboxsep}
\newcommand*\bmarkeq{\stepcounter{markeq}%
  \tikz[remember picture]\node(startframe-\themarkeq){\pstrut{height}};%
  \kern\fboxsep}
\newcommand*\emarkeq{\kern\fboxsep
  \begin{tikzpicture}[remember picture,overlay]
    \node (endframe-\themarkeq){\pstrut{depth}};
    \draw[,black,opacity=0.8] (startframe-\themarkeq.north) 
      rectangle (endframe-\themarkeq.south);
  \end{tikzpicture}%
}


\begin{align*}
    \mathrm{L}_{c}(\theta) 
    = &\sum_{i=1}^{m} \ln p\left(x_{i}, z_{i} ; \theta\right) \\
    = \bmarkeq &\sum_{i=1}^{m}\left(z_{i}\left[\ln (\pi)+x_{i} \ln \left(p_{r}\right)+\left(1-x_{i}\right) \ln \left(1-p_{r}\right)\right] \\
    &+ \left(1-z_{i}\right)\left[\ln (1-\pi)+x_{i} \ln \left(p_{b}\right)+\left(1-x_{i}\right) \ln \left(1-p_{b}\right)\right]\right) \emarkeq
\end{align*}

答案1

您不需要 TiKZ 來執行此操作:amsmath擁有\boxed命令並 mathtools添加\Aboxed命令,其中可能包括對齊點。為此,有兩個建議:

\documentclass{article}
\usepackage{mathtools}

\begin{document}

\begin{align*}
    \mathrm{L}_{c}(\theta)
    &=\sum_{i=1}^{m} \ln p(x_{i}, z_{i} ; \theta) \\
   & =\boxed{\begin{aligned}[t] &\sum_{i=1}^{m}\bigl(z_{i}\bigl[\ln (\pi)+x_{i} \ln (p_{r})+(1-x_{i}) \ln(1-p_{r})\bigr]\\
   &+(1-z_{i})\bigl[\ln (1-\pi)+x_{i} \ln(p_{b})+(1-x_{i}) \ln(1-p_{b})\bigr]\bigr)\end{aligned}}
\end{align*}

\begin{align*}
    \mathrm{L}_{c}(\theta)
    &=\sum_{i=1}^{m} \ln p(x_{i}, z_{i} ; \theta) \\
\Aboxed{& ={\begin{aligned}[t]&\sum_{i=1}^{m}\bigl(z_{i}\bigl[\ln (\pi)+x_{i} \ln (p_{r})+(1-x_{i}) \ln(1-p_{r})\bigr]\\
   &+(1-z_{i})\bigl[\ln (1-\pi)+x_{i} \ln(p_{b})+(1-x_{i}) \ln(1-p_{b})\bigr]\bigr)\end{aligned}}}
\end{align*}

\end{document} 

在此輸入影像描述

相關內容