答案1
该图像在排版上存在多处不一致之处。
我建议定义语义命令以确保相似的对象总是采用相同的排版。
我不喜欢\ell
,但是你可以用它代替平原l
。
\documentclass{article}
\usepackage{amsmath}
\newcommand{\func}[1]{\mathit{#1}}
\begin{document}
\begin{equation*}
\Pr\left[
X \gets \func{DECODE}(\Delta;r_1,\dots,r_l)
\;\middle|\;
\begin{matrix}
(\Delta;q_1,\dots,q_l) \gets \func{QUERY}(1^\lambda;J) \\
\Lambda(\Lambda_{j=1}^l \gets \func{RESPOND}(X^{(j)};q_j))
\end{matrix}
\right]
\end{equation*}
\end{document}
稍微不同的方法,您可以指定括号作为固有附件,并可以选择其大小(请参阅中\Pr
的文档)。基本上,选择自动大小,(或可选参数中的任何其他分隔符大小更改命令)选择指定的大小。\DeclarePairedDelimiter
mathtools
\Pr*
\Pr[\big]
\documentclass{article}
\usepackage{amsmath,mathtools}
\newcommand{\func}[1]{\mathit{#1}}
\renewcommand{\Pr}{\operatorname{Pr}\brackets}
\DeclarePairedDelimiterX{\brackets}[1]{[}{]}{#1}
\newcommand{\given}{\;\delimsize|\;\mathopen{}}
\begin{document}
\begin{equation*}
\Pr*{
X \gets \func{DECODE}(\Delta;r_1,\dots,r_l)
\given
\begin{matrix}
(\Delta;q_1,\dots,q_l) \gets \func{QUERY}(1^\lambda;J) \\
\Lambda(\Lambda_{j=1}^l \gets \func{RESPOND}(X^{(j)};q_j))
\end{matrix}
}
\end{equation*}
\begin{equation*}
\Pr[\Big]{
X \gets \func{DECODE}(\Delta;r_1,\dots,r_l)
\given
\begin{matrix}
(\Delta;q_1,\dots,q_l) \gets \func{QUERY}(1^\lambda;J) \\
\Lambda(\Lambda_{j=1}^l \gets \func{RESPOND}(X^{(j)};q_j))
\end{matrix}
}
\end{equation*}
\begin{equation*}
\Pr[\bigg]{
X \gets \func{DECODE}(\Delta;r_1,\dots,r_l)
\given
\begin{matrix}
(\Delta;q_1,\dots,q_l) \gets \func{QUERY}(1^\lambda;J) \\
\Lambda(\Lambda_{j=1}^l \gets \func{RESPOND}(X^{(j)};q_j))
\end{matrix}
}
\end{equation*}
\end{document}
答案2
我的主要建议是 (a) 使用\biggl[
、\biggm|
和\biggr]
来构造方程式,以及 (b)对和array
之间的材料使用两行环境。不过,我不会使用环境。无编号的单行显示数学环境就可以了。\biggm|
\biggr]
multline*
\documentclass{article}
\usepackage{amsmath}
\usepackage{array} % for '\newcolumntype' macro
\newcolumntype{L}{>{\displaystyle}l} % automatic displaystyle math mode
\begin{document}
\[
\Pr\biggl[
X\leftarrow \mathit{DECODE}(\Delta;r_1,\dots,r_\ell)
\biggm|
\begin{array}{@{}L@{}}
(\Delta;q_1,\dots,q_\ell)\leftarrow \mathit{QUERY}(1^\lambda;J) \\
\Lambda \bigl(\Lambda^\ell_{j=1}\leftarrow \mathit{RESPOND}(X^{(j)};q_j)\bigr)
\end{array}
\biggr]
\]
\end{document}
答案3
通过使用array
:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
\Pr \left[X\leftarrow\text{DECODE}(\Delta;r_1,\dotsc,r_\ell)\ \middle|
\begin{array}{l}
(\Delta;q_1,\dotsc,q_\ell)\leftarrow \text{QUERY}(1^\lambda;J) \\
\Lambda(\Lambda^\ell _{j=1}) \leftarrow\text{RESPOND}(X^{(j)}:q_j)
\end{array}
\right]
\]
\end{document}