按照 LaRiFaRi 的建议回答这个问题,我从 切换XY-Pic
到tikz-cd
。下面的文件包含我在XY-Pic
和 中的图表tikz-cd
。请帮助我使我的图表变得tikz-cd
漂亮!
我想:
将有问题的箭头从$\ell-1$改进为1;
使箭尖更锋利,如
XY-Pic
;使实线接触(或至少几乎接触)小圆圈。
请注意,我的图是(仿射)Dynkin 图,因此它应该看起来像 Dynkin 图,请参阅这些照片。
编辑:我从 LaRiFaRi 的回答中取出了更正后的箭头,并按照他的建议在库中找到了合适的箭头尖。现在这个图比 的图好看多了XY-Pic
。但我仍然需要实线来靠近小圆圈。下面是更正后的图表。
\documentclass[a4paper,12pt]{amsart}
\usepackage[all]{xy}
\usepackage{tikz-cd}
\usetikzlibrary{arrows.meta}
\def\ccc{{ \lower0.3ex\hbox{{\text{\Large$\circ$}}}}}
\newcommand{\bc}[1]{{\overset{#1}{\ccc}}}
\newcommand{\bcu}[1]{{\underset{#1}{\ccc}}}
\begin{document}
\[ \xymatrix@1@R=-5pt@C=10pt{
& \bc{0} \ar@{-}[rd]\ar@/^0.75pc/@{-->}[rrrr] && &&\bc{\ell-1}\ar@{-}[ld]
\ar@{-->} `l[lld] `[lldd] [lllldd] \\
&&\bc{2}\ar@{-}[r] & \cdots \ar@{-}[r] & \bc{\ell-2} \\
&\bc{1}\ar@{-}[ru] \ar@/_0.7pc/@{-->}[rrrr] & & & &\bc{\ell}\ar@{-}[lu]
\ar@{--2>} `d[l] `l[lllll] `[uu] [lllluu] \\
} \]
\bigskip
\[ \begin{tikzcd}[every arrow/.append style={dash},row sep=-5pt, column sep=10pt]
\bc{0} \arrow{dr} \arrow[thin,-{Stealth[open]}, dashed,bend left=20]{rrr}
& &[.8cm] & \bc{\ell-1}
\arrow[thin,-{Stealth[open]}, dashed, rounded corners,
to path={ -- ([xshift=-1.795cm]\tikztostart.west) |-
(\tikztotarget)}]{llldd}
\\
& \bc{2} \arrow{r}[description]{\ldots} & \bc{\ell-2} \arrow{ur}\arrow{dr} &
\\
\bc{1}\arrow[thin,-{Stealth[open]}, dashed,bend right=20]{rrr}\arrow{ur} &
& & \bc{\ell}
\arrow[thin,-{Stealth[open]}, dashed, rounded corners,
to path={ -- ([yshift=-2ex]\tikztostart.south) -|
([xshift=-1.5ex]\tikztotarget.west) -- (\tikztotarget)}]{uulll}
\end{tikzcd} \]
\end{document}
答案1
您可以试用该dynkin-diagrams
软件包。此示例包含在文档中。请注意,默认情况下,此 D 系列图的仿射根用白色圆圈标记,而其他根则用实心圆圈标记;如果您不喜欢,可以轻松更改此设置。
\documentclass{amsart}
\usepackage{dynkin-diagrams}
\tikzset{big arrow/.style={
-Stealth,line cap=round,line width=1mm,
shorten <=1mm,shorten >=1mm}}
\newcommand\catholic[2]{\draw[big arrow,green!25!white]
(root #1) to (root #2);}
\newcommand\protestant[2]{
\begin{scope}[transparency group, opacity=.25]
\draw[big arrow,orange] (root #1) to (root #2);
\end{scope}}
\begin{document}
\begin{dynkinDiagram}[edge length=1.2cm,
indefinite edge/.style={thick,loosely dotted},
labels*={0,1,2,3,\ell-3,\ell-2,\ell-1,\ell}]{D}[1]{}
\catholic{0}{6}\catholic{1}{7}
\protestant{7}{0}\protestant{6}{1}
\end{dynkinDiagram}
\end{document}
答案2
也许是这个?
% arara: pdflatex
\documentclass[a4paper,12pt]{amsart}
\usepackage{tikz-cd}
\begin{document}
\[
\begin{tikzcd}[row sep=-5pt, column sep=10pt,cells={nodes={draw, circle,font=\tiny, inner sep=2pt, minimum size=24pt}}]
1 \arrow[dash]{dr} \arrow[dashed,bend left=25]{rrr} & &[.8cm] &
\ell-1 \arrow[dashed, rounded corners, to path={ -- ([xshift=-1.795cm]\tikztostart.west) |- (\tikztotarget)}]{llldd}
\\
& 2 \arrow[dash]{r}[description]{\ldots} & \ell-2 \arrow[dash]{ur}\arrow[dash]{dr} &
\\
1 \arrow[dash]{ur} & & &
\ell \arrow[dashed,bend left=25]{lll} \arrow[dashed, rounded corners, to path={ -- ([yshift=-2ex]\tikztostart.south) -| ([xshift=-1.5ex]\tikztotarget.west) -- (\tikztotarget)}]{uulll}
\end{tikzcd}
\]
\end{document}
我没有改变箭头,因为原来的箭头xy
太丑了。如果你想换成其他样式,只需查看手册即可。xy
箭头不包括在内。