我有以下代码:
\documentclass[12pt, openany]{memoir}
\usepackage{amsmath}
\usepackage{tikz}
\begin{document}
\[
\begin{tikzpicture}[node distance=2cm,auto]
\node (A) {$Q(\sqrt[6]{2}\:)$};
\node (B) [below of=A]{$Q(\sqrt{2}\:)$};
\node (C) [below of=B] {$Q$};
\draw[-] (A) to node {3; $x^3-2=Irr(\sqrt[6]{2},Q(\sqrt{2},x)$} (B);
\draw[-] (B) to node {2; $x^2-2=Irr(\sqrt{2},Q,x)$} (C);
\end{tikzpicture}
\]
\end{document}
我想要一条从节点 A 到节点 C 的弧(或任何术语),而不经过节点 B;但是,我的所有尝试都是徒劳的。
我绘制的第三条线是从节点 A 到节点 C 的直线;我怎样才能改变它,使它绕着节点 B 弯曲,最好是向左弯曲?
答案1
您可以使用 绘制曲线\draw (A) to [bend right=40] (C);
,其中可选参数bend right
控制曲率:
\documentclass[12pt, openany]{memoir}
\usepackage{amsmath}
\usepackage{tikz}
\begin{document}
\[
\begin{tikzpicture}[node distance=2cm,auto]
\node (A) {$Q(\sqrt[6]{2}\:)$};
\node (B) [below of=A]{$Q(\sqrt{2}\:)$};
\node (C) [below of=B] {$Q$};
\draw[-] (A) to node {3; $x^3-2=Irr(\sqrt[6]{2},Q(\sqrt{2},x)$} (B);
\draw[-] (B) to node {2; $x^2-2=Irr(\sqrt{2},Q,x)$} (C);
\draw (A) to [bend right=45] node [left] {text} (C);
\end{tikzpicture}
\]
\end{document}
答案2
另一个可能的解决方案是使用controls
,它基本上允许您控制线“离开”第一个节点的方向以及“进入”第二个节点的方向:
更新:您还可以在 创建的行\draw
后面放置一个节点,然后用 结束该行,从而向创建的行添加文本;
。请参阅如何标记使用绘制命令创建的线了解其工作原理的详细信息。
\documentclass[12pt, openany]{memoir}
\usepackage{amsmath}
\usepackage{tikz}
\begin{document}
\[
\begin{tikzpicture}[node distance=2cm,auto]
\node (A) {$Q(\sqrt[6]{2}\:)$};
\node (B) [below of=A]{$Q(\sqrt{2}\:)$};
\node (C) [below of=B] {$Q$};
\node (D) [below of=C] {};
\draw[-] (A) to node {3; $x^3-2=Irr(\sqrt[6]{2},Q(\sqrt{2},x)$} (B);
\draw[-] (B) to node {2; $x^2-2=Irr(\sqrt{2},Q,x)$} (C);
\draw[-] (A)..controls +(west:2) and +(west:2)..(C) node [left,pos=0.5] {text};
\end{tikzpicture}
\]
\end{document}