以下是代码
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usetikzlibrary{arrows,calc,positioning}
\tikzstyle{intt}=[draw,text centered,minimum size=6em,text width=5.25cm,text height=0.34cm]
\tikzstyle{intl}=[draw,text centered,minimum size=2em,text width=2.75cm,text height=0.34cm]
\tikzstyle{int}=[draw,minimum size=2.5em,text centered,text width=3.5cm]
\tikzstyle{intg}=[draw,minimum size=3em,text centered,text width=6.cm]
\tikzstyle{sum}=[draw,shape=circle,inner sep=2pt,text centered,node distance=3.5cm]
\tikzstyle{summ}=[drawshape=circle,inner sep=4pt,text centered,node distance=3.cm]
\begin{document}
\begin{figure}[!htb]
\centering
\begin{tikzpicture}[
>=latex',
auto
] \node [intg] (ka) {Quantum Transport};
\node [intg] (kp)[node distance=2cm,below of=ka] {Semi-classical transport};
\node [int] (ki1) [node distance=1.5cm and -1cm,below left=of kp] {Ballistic};
\node [int] (ki2) [node distance=1.5cm and -1cm,below right=of kp] {Diffusive};
\node [intg] (kb)[node distance=2cm,below of=ki2] {Boltzmann Transport Equation};
\node [int] (kb1) [node distance=1.5cm and -1cm,below left=of kb] {Relaxation Time Approximation};
\node [intg] (kb2)[node distance=2cm,below of=kb] {Drift-Diffusion type};
\node [int] (kb3) [node distance=1.5cm and -1cm,below right=of kb] {Hydrodynamic-type};
\draw[->] (ka) -- (kp);
\draw[->] (kp) -- ($(kp.south)+(0,-0.75)$) -| (ki1) node[above,pos=0.25] {No Scattering} ;
\draw[->] (kp) -- ($(kp.south)+(0,-0.75)$) -| (ki2) node[above,pos=0.25] {Scattering present};
\draw[->] (ki2) -- (kb);
\draw[->] (kb) -- ($(kb.south)+(0,-0.75)$) -| (kb1) node[above,pos=0.25] {} ;
\draw[->] (kb) -- (kb2);
\draw[->] (kb) -- ($(kb.south)+(0,-0.75)$) -|(kb3) node[above,pos=0.25] {};
\end{tikzpicture}
\end{figure}
\end{document}
我的问题是,您看到最底部的三个节点了吗?我该如何对齐它们?我尝试了中间框的不同位置,但似乎不起作用。此外,由于某种原因,中间框比周围的两个框大。
任何帮助都将受到赞赏。
答案1
我不确定您是否想要这样的最终箭头的起点,但现在很容易改进。
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usetikzlibrary{arrows,calc,positioning}
\tikzstyle{intt}=[draw,text centered,minimum size=6em,text width=5.25cm,text height=0.34cm]
\tikzstyle{intl}=[draw,text centered,minimum size=2em,text width=2.75cm,text height=0.34cm]
\tikzstyle{int}=[draw,minimum size=2.5em,text centered,text width=3.5cm]
\tikzstyle{intg}=[draw,minimum size=3em,text centered,text width=6.cm]
\tikzstyle{sum}=[draw,shape=circle,inner sep=2pt,text centered,node distance=3.5cm]
\tikzstyle{summ}=[drawshape=circle,inner sep=4pt,text centered,node distance=3.cm]
\begin{document}
\begin{figure}[!htb]
\centering
\begin{tikzpicture}[
>=latex',
auto
] \node [intg] (ka) {Quantum Transport};
\node [intg] (kp)[node distance=2cm,below of=ka] {Semi-classical transport};
\node [int] (ki1) [node distance=1.5cm and -1cm,below left=of kp] {Ballistic};
\node [int] (ki2) [node distance=1.5cm and -1cm,below right=of kp] {Diffusive};
\node [intg] (kb)[node distance=2cm,below of=ki2] {Boltzmann Transport Equation};
% \node [int] (kb1) [node distance=1.5cm and -1cm,below left=of kb] {Relaxation Time Approximation};
% \node [intg] (kb2)[node distance=2cm,below of=kb] {Drift-Diffusion type};
% \node [int] (kb3) [node distance=1.5cm and -1cm,below right=of kb] {Hydrodynamic-type};
\node [int] (kb2)[node distance=2cm,below of=kb] {Drift-Diffusion type};
\node [int] (kb1) [node distance=0.5cm, left=of kb2] {Relaxation Time Approximation};
\node [int] (kb3) [node distance=0.5cm, right=of kb2] {Hydrodynamic-type};
\draw[->] (ka) -- (kp);
\draw[->] (kp) -- ($(kp.south)+(0,-0.75)$) -| (ki1) node[above,pos=0.25] {No Scattering} ;
\draw[->] (kp) -- ($(kp.south)+(0,-0.75)$) -| (ki2) node[above,pos=0.25] {Scattering present};
\draw[->] (ki2) -- (kb);
\draw[->] (kb) -- ($(kb.south)+(0,-0.75)$) -| (kb1) node[above,pos=0.25] {} ;
\draw[->] (kb) -- (kb2);
\draw[->] (kb) -- ($(kb.south)+(0,-0.75)$) -|(kb3) node[above,pos=0.25] {};
\end{tikzpicture}
\end{figure}
\end{document}