Latex 中的三角交换图

Latex 中的三角交换图

我制作了下图。但我想让箭头变粗变长。该怎么做?

\begin{tikzcd}[column sep=small]

X \supseteq \phi^{-1}(V) \arrow{r}{\varphi}  \arrow[swap]{rd}{f \circ \varphi} 

  & V \subseteq Y \arrow{d}{f} \\

    & k
\end{tikzcd}

答案1

使用环境制作图表psmatrix是另一种可能性:

\documentclass{article}
\usepackage{amssymb}
\usepackage{pst-node}

\begin{document}

\[
\begin{psmatrix}%[column sep=large]
X \supseteq \phi^{-1}(V) & V \subseteq Y \\
& k
\psset{arrowinset=0.12,linejoin=1, arrows=->, labelsep=1pt}
\ncline{1,1}{1,2}\naput{\varphi}
\ncline{1,1}{2,2}\nbput[nrot=:U]{f \circ \varphi}
\ncline[nodesep=2pt]{1,2}{2,2}\naput{f}
\end{psmatrix}
\]

\end{document} 

在此处输入图片描述

答案2

首先,您指定了column sep=small减少箭头长度的选项。column sep=large例如,使用 ,箭头会更长。然后,您可以使用 指定箭头尖样式tikzcdset

\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{amsmath,amssymb,tikz-cd}
\usetikzlibrary{arrows.meta}

\tikzcdset{arrow style=tikz,diagrams={line width=2pt,>={Stealth[round,length=8pt,width=5pt,inset=2.75pt]}}}

\begin{document}
    \begin{tikzcd}[column sep=large]
    X \supseteq \phi^{-1}(V) \arrow{r}{\varphi}  \arrow[swap]{rd}{f \circ \varphi} & V \subseteq Y \arrow{d}{f} \\
        & k
    \end{tikzcd}
\end{document}

tikzcd 箭头

至于线条粗细,感谢 egreg,您可以通过添加命令来实现append style

\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{amsmath,amssymb,tikz-cd}
\usetikzlibrary{arrows.meta}

\tikzcdset{
    every arrow/.append style={line width=1pt},
    arrow style=tikz,
    diagrams={line width=2pt,>={Stealth[round,length=8pt,width=5pt,inset=2.75pt]}}}

\begin{document}
    \begin{tikzcd}[column sep=large]
    X \supseteq \phi^{-1}(V) \arrow{r}{\varphi}  \arrow[swap]{rd}{f \circ \varphi} & V \subseteq Y \arrow{d}{f} \\
        & k
    \end{tikzcd}
\end{document}

与线宽

答案3

另一个tikz-cd解决方案是使用mathrlap放置在右上节点的位置:

\documentclass{article}
\usepackage{mathtools}
\usepackage{tikz-cd}
\usetikzlibrary{arrows.meta}

\begin{document}
\[
    \begin{tikzcd}[sep=large,
every arrow/.append style={-{Straight Barb[scale=0.8]},semithick}
                 ]
X \supseteq \phi^{-1}(V)
  \rar["\varphi"]
  \drar["f \circ \varphi"'] 
    &  V \mathrlap{\subseteq Y}
      \dar["f"] \\
    & k
    \end{tikzcd}
\]
\end{document}

在此处输入图片描述

答案4

我不太确定您是否想要更粗的箭头。无论如何,这就是它,经过一些更改,使箭头指向正确的对象。

\documentclass{article}
\usepackage{amsmath,tikz-cd}

\begin{document}

\begin{tikzcd}[every arrow/.append style={line width=0.6pt}]
\makebox[0pt][r]{$X \supseteq{}$} \phi^{-1}(V)
  \arrow[r,"\varphi"]
  \arrow[rd,"f \circ \varphi"'] &
V \makebox[0pt][l]{${}\subseteq Y$}
  \arrow{d}{f} \\
& k
\end{tikzcd}

\end{document}

在此处输入图片描述

line width将更改发布到默认值可能是有意义的:发布

\tikzcdset{
  every arrow/.append style={line width=0.6pt},
}

在文件序言中。

为了进行比较,这是未改变线宽的输出。

在此处输入图片描述

相关内容