我有一棵树的代码
\[
\[email protected]{
*={\bullet} & &*={\bullet} &
\frm{}\\
&*={\bullet}\ar@{-}[lu] \ar@{-}[ru]& &
}
\]
这将产生这个
作为其输出。但是,我想按如下方式对顶部节点进行编号:
但我希望线段连接到顶点的中心。我尝试\bullet
用\stackrel{i}{\bullet}
以下方法替换:
\[
\[email protected]{
*={\stackrel{1}{\bullet}} & &*={\stackrel{2}{\bullet}} &
\frm{}\\
&*={\bullet}\ar@{-}[lu] \ar@{-}[ru]& &
}
\]
但节点不再与边相连:
这不是我想要的。
答案1
含 Ti 的解决方案钾z。(我从来没有使用过这个xy
包)。
\documentclass[margin=3mm]{standalone}
\usepackage{tikz}
\tikzset{%
pics/bullet/.style args={#1,#2}{
code={
\node at (0,1) [draw,circle,fill,minimum size=2mm,inner sep=0pt,label={$#1$}](#1){};
\node at (2,1) [draw,circle,fill,minimum size=2mm,inner sep=0pt,,label={$#2$}](#2){};
\node at (1,0) [draw,circle,fill,minimum size=2mm,inner sep=0pt](bb){};
\draw (bb)--(#1) (bb)--(#2);
}}}
\begin{document}
\begin{tikzpicture}
\pic at (0,0) {bullet={1,2}};
\pic at (3,0) {bullet={3,4}};
\end{tikzpicture}
\end{document}
答案2
XY 语法非常简洁和强大,但需要一些时间来适应。但使用XY 的\save
and\restore
函数可以轻松添加相对于项目符号位置的标签。请参阅我的回答推出交换图详细解释其工作原理。
\documentclass{article}
\usepackage[all]{xy}
\begin{document}
\[
\[email protected]{
*={\bullet}\save+<0ex,2ex>*={1}\restore & &*={\bullet}\save+<0ex,2ex>*={2}\restore&
\frm{}\\
&*={\bullet}\ar@{-}[lu] \ar@{-}[ru]& &
}
\]
\end{document}