考虑以下交换图的代码,然后是输出。
\documentclass{amsart}
\usepackage{tikz-cd}
\begin{document}
\[
\begin{tikzcd}
A \arrow[r, leftrightarrow, "\alpha"] \arrow[d, "\int^a_b", swap] & C\quad(\subseteq S) \arrow[d, "\int^c_d"]\\
B \arrow[r, leftrightarrow, "\beta", swap] & D\quad(\subseteq T)
\end{tikzcd}
\]
\end{document}
我很高兴能通过以下方式帮助修改输出。
- 右边的向下箭头应该向左移动,以便看起来连接
C
到D
。 - 向下的箭头应该更长。
- 积分符号应该更长。
答案1
你可以
C
分别放入(\subseteq S)
不同的单元格中,- 改变列和行之间的距离,
- 添加
\displaystyle
到积分中。
要得到
\documentclass{amsart}
\usepackage{tikz-cd}
\begin{document}
\[
\begin{tikzcd}[column sep={8mm,between origins},row sep=1.2cm]
A \arrow[rr, leftrightarrow, "\alpha"] \arrow[d, "\displaystyle\int^a_b", swap]
&& C \arrow[d, "\displaystyle\int^c_d"] &(\subseteq S) \\
B \arrow[rr, leftrightarrow, "\beta", swap] && D &(\subseteq T)
\end{tikzcd}
\]
\end{document}
答案2
我不太擅长钛钾Z,但希望以下内容能解决你的前两个问题
\documentclass{amsart}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) node {$A$};
\draw (1.5,0) node {$C$};
\draw (0,-1.5) node {$B$};
\draw (1.5,-1.5) node {$D$};
\draw (2.5,0) node {$(\subseteq S)$};
\draw (2.5,-1.5) node {$(\subseteq T)$};
\draw[<->] (0.2,0) -- (1.3,0);
\draw[<->] (0.2,-1.5) -- (1.3,-1.5);
\draw[->] (0,-0.2) -- (0,-1.3);
\draw[->] (1.5,-0.2) -- (1.5,-1.3);
\begin{scriptsize}
\draw (0.75,0) node[above] {$\alpha$};
\draw (0.75,-1.5) node[below] {$\beta$};
\draw (0,-0.75) node[left] {$\int_b^a$};
\draw (1.5,-0.75) node[right] {$\int_d^c$};
\end{scriptsize}
\end{tikzpicture}
\end{document}
对于问题 3:从我的角度来看,如果延长符号,积分符号会看起来更糟糕一些,因为它不适合a
、b
等。但是,如果您真的想延长符号,我建议放大整个符号:
\documentclass{amsart}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) node {$A$};
\draw (1.5,0) node {$C$};
\draw (0,-1.5) node {$B$};
\draw (1.5,-1.5) node {$D$};
\draw (2.5,0) node {$(\subseteq S)$};
\draw (2.5,-1.5) node {$(\subseteq T)$};
\draw[<->] (0.2,0) -- (1.3,0);
\draw[<->] (0.2,-1.5) -- (1.3,-1.5);
\draw[->] (0,-0.2) -- (0,-1.3);
\draw[->] (1.5,-0.2) -- (1.5,-1.3);
\begin{scriptsize}
\draw (0.75,0) node[above] {$\alpha$};
\draw (0.75,-1.5) node[below] {$\beta$};
\end{scriptsize}
%\begin{small}
\draw (0,-0.75) node[left] {$\int_b^a$};
\draw (1.5,-0.75) node[right] {$\int_d^c$};
%\end{small}
\end{tikzpicture}
\end{document}
答案3
- 使用该选项重新定位箭头
shift right
。(参见tikz-cd
手册。) - 使用该选项延伸向下的箭头
row sep
。(参见tikz-cd
手册。) - 使用拉伸积分符号
scalerel
,如上所述这里。
此外,
- 可以使用选项调整箭头与其标签之间的距离
outer sep
,如上所述这里。 - 可以使用例如 来更改箭头尖端
arrow style=tikz, >=Latex
。(请参阅tikz-cd
手册。)
修改后的代码如下。
\documentclass{amsart}
\usepackage{tikz-cd}
\usepackage{scalerel}
\def\stretchint#1{\vcenter{\hbox{\stretchto[440]{\displaystyle\int}{#1}}}}
\begin{document}
\[
\begin{tikzcd}[row sep = huge, column sep = large, outer sep = 1mm, arrow style=tikz, >=Latex]
A \arrow[r, leftrightarrow, "\alpha"] \arrow[d, "\stretchint{3ex}^a_{\hspace{-1.5mm}b}", swap] & C\quad(\subseteq S) \arrow[d, "\stretchint{3ex}^c_{\hspace{-1.5mm}d}", shift right = .6cm]\\
B \arrow[r, leftrightarrow, "\beta", swap] & D\quad(\subseteq T)
\end{tikzcd}
\]
\end{document}