TikZ 中围绕节点的弧线?

TikZ 中围绕节点的弧线?

我有以下代码:

\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}  

在此处输入图片描述

相关内容