这里是否对齐了正确的环境?

这里是否对齐了正确的环境?

我对以下问题有很多疑问。我想要这个: 在此处输入图片描述

这是我现在的代码:

\documentclass[11pt, a4paper, english]{article}
\usepackage[main=english, ngerman]{babel}
\usepackage{amsmath, amssymb, amsfonts, mathtools, amsthm}
\usepackage{stmaryrd}
\usepackage{geometry}

\begin{document}
\begin{align*}
\lbrace \rho : G \rightarrow \text{GL}(K^n) \, |\, \rho &\, \text{is a homomorphism} \rbrace 
\overset{1:1}\longleftrightarrow
\lbrace \rho':G\rightarrow \text{GL}_n(K) \, | \, \rho' \, \text{is a homomorphism} \rbrace \\
 \rho&\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,
 \,\,\,\,\,\,\,\,\,\, 
 \,\,\, \longmapsto \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,
 \textbf{c}_{B,B}(?)\circ p \\
 \textbf{c}_{B,B}(?&)^{-1} \circ \rho'  
 \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, \longmapsfrom \,\,\, 
 \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, 
 \rho'
 \end{align*}
 \end{document}

我手动在两个元素的映射之间留出了空间。有没有更优雅的解决方案?也许使用更多的“,,&”符号来表示“在这里设置第一个,在这里设置第二个,依此类推……”也许除了对齐之外,还需要另一个环境?

提前致谢!

答案1

我会避免使用长篇文字描述集合。我认为每个人都能理解“hom”。左边的符号\longmapsto被理解为上方集合中的变量,右边的符号也是如此\longmapsfrom

我建议两种不同的排列方式,请您自行选择。

\documentclass[11pt, a4paper, english]{article}
\usepackage[main=english, ngerman]{babel}
\usepackage{amsmath, amssymb, mathtools, amsthm,array}
\usepackage{stmaryrd}
\usepackage{geometry}

\DeclareMathOperator{\GL}{GL}

\begin{document}

\begin{equation*}
\renewcommand{\arraystretch}{1.2}
\setlength{\arraycolsep}{0pt}
\begin{array}{ c >{{}}c<{{}} c }
\hom(G,\GL(K^n)) & \overset{1:1}\longleftrightarrow  & \hom(G,\GL_n(K)) \\
\rho             & \longmapsto                       & \mathbf{c}_{B,B}(?)\circ \rho \\
\mathbf{c}_{B,B}(?)^{-1} \circ \rho' & \longmapsfrom &  \rho'
\end{array}
\end{equation*}

\begin{equation*}
\renewcommand{\arraystretch}{1.2}
\setlength{\arraycolsep}{0pt}
\begin{array}{ r >{{}}c<{{}} l }
\hom(G,\GL(K^n)) & \overset{1:1}\longleftrightarrow  & \hom(G,\GL_n(K)) \\
\rho             & \longmapsto                       & \mathbf{c}_{B,B}(?)\circ \rho \\
\mathbf{c}_{B,B}(?)^{-1} \circ \rho' & \longmapsfrom &  \rho'
\end{array}
\end{equation*}

\end{document}

在此处输入图片描述

的(局部)重新定义\arraystretch是为了展开数组的行(例如,它与amsmath的操作相同)。cases

为什么\setlength{\arraycolsep}{0pt}?我们想依靠 TeX 在数学公式中添加的自动间距,而不是填充列。因此,中间列以特殊方式设置,方法是

>{{}}c<{{}}

这意味着中间一列中将array出现或类似内容(有关语法,{}\longmapsto{}请参阅包的文档)。由于在数学模式下排版每个单元格,因此两个空组在关系符号周围提供了“幻像原子”,TeX 会适时在这些原子和关系符号之间插入标准间距。arrayarray

为什么equation*?因为显示屏中只有一个对象,即array。最好将 保留align用于不同行中有多个对象的显示屏,因此 位于\\“外层”。

答案2

也许tikz-cd这里值得一试。

\documentclass[10pt]{article}
\usepackage{geometry}
\usepackage{amsmath}
\usepackage{tikz-cd}
\begin{document}
\[\begin{tikzcd}[row sep=1ex]
\lbrace \rho : G \rightarrow \text{GL}(K^n)  \mid \rho  \text{ is a homomorphism} \rbrace 
\arrow[r,"1:1"]&
\lbrace \rho':G\rightarrow \text{GL}_n(K)  \mid  \rho'  
\text{ is a homomorphism} \rbrace 
\\
\rho\arrow[r,mapsto]&
 \textbf{c}_{B,B}(?)\circ p \\
 \textbf{c}_{B,B}(?)^{-1} \circ \rho'  
 &\arrow[l,mapsto] \rho'
\end{tikzcd}\]
\end{document}

在此处输入图片描述

答案3

如果你想居中,我会使用数组(并且\mid

在此处输入图片描述

\documentclass{article}
\addtolength\textwidth{70pt}
\usepackage{array,amsmath}

\begin{document}


\[\renewcommand\arraystretch{1.5}
  \begin{array}{c@{}>{{}}c<{{}}@{}c}
\lbrace \rho : G \rightarrow \mathrm{GL}(K^n)  \mid \rho  \text{ is a homomorphism} \rbrace 
&\overset{1:1}\longleftrightarrow&
\lbrace \rho':G\rightarrow \mathrm{GL}_n(K)  \mid  \rho'  \text{ is a homomorphism} \rbrace \\
 \rho
  &\longrightarrow& % to not defined
 \textbf{c}_{B,B}(?)\circ p \\
 \textbf{c}_{B,B}(?)^{-1} \circ \rho'  
  &\longrightarrow  &% from not defined
   \rho'  
  \end{array}
\]
\end{document}

相关内容