我正在尝试使用 绘制一个简单语法的派生树tikz-qtree
。
这是我当前的代码:
\documentclass[11pt]{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,calc}
\usepackage{tikz-qtree}
% ----------
\begin{document}
\begin{tikzpicture}
\tikzset{grow'=right}
\tikzset{every tree node/.style={anchor=base west}}
\Tree [.$SS$ [.$(S)$ $()$]
[.$(S)$
[.$((S))$ $(())$]
]
]
\end{tikzpicture}
\end{document}
我预期的结果如下:
-(S)------------()
-/
-/
-/
-/
-/
SS -\
-\
-\
-\
-\
-\
-(S)---------((S))----------(())
当我编译该文档时,我收到一堆缺少结束括号的投诉“。/main.tex:21: Missing } inserting”,但\Tree
据我所知,其中的方括号是平衡的。
我究竟做错了什么?
答案1
以下是绘制图形的三种不同方法
tikz-qtree
解决方案
注意留白!
\documentclass[11pt]{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,calc}
\usepackage{tikz-qtree}
% ----------
\begin{document}
\begin{tikzpicture}
\tikzset{grow'=right}
\tikzset{every tree node/.style={anchor=base west}}
\Tree [.$SS$ [.$(S)$ $()$ ] [.$(S)$ [.$((S))$ $(())$ ] ] ]
\end{tikzpicture}
\end{document}
纯钛钾Z 解决方案
\documentclass[tikz]{standalone}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[node distance=0.5cm]
\node (ss) {$SS$};
\node[above right=of ss] (sa) {$(S)$};
\node[right=of sa] (br1) {$()$};
\node[below right=of ss] (sb) {$(S)$};
\node[right=of sb] (ssb) {$((S))$};
\node[right=of ssb] (br2) {$(())$};
\draw (br1) -- (sa) -- (ss) -- (sb) -- (ssb) -- (br2);
\end{tikzpicture}
\end{document}
tikzcd
解决方案
\documentclass{standalone}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[every arrow/.append style={dash}]
& (S) \arrow[r] & ()\\
SS \arrow[ru]\arrow[rd] & &\\
& (S) \arrow[r] & ((S)) \arrow[r] & (())
\end{tikzcd}
\end{document}