我有这个交换图,用以下方式绘制tiz-cd
:
\[
\begin{tikzcd}[row sep=0.1em]
R \arrow[r, "T_R"] & T_R(R) \arrow[r, "G", dashed] & T_S(S) & S \arrow[l, "T_S"'] \\
& \rotatebox[origin=c]{270}{\subseteq} & \rotatebox[origin=c]{270}{\subseteq}\\
\left( -T_R(R) \right) \cup T_R(R) = & \ex{U_R'} \rar["\left. J' \right|_{\ex{U_R'}}"] & \ex{U_S'} = T_S(S) \cup \left( - T_S(S) \right)
\end{tikzcd}
\]
我希望最后一行的两个方程式保持在一起,最后一行的箭头居中,并且需要T_S(S) \subseteq \ex{U_S'}
对齐,就像T_R(R) \subseteq \ex{U_R'}
已经在箭头左侧一样。我该如何实现?
顺便说一下,\ex
是一个普通的数学运算符。
编辑:重要的是T_R(R)
是的子集U_R'
,并且T_S(S)
是的子集U_S'
,我确实实现了在箭头左侧显示,并希望以相同的方式在底线箭头右侧显示。
答案1
我并不确信这tikz-cd
是实现这一目标的最佳工具,但当然可以做到。
\documentclass{article}
\usepackage{mathtools}
\DeclareMathOperator{\ex}{ex}
\usepackage{tikz-cd}
\begin{document}
\[
\begin{tikzcd}%[row sep=0.1em]
R \arrow[r, "T_R"] & T_R(R)
\arrow[d,"\subseteq" {sloped,marking},draw=none]
\arrow[r, "G", dashed] & [8.5em]T_S(S)
\arrow[d,"\subseteq" {sloped,marking},draw=none]
& S \arrow[l, "T_S"'] \\
&
\mathllap{\left( -T_R(R) \right) \cup\,} T_R(R)\mathrlap{{}= \ex{U_R'}}
\arrow[r,"\left. J'\right|_{\ex{U_R'}}",
shorten <={width("${}=\ex{U_R'}$")},
shorten >={width("$\ex{U_S'} ={}$")}] &\mathllap{\ex{U_S'} ={}}
T_S(S) \mathrlap{\,\cup \left( - T_S(S) \right)}
\end{tikzcd}
\]
\end{document}
至于澄清的问题:
\documentclass{article}
\usepackage{mathtools}
\DeclareMathOperator{\ex}{ex}
\usepackage{tikz-cd}
\begin{document}
\[
\begin{tikzcd}
\hphantom{\left( -T_R(R) \right)\cup}R \arrow[r, "T_R"] & T_R(R)
\arrow[d,"\subseteq" {sloped,marking},draw=none]
\arrow[r, "G", dashed] &[2.5em] T_S(S)
\arrow[d,"\subseteq" {sloped,marking},draw=none]
& S \arrow[l, "T_S"']\hphantom{\cup \left( - T_S(S) \right)} \\
&
\mathllap{\left( -T_R(R) \right) \cup T_R(R)=} \ex{U_R'}
\arrow[r,"\left. J'\right|_{\ex{U_R'}}"] &\ex{U_S'}
\mathrlap{{}=T_S(S) \cup \left( - T_S(S) \right)}
\end{tikzcd}
\]
\end{document}
请注意\hphantom
s 以确保它也适用于fleqn
,并注意\rotatebox[origin=c]{270}{\subseteq}
您的问题会导致错误,因为您必须切换到数学模式,但我认为
\arrow[d,"\subseteq" {sloped,marking},draw=none]
更干净。