xymatrix 中的多行单元格和箭头位置

xymatrix 中的多行单元格和箭头位置

有没有办法在单元格中使用多行环境\xymatrix

我正在尝试制作类似以下的东西:

\[
\left\{ \begin{gathered}\text{text 1}\\
\text{text 2}\\
A=B
\end{gathered}
\right\} \rightleftarrows\left\{ \begin{gathered}\text{some text here}\\
\text{and here}
\end{gathered}
\right\} ,
\]

在此处输入图片描述

我只是希望得到稍微长一点的弯曲箭头。我尝试使用,\xymatrix但这会导致两个问题:(1) 当我尝试\gathered在单元格中包含多行环境(例如)时收到错误消息,(2) 箭头末端位于单元格内容的上方/下方,而不是其侧面:

\[
\xymatrix{\left\{ \text{text}\right\} \ar@/^{1pc}/[r] & \ar@/^{1pc}/[l]\left\{ \text{more text}\right\} }
\]

在此处输入图片描述

有什么建议吗?谢谢!

答案1

诀窍在于支撑复杂的物体:

\documentclass{article}
\usepackage{amsmath}
\usepackage[all,cmtip]{xy}

\begin{document}

\[
\xymatrix{
  {\begin{Bmatrix}\text{text a}\\\text{text b}\end{Bmatrix}}
  \ar@/^{1pc}/[r] &
  {\begin{Bmatrix}\text{text a}\\\text{text b}\\\text{text c}\end{Bmatrix}}
  \ar@/^{1pc}/[l]
}
\]

\end{document}

在此处输入图片描述

答案2

与用户分配的标签一致,我提出了两种替代方案;第一种是xy使用包,第二种是使用tikz-cd

第一个选择:

在此处输入图片描述

\documentclass[a4paper,12pt]{article}
\usepackage{mathtools}
\usepackage[all]{xy}
\begin{document}

\xymatrix@C=3pc{{\left\{\begin{aligned}
\text{text a}\\
\text{text b}
\end{aligned}\right\}
} \ar@/^{1.5pc}/[r] & \ar@/^{1.5pc}/[l]{\left\{\begin{aligned}
\text{text a}\\
\text{text b}\\
\text{text c}\\
\end{aligned}\right\}
}}
\end{document}

第二种选择: 是否也有机会使用该包获得相同的结果tikz-cd

在此处输入图片描述

\documentclass[a4paper,12pt]{article}
\usepackage{tikz-cd}
\usepackage{amsmath}
\begin{document}
\begin{tikzcd}
\left\{\begin{array}{lr} \text{text a} \\    \text{text b} \\     \end{array}\right\}   \arrow[r, bend left=15] & \left\{\begin{array}{lr} \text{text a} \\    \text{text b} \\    \text{text c} \\ \end{array}\right\} \arrow[l, bend left=15]
\end{tikzcd}
\end{document}

答案3

重制@Sebastiano 答案中的第二个例子:

\documentclass[a4paper,12pt]{article}
\usepackage{tikz-cd}

\begin{document}
{\setlength\tabcolsep{0pt}
 \renewcommand\arraystretch{0.84}
\begin{tikzcd}[bend angle=20]
\left\{\begin{tabular}{lr} 
        text a\\ text b
       \end{tabular}\right\}    \arrow[r, bend left] 
       &    \left\{\begin{tabular}{lr}
                text a\\ text b\\ text c
            \end{tabular}\right\}   \arrow[l, bend left]
\end{tikzcd}
}
\end{document}

在此处输入图片描述

相关内容