2

I have made the following diagram. But I want the arrow to thick and long. How to do it?

\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

4 Answers 4

3

Making diagrams with the psmatrix environment is another possibility:

\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} 

enter image description here

3

First off, you specified column sep=small which reduces the arrow length. With column sep=large, for example, they will be longer. Then you can specify the arrow tip style with a 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 arrow tip

As for the line thickness, thanks to egreg, you can do it by adding an append style command.

\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}

with the line width

2
  • 1
    Hi, you can see this my recent question....tex.stackexchange.com/questions/596366/…
    – Sebastiano
    Jul 16, 2021 at 8:00
  • 1
    @Sebastiano Yes, of course, I was referring to this question in my answer. But egreg found a way to increase the line width in his answer here.
    – SebGlav
    Jul 16, 2021 at 16:38
2

One more tikz-cd solution with using mathrlap in placement od top right node:

\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}

enter image description here

1

I'm not really sure you want thicker arrows. Anyway, here it is, with some changes to make the arrows pointing to the correct object.

\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}

enter image description here

It might make sense to issue the change to line width the default: issue

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

in the document preamble.

For comparison, here's the output without changing the line width.

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .