有没有办法在单元格中使用多行环境\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}