因此我尝试绘制一个类似的图表:
到目前为止我已经这样做了:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
% Circles
\draw[fill=white] (0,0) node[circle,minimum
size=1cm,draw,fill] (A) {$H$};
\draw[fill=white] (-4,-5)
node[circle,minimum size=1cm,draw,fill] (B) {$\sigma$};
\draw[fill=white] (4,-5) node[circle,minimum size=1cm,draw,fill] (C)
{$T$};
\draw[fill=white] (0,-1.5) node[circle,minimum
size=1cm,draw,fill] (D) {$M$};
\draw[fill=white] (-1.3,-3.5)
node[circle,minimum size=1cm,draw,fill] (E) {$\varepsilon$};
\draw[fill=white] (1.3,-3.5) node[circle,minimum size=1cm,draw,fill]
(F) {$\delta S$};
% Paths
\draw[-] (A) -- (B);
\draw[-] (A) -- (C);
\draw[-] (A)-- (D);
\draw[-] (A) -- (D);
\draw[-] (D) -- (E);
\draw[-] (D) -- (F);
\draw[-] (E) -- (F);
\draw[-] (D) -- (B);
\draw[-] (D) -- (C);
\draw[-] (E) -- (B);
\draw[-] (E) -- (C);
\draw[-] (F) -- (C);
\draw[-] (F) -- (B);
\draw[-] (B) -- (C);
\end{tikzpicture} \end{document}
- 我怎样才能在第一张图片中的线条上写东西?
- 我所采用的方法是最有效的吗? 请注意,改变任何圆的大小/节点的位置都会导致线相交,形成不同大小的圆(有的大,有的 小,取决于里面的文字)等等...
答案1
写
\draw (D) -- (C) node[midway, font=\scriptsize, sloped] {<text>};
您可以添加above
或below
到选项来更改位置。
如果需要沿着路径“移动”节点,则将 替换midway
为pos=
,并在 后给出一个介于 0 和 1 之间的数字=
,这样0
是路径的起点,1
是终点,每个小数都是一个点。例如,pos=0.5
相当于midway
,pos=.75
是路径的 3/4,等等。
答案2
如果你使用edge
画线,那么你可以加载quotes
库并说,例如,
\draw (A) edge ["text along line"] (B);
如果在配置样式时使用该auto
选项every edge quotes
,那么您可以写入"text along line"'
“交换”标签与路径的关系,例如从上到下或从左到右。
例如:
\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{quotes}
\begin{document}
\begin{tikzpicture}
[
every edge quotes/.append style={sloped, font=\sffamily\scriptsize, auto}
]
% Circles
\draw[fill=white] (0,0) node[circle,minimum size=1cm,draw,fill] (A) {$H$};
\draw[fill=white] (-4,-5) node[circle,minimum size=1cm,draw,fill] (B) {$\sigma$};
\draw[fill=white] (4,-5) node[circle,minimum size=1cm,draw,fill] (C) {$T$};
\draw[fill=white] (0,-1.5) node[circle,minimum size=1cm,draw,fill] (D) {$M$};
\draw[fill=white] (-1.3,-3.5) node[circle,minimum size=1cm,draw,fill] (E) {$\varepsilon$};
\draw[fill=white] (1.3,-3.5) node[circle,minimum size=1cm,draw,fill] (F) {$\delta S$};
% Paths
\draw (A) edge ["Something here"'] (B);
\draw (A) -- (C);
\draw (A) -- (D);
\draw (A) -- (D);
\draw (D) -- (E);
\draw (D) -- (F);
\draw (E) -- (F);
\draw (D) -- (B);
\draw (D) -- (C);
\draw (E) -- (B);
\draw (E) -- (C);
\draw (F) -- (C);
\draw (F) -- (B);
\draw (B) edge ["Something else"'] (C);
\end{tikzpicture}
\end{document}