答案1
非常感谢你提名我为非常好的用户@AndréC
。与此同时,我已阅读了你的问题:
“对于我使用的交换图tikz-cd
“。好吧,这是一个很好的起点。如果你读过tikz-cd
(到第 13 页),你会看到有的用法\begin{tikzpicture}
,这对于给你一个答案非常重要。
tikz-cd
因此,使用TikZ
像很棒的支持一样,了解这个最后一个包也很重要:我补充说,非常了解这个包。为了构建这个 MWE,我投入了近一个小时……(我记得我是一只蜗牛)……
起点:近似绘图
\documentclass[a4paper,12pt]{article}
\usepackage{tikz-cd}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\usepackage{yhmath}
\begin{document}
\begin{tikzcd}
& & D \arrow[d] \\
A \arrow[r] \arrow[rru, bend left] & \begin{tikzpicture}\node[circle,draw] at (0,0) {$\wideparen{\varphi(0)=y_0,\,\varphi(1)=y_1}$};
\end{tikzpicture} \arrow[r,"f"] & \begin{tikzpicture}\node[ellipse,draw,label={[xshift=3.3cm, yshift=-1.2cm]$X$}] at (1,0) {$f_{\varphi}(0)=x_0,\, f_{\varphi}(1)=f_{y}$};
\end{tikzpicture}
\end{tikzcd}
\end{document}
因此,您可以在矩阵的每个元素内添加一个轮廓(为简单起见,我构建了一个圆周和一个椭圆),并附上标签,但始终使用TikZ
,因为tikz-cd
没有预定义的形状,例如云、星星,您可以在其中放置公式。对我来说,解决方案是独一无二的,您必须至少学习 TikZ 的基础知识,因为每个人都通过阅读和研究软件包来获得技能。我们都没有魔杖。
我试过马查这绝对不优雅。这幅画非常粗略。你可以得到这样的:
\documentclass[a4paper,12pt]{article}
\usepackage{tikz}
\usepackage{graphicx}
\begin{document}
\begin{figure}[h]
\centering
\resizebox{\columnwidth}{!}{
\tikzset{every picture/.style={line width=0.75pt}}
\begin{tikzpicture}[x=0.75pt,y=0.75pt,yscale=-1,xscale=1]
\draw [line width=1.5] (43,287.33) -- (144.5,287.33) ;
\draw (169.5,287.33) -- (231,287.33) ;
\draw [shift={(233,287.33)}, rotate = 180] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ;
\draw (115,275.33) .. controls (137.28,157.52) and (283.53,120.08) .. (333.03,118.37) ;
\draw [shift={(334.5,118.33)}, rotate = 538.81] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ;
\draw [line width=1.5] (274,257.33) .. controls (284,252.33) and (373.17,228.33) .. (403.17,247.33) .. controls (433.17,266.33) and (412,321.33) .. (393.17,322.33) .. controls (374.33,323.33) and (340.33,322.33) .. (306.17,322.33) .. controls (272,322.33) and (243.4,304.08) .. (245.17,290.33) .. controls (246.94,276.58) and (250.76,276.46) .. (256.5,270.55) .. controls (262.23,264.65) and (269,259.83) .. (274,257.33) -- cycle ;
\draw (285,277.33) .. controls (323.17,264.33) and (315.17,280.33) .. (332.17,274.33) .. controls (349.17,268.33) and (346.17,283.33) .. (372.17,274.33) ;
\draw (426.5,288.33) -- (473,288.33) ;
\draw [shift={(475,288.33)}, rotate = 180] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ;
\draw [line width=1.5] (517,254.33) .. controls (525.5,256.2) and (607.5,225.2) .. (637.5,244.2) .. controls (667.5,263.2) and (660.5,317.2) .. (636.17,319.33) .. controls (611.83,321.47) and (583.33,319.33) .. (549.17,319.33) .. controls (515,319.33) and (480.83,323.07) .. (480.5,289.2) .. controls (480.17,255.33) and (486.76,263.11) .. (492.5,257.2) .. controls (498.24,251.29) and (508.5,252.47) .. (517,254.33) -- cycle ;
\draw (517.5,284.2) .. controls (557.5,254.2) and (586.5,254.2) .. (625,273.2) ;
\draw [line width=1.5] (412.5,51.2) .. controls (421,53.07) and (486.5,32.2) .. (562.5,58.2) .. controls (638.5,84.2) and (581.5,145.2) .. (567.5,157.2) .. controls (553.5,169.2) and (433.5,151.2) .. (399.5,161.2) .. controls (365.5,171.2) and (344.33,149.2) .. (344,115.33) .. controls (343.67,81.47) and (346.76,90.11) .. (352.5,84.2) .. controls (358.24,78.29) and (404,49.33) .. (412.5,51.2) -- cycle ;
\draw (382.5,132.2) .. controls (397.5,112.2) and (418.31,94.7) .. (445.5,93.2) .. controls (472.69,91.7) and (516.25,100.7) .. (535.5,110.2) ;
\draw (522.5,171.2) -- (522.98,235.33) ;
\draw [shift={(523,237.33)}, rotate = 269.57] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ;
% Text Node
\draw (45,290.73) node [anchor=north west][inner sep=0.75pt] {$0$};
% Text Node
\draw (135.5,290.73) node [anchor=north west][inner sep=0.75pt] {$1$};
% Text Node
\draw (91,266.73) node [anchor=north west][inner sep=0.75pt] {$I$};
% Text Node
\draw (198,265.73) node [anchor=north west][inner sep=0.75pt] {$\varphi $};
% Text Node
\draw (250.17,280.73) node [anchor=north west][inner sep=0.75pt] {$\varphi ( 0) =y_{0}$};
% Text Node
\draw (344.17,279.73) node [anchor=north west][inner sep=0.75pt] {$\varphi ( 1) =y_{1}$};
% Text Node
\draw (443,266.73) node [anchor=north west][inner sep=0.75pt] {$f$};
% Text Node
\draw (487.17,288.73) node [anchor=north west][inner sep=0.75pt] {$f_{\varphi }( 0) =0$};
% Text Node
\draw (562.17,271.73) node [anchor=north west][inner sep=0.75pt] {$f_{\varphi}(1) =f(y)$};
% Text Node
\draw (401.17,325.73) node [anchor=north west][inner sep=0.75pt] {$Y$};
% Text Node
\draw (639.17,322.73) node [anchor=north west][inner sep=0.75pt] {$X$};
% Text Node
\draw (365.17,130) node [anchor=north west][inner sep=0.75pt] {$\tilde{f}_{\varphi}( 0) =\tilde{x}_{0}$};
% Text Node
\draw (534.17,96.73) node [anchor=north west][inner sep=0.75pt] {$\tilde{f}_{\varphi }( 1)$};
% Text Node
\draw (530,192.73) node [anchor=north west][inner sep=0.75pt] {$P$};
% Text Node
\draw (592,133.73) node [anchor=north west][inner sep=0.75pt] {$\tilde{X}$};
% Text Node
\draw (159,141.6) node [anchor=north west][inner sep=0.75pt] {$\widetilde{f_{\varphi}}$};
\end{tikzpicture}}
\caption{Diagram on Kosniowski}
\end{figure}
\end{document}
如果你创建了一个包裹公式的样条线,那么你必须找到正确的坐标,这是一个大问题,因为马查使用大量代码,你会浪费很多时间。所以我真诚地建议你TikZ
慢慢来……