以下是我需要做的事情:
我的尝试(当然是错误的):
\documentclass{article}
\usepackage{tikz}
%\usetikzlibrary{positioning}
\tikzset{
mynode/.style={fill,circle,inner sep=2pt,outer sep=0pt}
}
\begin{document}
\begin{tikzpicture}
\draw[black,thick] (0,0) -- (5,0)
node[pos=0,mynode,label=above:{\itshape /in/}]{}
node[pos=0.5,mynode,label=above:{\itshape /z/}, label=below:{
\draw[->] (0,0) -- (-4,0) node [pos=.5, below] {\itshape phonology};
{\scshape midpoint};
\draw[->] (0, 0) -- (4, 0) node [pos=.5, below] {\itshape suppletion} } ]{}
node[pos=1,mynode,label=above:{\itshape go/went}]{};
\end{tikzpicture}
\end{document}
答案1
您的主要问题是标签应该是普通的 LaTeX 代码,但您在标签中放入了 tikz 代码。您可以通过将标签内容封装在 tikz 环境中来编译代码,但这可能不是您想要的(嵌套 tikz 环境充其量是一种不确定的做法)。
最好将“中点”标签定位为其自身的实际节点(因为您目前正在进行“音系学”和“补充学”),以便您可以添加相对于它的箭头。
\documentclass[tikz, border=5pt]{standalone}
\usepackage{tikz}
% \usetikzlibrary{positioning}
\tikzset{
mynode/.style={fill,circle,inner sep=2pt,outer sep=0pt}
}
\begin{document}
\begin{tikzpicture}[font=\itshape]
\draw[thick] (0,0) node[mynode, label=/in/] {}
-- ++(7,0) node[mynode, label=go/went] {}
node[pos=.5, mynode, label=/z/] (z) {}
node[pos=.5, below=3pt] (midpoint) {\scshape midpoint}
;
\draw[->] (midpoint) -- ++(-3,0) node[pos=.5,below] {phonology};
\draw[->] (midpoint) -- ++( 3,0) node[pos=.5,below] {suppletion};
\end{tikzpicture}
\end{document}
答案2
这只是与 Emma 的代码有一点点不同。
有时提醒一下是有用的:
可以声明多个
label
选项:node[label=A, label=below:B, label=...]
每个标签都可以包含特殊选项:
node[label={[options valid for this particular label]label position:label text}
其中一个选项是
name
为特定标签节点分配名称
因此可以这样写:
node[pos=.5, mynode, label=/z/,
label={[name=midpoint]below:midpoint}] (z) {}
它声明了一个节点,上面(默认位置)和下面z
有两个标签。第二个标签名为。此后,标签可以作为名为 的常规节点引用。/z/
midpoint
midpoint
midpoint
midpoint
\documentclass[tikz, border=5pt]{standalone}
\usepackage{tikz}
\tikzset{
mynode/.style={fill,circle,inner sep=2pt,outer sep=0pt}
}
\begin{document}
\begin{tikzpicture}[font=\itshape]
\draw[thick] (0,0) node[mynode, label=/in/] {}
-- ++(7,0) node[mynode, label=go/went] {}
node[pos=.5, mynode, label=/z/, label={[name=midpoint]below:midpoint}] (z) {}
;
\draw[->] (midpoint) -- ++(-3,0) node[pos=.5,below] {phonology};
\draw[->] (midpoint) -- ++( 3,0) node[pos=.5,below] {suppletion};
\end{tikzpicture}
\end{document}
答案3
看看以下解决方案是否可以接受:
\documentclass[ tikz,
border=3mm]{standalone}
%\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[
mynode/.style = {fill,circle,inner sep=2pt,outer sep=0pt,
node contents={}},
every node/.style = {font=\itshape}
]
\draw[black,thick]
(0,0) node (a) [mynode,label=/in/]
-- node (b) [below] {phonology}
(5,0) node (c) [mynode,label=/z/]
node (d) [below] {midpoint}
-- node (e) [below] {suppletion}
(10,0) node (f) [mynode,label=go/went];
\draw[->] (d) -- (b);
\draw[->] (d) -- (e);
\end{tikzpicture}
\end{document}
编辑: ups,在上面的回答中我忽略了所需的图像形式...下面是更正的版本:
获得方式如下:
\documentclass[ tikz,
border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[
mynode/.style = {fill,circle,inner sep=2pt,outer sep=0pt,
node contents={}},
every node/.style = {font=\itshape}
]
\draw[black,thick]
(0,0) node (a) [mynode,label=/in/]
--
(5,0) node (b) [mynode,label=/z/]
node (c) [below] {midpoint}
--
(10,0) node (d) [mynode,label=go/went];
\draw[->] (c) -- node [below] {phonology} ([xshift= 12mm] c -| a);
\draw[->] (c) -- node [below] {suppletion} ([xshift=-12mm] c -| d);
\end{tikzpicture}
\end{document}