如何制作如图所示的类似方程式环境?

如何制作如图所示的类似方程式环境?

我认为有很多方法可以创建类似下图的环境,但我不确定最简单的方法是什么。我的代码如下,但我知道它不是这样的。我将多次需要这种如图所示的环境,所以知道如何创建它会很好。

  \text{Pr}\Bigg[
  \begin{eqnarray*}
    (pp, t) \leftarrow \textsf{Setup}(1^k, m) & & \\
    (pvk, x, aux) \leftarrow \textsf{Stretch}(pp), & : & 
    \textsf{Verify}(pp, pvk, t, i, x_i, \pi) = 1 \\
    \pi \leftarrow \textsf{Prove}(pp, aux, i) & & \\
  \end{eqnarray*}
  \Bigg]

在此处输入图片描述

答案1

希望以下代码能够满足您的要求:

\documentclass{book}
\usepackage{mathtools}
\newcommand{\pp}{\operatorname{pp}}
\newcommand{\pvk}{\operatorname{pvk}}

\begin{document}

\begin{align*}
\Pr
\begin{bmatrix*}[l]
    (\pp, \tau) \xleftarrow{\$}{}\text{Setup}(1^{\lambda}, m)  \\
    (\text{pvk}, x, \text{aux}) \xleftarrow{\$}{} \text{Stretch}(\pp), :     \text{Verify}(\pp, \pvk, \tau, i, x_i, \pi) = 1 \\
    \pi \xleftarrow{\$}{} \text{Prove}(\pp, \text{aux}, i)
\end{bmatrix*}=1.
\end{align*}

\end{document}

在此处输入图片描述

答案2

我提出了一个基于\DeclarePairedDelimiterXPP以下内容的解决方案mathtools

\documentclass[]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{mathtools}
\DeclarePairedDelimiterXPP{\PR}[1]{\operatorname{Pr}}{[} {]}{}{\begin{array}{@{}l@{}}#1 \end{array}}

\begin{document}

    \[ \PR*{ (\mathsf{pp}, \mathcal{T}) \xleftarrow{\$} \textsf{Setup}(1^k, m) \\
 (\mathsf{pvk}, x, \mathsf{aux}) \xleftarrow{\$} \textsf{Stretch}(\mathsf{pp}), : \textsf{Verify}(\mathsf{pp}, \mathsf{pvk},\mathcal{T}, i, x_i, \pi) = 1 \\
 \pi \xleftarrow{\$} \textsf{Prove}(\mathsf{pp}, \mathsf{aux}, i)} \]%

\end{document} 

在此处输入图片描述

答案3

使用的解决方案empheq包裹。

\documentclass[]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{empheq}
\DeclareMathOperator{\PR}{Pr}
\begin{document}
\begin{empheq}[left={\PR = \empheqlbrack},right={\empheqrbrack = 1}]{align*}
&   (pp, t) \leftarrow \textsf{Setup}(1^k, m)  \\
&   (pvk, x, aux) \leftarrow \textsf{Stretch}(pp), : \textsf{Verify}(pp, pvk, t, i, x_i, \pi) = 1 \\
&    \pi \leftarrow \textsf{Prove}(pp, aux, i) 
\end{empheq}
\end{document}

在此处输入图片描述

相关内容