树重叠文本

树重叠文本

我在我的论文中添加了以下代码来绘制一棵树。一切正常,但树与论文的第二列重叠,请问如何将其插入以占据一列或甚至占据两列而不与文本重叠。

    \documentclass[letterpaper, 10 pt, conference]{ieeeconf}           \IEEEoverridecommandlockouts                              
  \usepackage{tikz}
\newtheorem{definition}{\textbf{Definition}}
\overrideIEEEmargins
\usepackage{booktabs,lipsum,makecell}
\usetikzlibrary{arrows,shapes,positioning,shadows,trees}
\tikzset{
  basic/.style  = {draw, text width=2cm, drop shadow, font=\sffamily, rectangle},
  root/.style   = {basic, rounded corners=2pt, thin, align=center,
                   fill=green!30},
  level 2/.style = {basic, rounded corners=6pt, thin,align=center, fill=green!60,
                   text width=8em},
  level 3/.style = {basic, thin, align=left, fill=pink!60, text width=6.5em}
}
\title{\LARGE \bf
Test
}
\begin{document}
\maketitle
\thispagestyle{empty}
\pagestyle{empty}
\section{test}
bvkxvkxk lsjlfdjl ljsfjlsj lsjljl jljljl ljljl ljl jlj ljljl jljlj ljljlj lj ljl ljljlj l bvkxvkxk lsjlfdjl ljsfjlsj lsjljl jljljl ljljl ljl jlj ljljl jljlj ljljlj lj ljl ljljlj l
\begin{tikzpicture}[
  level 1/.style={sibling distance=40mm},
  edge from parent/.style={->,draw},
  >=latex]

% root of the the initial tree, level 1
\node[root] {Drawing diagrams}
% The first level, as children of the initial tree
  child {node[level 2] (c1) {Defining node and arrow styles}}
  child {node[level 2] (c2) {Positioning the nodes}}
  child {node[level 2] (c3) {Drawing arrows between nodes}};

% The second level, relatively positioned nodes
\begin{scope}[every node/.style={level 3}]
\node [below of = c1, xshift=15pt] (c11) {Setting shape};
\node [below of = c11] (c12) {Choosing color};
\node [below of = c12] (c13) {Adding shading};

\node [below of = c2, xshift=15pt] (c21) {Using a Matrix};
\node [below of = c21] (c22) {Relatively};
\node [below of = c22] (c23) {Absolutely};
\node [below of = c23] (c24) {Using overlays};

\node [below of = c3, xshift=15pt] (c31) {Default arrows};
\node [below of = c31] (c32) {Arrow library};
\node [below of = c32] (c33) {Resizing tips};
\node [below of = c33] (c34) {Shortening};
\node [below of = c34] (c35) {Bending};
\end{scope}

\foreach \value in {1,2,3}
  \draw[->] (c1.195) |- (c1\value.west);

\foreach \value in {1,...,4}
  \draw[->] (c2.195) |- (c2\value.west);

\foreach \value in {1,...,5}
  \draw[->] (c3.195) |- (c3\value.west);
\end{tikzpicture}

\end{document}

答案1

调整 mwe 后(代码中以 标出变化% <--- ...):

\documentclass[conference]{ieeeconf}
%\IEEEoverridecommandlockouts
%\overrideIEEEmargins
\usepackage{tikz}
\usetikzlibrary{arrows, positioning, shadows}

\usepackage{lipsum}

\title{Test}

\begin{document}
\maketitle
\thispagestyle{empty}

\section{test}
\lipsum*[11]% <--- added for dummy text
    \begin{table}[ht]
    \centering
\begin{tikzpicture}[
node distance = 3mm and 0mm, % <--- added
  basic/.style  = {draw, drop shadow, text width=18mm, inner xsep=2pt,
                   font=\sffamily\footnotesize}, % <-- changed
  root/.style   = {basic, rounded corners=2pt, align=center, fill=green!30},
 level 2/.style = {basic, rounded corners=6pt, align=center, fill=green!60,
                   text width=22mm}, <-- changed
 level 3/.style = {basic, align=left, fill=pink!60, text width=20mm}, <-- changed
sibling distance=27mm, <-- changed
edge from parent/.style={-latex,draw},
                    ]
% root of the initial tree, level 1
\node[root] {Drawing diagrams}
% The first level, as children of the initial tree
  child {node[level 2] (c1) {Defining node and arrow styles}}
  child {node[level 2] (c2) {Positioning the nodes}}
  child {node[level 2] (c3) {Drawing arrows between nodes}};

% The second level, relatively positioned nodes
\begin{scope}[every node/.style={level 3}] % <--- corrected positioning syntax
\node [below=of c1, xshift=5pt] (c11) {Setting shape};
\node [below=of c11] (c12) {Choosing color};
\node [below=of c12] (c13) {Adding shading};

\node [below=of c2, xshift=5pt] (c21) {Using a Matrix};
\node [below=of c21] (c22) {Relatively};
\node [below=of c22] (c23) {Absolutely};
\node [below=of c23] (c24) {Using overlays};

\node [below=of c3, xshift=5pt] (c31) {Default arrows};
\node [below=of c31] (c32) {Arrow library};
\node [below=of c32] (c33) {Resizing tips};
\node [below=of c33] (c34) {Shortening};
\node [below=of c34] (c35) {Bending};
\end{scope}

% lines from each level 1 node to every one of its "children"
\foreach \value in {1,2,3}
  \draw[->] (c1.195) |- (c1\value.west);

\foreach \value in {1,...,4}
  \draw[->] (c2.195) |- (c2\value.west);

\foreach \value in {1,...,5}
  \draw[->] (c3.195) |- (c3\value.west);
\end{tikzpicture}
\caption{diagram}
    \end{table}
\lipsum[1-23] % <--- added for dummy text
\end{document}

我得到以下结果:

在此处输入图片描述

相关内容