zl程序教程

您现在的位置是:首页 >  其它

当前栏目

【LaTex】3.7 思维导图

思维 导图 LaTeX 3.7
2023-09-11 14:20:29 时间


  TikZ为思维导图专门设计了一个mindmap库。在未学习LaTex之前,我制作思维导图都是使用Xmind工具。那个时候是先用xmind画好,再截屏,然后贴入word中,特别麻烦。我们学习过Tikz的Tree,会发现,mindmap的语法和tikz的tree是几乎完全一样的,所以如果学过tikz tree的话,学习mindmap上手难度就小很多了。

简单使用

  TikZ的这个包用起来特别简单,我写个例子:

\documentclass[a4paper,UTF8]{article}
\usepackage{ctex}
\usepackage{tikz}
\usetikzlibrary{mindmap}
\begin{document}
	\tikzstyle{root concept} = [concept color=red!50]
	\begin{tikzpicture}[large mindmap,concept color=red!50]
	 \node[concept] {Python}
	 	child[grow=left] {node[concept] {Python 语法}}
	 	child[grow=down] {node[concept] {Python API}};
	\end{tikzpicture}
\end{document}

  编译后效果:
在这里插入图片描述

概念注解

  在Mindmap中,节点被称为概念concept,如果要对概念进行详细的解释,那么上面的简单写法就不够用了。注解的用法是使用\node[style=annotation]或者省略一下,\node[annotation]。因为是对概念的注释,所以要给概念取名字,语法是小括号,我举个例子:

\documentclass[a4paper,UTF8]{article}
\usepackage{ctex}
\usepackage{tikz}
\usetikzlibrary{mindmap}
\begin{document}
	\tikzstyle{root concept} = [concept color=red!50]
	\tikzstyle{every annotation} = [fill=blue!20]
	\begin{tikzpicture}[mindmap,concept color=red!50]
		\node[concept] (root) {Python}
		child[grow=left] {node[concept](grammar) {Python 语法}}
		child[grow=down] {node[concept] (api) {Python API}};
		\node[annotation,right] at (root.east)
		 {Python是世界上最好的编程语言};
		 \node[annotation,above] at (grammar.north)
		 {语法必须全部掌握};
		 \node[annotation,below] at (api.south)
		 {要用到什么API,就去学什么API};
	\end{tikzpicture}
\end{document}

  编译效果:
在这里插入图片描述

概念大小

  这属于mindmap的样式控制了,mindmap中有以下几个大小可供选择:

  1. small mindmap
  2. mindmap
  3. large mindmap
  4. huge mindmap

  为了对比,我把四个放在同一个图里,这样对比更加明显:

\documentclass[a4paper,UTF8]{article}
\usepackage{ctex}
\usepackage{tikz}
\usetikzlibrary{mindmap}
\begin{document}
	\tikzstyle{root concept} = [concept color=red!50]
	\begin{tikzpicture}[small mindmap,concept color=red!50]
	 \node[concept] {small mindmap};
	\end{tikzpicture}

	\begin{tikzpicture}[mindmap,concept color=red!50]
		\node[concept] {mindmap};
	\end{tikzpicture}

	\begin{tikzpicture}[large mindmap,concept color=red!50]
		\node[concept] {large mindmap};
	\end{tikzpicture}

	\begin{tikzpicture}[huge mindmap,concept color=red!50]
		\node[concept] {huge mindmap};
	\end{tikzpicture}
\end{document}

  编译后很容易对比大小:
在这里插入图片描述

级别样式

  mindmap可以根据级别定义样式,为每个级别定义统一的样式,语法如下:
  1. level 1 concept/.append style={}
  2. level 2 concept/.append style={}
  3. level 3 concept/.append style={}
  依次类推,我举个例子:

\documentclass[a4paper,UTF8]{article}
\usepackage{ctex}
\usepackage{tikz}
\usetikzlibrary{mindmap}
\begin{document}

	\begin{tikzpicture}[
		large mindmap,
	 	level 1 concept/.append style={concept color=blue!50},
	 	level 2 concept/.append style={concept color=green!50},
	 	level 3 concept/.append style={concept color=yellow!50},
	 ]
	 \node[concept,concept color=red!50] {root}
		 child {
		 	node[concept] {level 1}
		 	child { 
		 		node[concept] {level 2}
		 		child {
		 			node[concept] {level 3}
	 			}
		 	}
		 };
	\end{tikzpicture}

	
\end{document}

  编译效果如下:
在这里插入图片描述
  从编译效果来看,确实每个层级定义的颜色都不一样。