如何使方程组居中?

如何使方程组居中?

我有四个数学函数定义,我想将它们居中,以便函数名称从同一点开始,并且在冒号之后,在定义域和范围之前有一些空格。目前,我有这个代码段:

\documentclass{paper}
\begin{document}

\begin{center}
$\mathsf{Gen}: \mathbb{N} \rightarrow \mathcal{K}_p \times \mathcal{K}_s \times \mathcal{K}_e$

$\mathsf{Enc}: \mathcal{K}_p \times \mathcal{P} \rightarrow \mathcal{X}$

$\mathsf{Dec}: \mathcal{K}_s \times \mathcal{Z} \rightarrow \mathcal{P}$

$\mathsf{Eval}: \mathcal{K}_e \times \mathcal{C} \times \mathcal{Z^*} \rightarrow \mathcal{Y}$
\end{center}

\end{document}

但这会导致输出失真。我希望输出如下所示:

在此处输入图片描述

有什么想法可以实现吗?请注意,整个方程组也应位于页面的中心。

答案1

也许align

在此处输入图片描述

\documentclass{paper}
\usepackage{amsmath,amsfonts}
\begin{document}

\begin{align*}
\mathsf{Gen}:&& \mathbb{N} &\rightarrow \mathcal{K}_p \times \mathcal{K}_s \times \mathcal{K}_e\\
\mathsf{Enc}:&& \mathcal{K}_p \times \mathcal{P} &\rightarrow \mathcal{X}\\
\mathsf{Dec}:&& \mathcal{K}_s \times \mathcal{Z} &\rightarrow \mathcal{P}\\
\mathsf{Eval}:&& \mathcal{K}_e \times \mathcal{C} \times \mathcal{Z^*} &\rightarrow \mathcal{Y}
\end{align*}

\end{document}

答案2

一种是带有 align 的变体,另一种是带有 的变体alignat

\documentclass{paper}
\usepackage{amsmath,amsfonts}
\begin{document}

\begin{align*}
    & \mathsf{Gen}: & \mathbb{N} & → \mathcal{K}_p × \mathcal{K}_s × \mathcal{K}_e & & \\
  & \mathsf{Enc}:& \mathcal{K}_p × \mathcal{P} & → \mathcal{X}\\
  & \mathsf{Dec}:& \mathcal{K}_s × \mathcal{Z} & → \mathcal{P}\\
  & \mathsf{Eval}:& \mathcal{K}_e × \mathcal{C} × \mathcal{Z^*} & → \mathcal{Y}
\end{align*}

\begin{alignat*}{2}
    & \mathsf{Gen}: & \hspace{5em} & \mathbb{N} → \mathcal{K}_p × \mathcal{K}_s × \mathcal{K}_e \\
    & \mathsf{Enc}: & & \mathcal{K}_p × \mathcal{P} → \mathcal{X} \\
    & \mathsf{Dec}: & & \mathcal{K}_s × \mathcal{Z} → \mathcal{P} \\
    & \mathsf{Eval}: & & \mathcal{K}_e × \mathcal{C} × \mathcal{Z^*} → \mathcal{Y}
\end{alignat*}

\end{document} 

在此处输入图片描述

答案3

以下是我的做法:

\documentclass{paper}

\usepackage{amsmath}
\usepackage{amsfonts}

\newcommand*\name[1]{\text{$\mathsf{#1}$:}}
\newcommand*\letter[1]{\mathcal{#1}}

\begin{document}

\begin{alignat*}{2}
  &\name{Gen}  &       \mathbb{N}     \times \letter{A}                          &\to \letter{K}_{p} \times \letter{K}_{s} \times \letter{K}_{e},\\
  &\name{Enc}  &       \letter{K}_{p} \times \letter{P}                          &\to \letter{X},\\
  &\name{Dec}  &       \letter{K}_{s} \times \letter{Z}                          &\to \letter{P},\\
  &\name{Eval} &\qquad \letter{K}_{e} \times \letter{C} \times \letter{Z}^{\ast} &\to \letter{Y}.
\end{alignat*}

\end{document}

输出

注意删除单词/缩写和冒号之间的空格。

相关内容