我制作了下图。但我想让箭头变粗变长。该怎么做?
\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}
至于线条粗细,感谢 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},
}
在文件序言中。
为了进行比较,这是未改变线宽的输出。