Latex 中的协议

Latex 中的协议

我想创建一个如下图所示的协议。我还提到我在 beamer 工作。

我的尝试是

\[
\begin{array}{c c c}
\text{\textsf{\underline{\textbf{Prover}}}} & & \text{\textsf{\underline{\textbf{Verifier}}}} \\
k_{\text{sk}},\,k_{r},\,k_{b} \xleftarrow{\$} \mathbb{Z}_q & & \\
A_y = g^{k_\text{sk}} & & \\
A_D = D^{k_\text{r}} & & \\
A_{\Bar{y}} = (\frac{y}{\Bar{y}})^{k_r} & \xrightarrow{\hspace{1em}A_y,\,A_D,\,A_{\Bar{y}}\hspace{1em}} & \\
& & c\xleftarrow{\$} \mathbb{Z}_q \\
& \xleftarrow{\hspace{2.7em}c\hspace{2.7em}} & \\

\end{array}
\]

我希望字母从一条直线开始。

答案1

您还想将三个=符号垂直对齐,对吗?如果是这样,那么array为“Prover”列中的材料使用两个额外的嵌套环境将帮助您实现格式化目标。

我还想建议您简化和精简代码。例如,我认为\text{\textsf{\underline{\textbf{Prover}}}}可以更简洁地写成\underline{\textbf{Prover}}

在此处输入图片描述

\documentclass{beamer}
\begin{document}
\begin{frame}

\[
\begin{array}{@{} ccc @{}}
\underline{\textbf{Prover}} & & \underline{\textbf{Verifier}} \\[1ex]
\setlength\arraycolsep{0pt}
\begin{array}[b]{l}
k_{\mathsf{sk}},\, k_{r},\, k_{b} \xleftarrow{\$} \mathbb{Z}_q \\
  \begin{array}[b]{ll}
    A_y   & {}= g^{k_\mathsf{sk}}  \\
    A_D   & {}= D^{k_\mathsf{r}} \\
    A_{\Bar{y}} & {}= (y/\Bar{y})^{k_r} 
  \end{array}
\end{array}
& \xrightarrow{\hspace{1em} A_y,\, A_D,\, A_{\Bar{y}} \hspace{1em}} \\
& & c\xleftarrow{\$} \mathbb{Z}_q \\
& \xleftarrow{\hspace{2.7em}c\hspace{2.7em}} 
\end{array}
\]

\end{frame}
\end{document}

答案2

fleqn具有环境的解决方案nccmath以及代码的一些简化:

    \documentclass{article}
    \usepackage{amsfonts}
    \usepackage{nccmath}
    \usepackage{showframe}
    \renewcommand{\ShowFrameLinethickness}{0.3pt}

    \begin{document}

    \begin{fleqn}
    \[
    \begin{array}{@{}l c c}
    \textsf{\underline{\textbf{Prover}}} & & \textsf{\underline{\textbf{Verifier}}} \\
    k_{\text{sk}},\,k_{r},\,k_{b} \xleftarrow{\$} \mathbb{Z}_q & & \\
    A_y = g^{k_\text{sk}} & & \\
    A_D = D^{k_\text{r}} & & \\
    A_{\Bar{y}} = (\frac{y}{\Bar{y}})^{k_r} & \xrightarrow{\hspace{1em}A_y,\,A_D,\,A_{\Bar{y}}\hspace{1em}} & \\
    & & c\xleftarrow{\$} \mathbb{Z}_q \\
    & \xleftarrow{\hspace{2.7em}c\hspace{2.7em}} & \\
    \end{array}
    \]
    \end{fleqn}

    \end{document} 

在此处输入图片描述

相关内容