我用 tikz 创建了一个相当大的流程图,并希望将我的父节点作为标题 - 没有从它向下画的线,也没有围绕文本的框 - 但保持它的中心位置。
\documentclass[border=10pt,
tikz]{standalone}
\usetikzlibrary{trees}% <-- new
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
\begin{tikzpicture}[
every node/.style = {shape=rectangle, rounded corners,
draw, align=center, fill=white}, level distance=3cm,
level 1/.style = {sibling distance = 20em},% <-- new
level 2/.style = {sibling distance = 50em},% <-- new
level 3/.style = {sibling distance = 30em},% <-- new
level 4/.style = {sibling distance = 30em},
level 5/.style = {sibling distance = 35em},
level 6/.style = {sibling distance = 30em},
level 7/.style = {sibling distance = 30em},
level 8/.style = {sibling distance = 30em},
level 9/.style = {sibling distance = 20em},
level 10/.style = {sibling distance = 20em},
% <-- new
]
\node {Metaethische Positionen}
[edge from parent fork down]
child {node {Ethische Urteile wie »Foltern ist falsch« \\
drücken Überzeugungen aus.}
child{node{Ja: Kognitivismus}child{node{Erfolgstheorie: \\
Einige moralische Urteile sind wahr}
child{node{Die Wahrheit moralischer \\
Urteile verdankt sich \\
der Übereinstimmung mit der Realität}
child{node{Ja}
child{node{Substantieller\\ Realismus}
child{node{Reduktionistischer naturalistischer Realismus\\
moralische Eigenschaften lassen sich auf \\
natürliche Eigenschaften reduzieren}}
child{node{Non-Naturalistischer Realismus\\
moralische Eigenschaften\\
sind von eigener Art} }}}
child{node{Nein}
child{node{Prozeduraler Realismus:\\
Die Wahrheit moralischer Urteile \\
verdankt sich einem Verfahren}}}}}
child{node{Irrtumstheorie:\\
Alle moralischen Urteile sind falsch }}}
child{node{Nein:Nonkognitivismus}
child{node{Emotivismus\\
moralische Urteile\\
als Ausdruck von Emotionen\\
(Ayer, Stevenson)}}
child{node{Präskriptivismus:\\
die primäre Funktion moralischer Urteile\\
ist deren handlungsleitende Funktion (R.\,M. Hare)}}}}
;
\end{tikzpicture}
\end{document}
答案1
您只需要在树中添加两个小内容,如下面代码中的注释所标记:[draw=none]
第一个节点中添加一个,edge from parent[draw=none]
第一个节点中添加一个child
。
\documentclass[border=10pt,
tikz]{standalone}
\usetikzlibrary{trees}% <-- new
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
\begin{tikzpicture}[
every node/.style = {shape=rectangle, rounded corners,
draw, align=center, fill=white}, level distance=3cm,
level 1/.style = {sibling distance = 20em},% <-- new
level 2/.style = {sibling distance = 50em},% <-- new
level 3/.style = {sibling distance = 30em},% <-- new
level 4/.style = {sibling distance = 30em},
level 5/.style = {sibling distance = 35em},
level 6/.style = {sibling distance = 30em},
level 7/.style = {sibling distance = 30em},
level 8/.style = {sibling distance = 30em},
level 9/.style = {sibling distance = 20em},
level 10/.style = {sibling distance = 20em},
% <-- new
]
\node [draw=none] {Metaethische Positionen} % note added [draw=none]
[edge from parent fork down]
child {node {Ethische Urteile wie »Foltern ist falsch« \\
drücken Überzeugungen aus.} edge from parent[draw=none] %% <---- added
child{node{Ja: Kognitivismus}child{node{Erfolgstheorie: \\
Einige moralische Urteile sind wahr}
child{node{Die Wahrheit moralischer \\
Urteile verdankt sich \\
der Übereinstimmung mit der Realität}
child{node{Ja}
child{node{Substantieller\\ Realismus}
child{node{Reduktionistischer naturalistischer Realismus\\
moralische Eigenschaften lassen sich auf \\
natürliche Eigenschaften reduzieren}}
child{node{Non-Naturalistischer Realismus\\
moralische Eigenschaften\\
sind von eigener Art} }}}
child{node{Nein}
child{node{Prozeduraler Realismus:\\
Die Wahrheit moralischer Urteile \\
verdankt sich einem Verfahren}}}}}
child{node{Irrtumstheorie:\\
Alle moralischen Urteile sind falsch }}}
child{node{Nein:Nonkognitivismus}
child{node{Emotivismus\\
moralische Urteile\\
als Ausdruck von Emotionen\\
(Ayer, Stevenson)}}
child{node{Präskriptivismus:\\
die primäre Funktion moralischer Urteile\\
ist deren handlungsleitende Funktion (R.\,M. Hare)}}}}
;
\end{tikzpicture}
\end{document}
答案2
在单独的节点中使用树标题的替代方法:
\documentclass[border=15pt,
tikz]{standalone}
\usetikzlibrary{positioning, trees}% <-- added positioning
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
\begin{tikzpicture}[
level distance=25mm,
level 1/.style = {sibling distance = 40em},% <-- changed
level 2/.style = {sibling distance = 20em},% <-- changed
]
% node for tree title
\node (title) [font=\large\bfseries] {Metaethische Positionen};
\begin{scope}[every node/.style = {draw, rounded corners, fill=white, % <-- added scope,
% with definition for nodes style
inner sep=2mm, align=center}]
% start of tree
\node [below=of title] {Ethische Urteile wie »Foltern ist falsch« \\
drücken Überzeugungen aus.}
[edge from parent fork down]%
child{node{Ja: Kognitivismus}
child{node{Erfolgstheorie: \\
Einige moralische Urteile sind wahr}
child{node{Die Wahrheit moralischer \\
Urteile verdankt sich \\
der Übereinstimmung mit der Realität}
child{node{Ja}
child{node{Substantieller\\ Realismus}
child{node{Reduktionistischer naturalistischer Realismus\\
moralische Eigenschaften lassen sich auf \\
natürliche Eigenschaften reduzieren}}
child{node{Non-Naturalistischer Realismus\\
moralische Eigenschaften\\
sind von eigener Art} }
}
}
child{node{Nein}
child{node{Prozeduraler Realismus:\\
Die Wahrheit moralischer Urteile \\
verdankt sich einem Verfahren}}
}
}
}
child{node{Irrtumstheorie:\\
Alle moralischen Urteile sind falsch }}
}
child{node{Nein:Nonkognitivismus}
child{node{Emotivismus\\
moralische Urteile\\
als Ausdruck von Emotionen\\
(Ayer, Stevenson)}}
child{node{Präskriptivismus:\\
die primäre Funktion moralischer Urteile\\
ist deren handlungsleitende Funktion\\
(R.\,M. Hare)}}
}
;
\end{scope}
\end{tikzpicture}
\end{document}