\documentclass{article}
\usepackage{datatool,tikz}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\begin{filecontents}{ooo.dat}
m , n
0 , Materialwirtschaft
15 , Produktionsplanung
30 , Finanz-und Rechnungswesen
45 , Controlling
60 , Personalwirtschaft
75 , Archiv
90 , Verkauf/ MarketingInforationsmanagement
105 , Stammdatenverwaltung
120 , Forschung und Entwicklung
135 , E-Business
150 , Produktionsplanung und Steurungssystem
165 , Travelmanagement
180 , Workflow Management
195 , Customer Relationship Management
210 , Personalinformationssystem
225 , Wissensmanagement
240 , Projektmanagement
255 , Real Estate Management
270 , Mobile Computing
285 , Services Management/Support/Helpdesk
300 , Kontakt Management Vertiebsmanagement
315 , Asset Management
330 , Logistik
345 , Qualitätsmanagement
\end{filecontents}
\DTLloaddb[noheader=false]{coordinates}{ooo.dat}
\begin{document}
\begin{centering}
\begin{tikzpicture}[scale=4]
\draw (0,0) circle (1.7cm);
\node[draw, circle, inner sep=.2mm] (a) at (0,0) {};
\DTLforeach*{coordinates}{\m=m,\n=n}{
\draw(a) -- (\m:2cm) node[pos=1,sloped, right] {\n};
}
\fill[fill=white] (0,0) circle (1cm);
\draw[fill=white] (0,0) circle (1cm);
\node at (0,0) {Typische ERP-Funktionsbereiche};
\end{tikzpicture}
\end{centering}
\end{document}
答案1
如果问题是如何正确定位标签,那么您可以使用该包ifthen
编写一个条件语句,从而根据角度位置产生不同的节点对齐(left
或)。right
\documentclass{standalone}
\usepackage[utf8]{inputenc}% to insert missing `ä' spotted by @Thruston
\usepackage{datatool,tikz}
\usepackage{ifthen}
\begin{filecontents}{ooo.dat}
m , n
0 , Materialwirtschaft
15 , Produktionsplanung
30 , Finanz-und Rechnungswesen
45 , Controlling
60 , Personalwirtschaft
75 , Archiv
90 , Verkauf/ MarketingInforationsmanagement
105 , Stammdatenverwaltung
120 , Forschung und Entwicklung
135 , E-Business
150 , Produktionsplanung und Steurungssystem
165 , Travelmanagement
180 , Workflow Management
195 , Customer Relationship Management
210 , Personalinformationssystem
225 , Wissensmanagement
240 , Projektmanagement
255 , Real Estate Management
270 , Mobile Computing
285 , Services Management/Support/Helpdesk
300 , Kontakt Management Vertiebsmanagement
315 , Asset Management
330 , Logistik
345 , Qualitätsmanagement
\end{filecontents}
\DTLloaddb[noheader=false]{coordinates}{ooo.dat}
\begin{document}
\begin{tikzpicture}[scale=4]
\draw (0,0) circle (1.7cm);
\node[draw, circle, inner sep=.2mm] (a) at (0,0) {};
\DTLforeach*{coordinates}{\m=m,\n=n}{
\ifthenelse{\m>91 \AND \m<269}{%
\draw(a) -- (\m:2cm) node[pos=1,sloped,left] {\n};
}{%
\draw(a) -- (\m:2cm) node[pos=1,sloped,right] {\n};
}
}
\fill[fill=white] (0,0) circle (1cm);
\draw[fill=white] (0,0) circle (1cm);
\node at (0,0) {Typische ERP-Funktionsbereiche};
\end{tikzpicture}
\end{document}
答案2
无需额外的软件包,你可以right
用替换anchor={(\m<=90||\m>=270)?180:0}
。TikZ 知道如何处理数值状况。
\documentclass[border=1cm]{standalone}
\usepackage{fontspec,tikz,datatool} %to compile with [Xe|Lua]LaTeX
\begin{filecontents}{ooo.dat}
m , n
0 , Materialwirtschaft
15 , Produktionsplanung
30 , Finanz-und Rechnungswesen
45 , Controlling
60 , Personalwirtschaft
75 , Archiv
90 , Verkauf/ MarketingInforationsmanagement
105 , Stammdatenverwaltung
120 , Forschung und Entwicklung
135 , E-Business
150 , Produktionsplanung und Steurungssystem
165 , Travelmanagement
180 , Workflow Management
195 , Customer Relationship Management
210 , Personalinformationssystem
225 , Wissensmanagement
240 , Projektmanagement
255 , Real Estate Management
270 , Mobile Computing
285 , Services Management/Support/Helpdesk
300 , Kontakt Management Vertiebsmanagement
315 , Asset Management
330 , Logistik
345 , Qualitätsmanagement
\end{filecontents}
\DTLloaddb[noheader=false]{coordinates}{ooo.dat}
\begin{document}
\begin{tikzpicture}[scale=4]
\draw (0,0) circle (1.7cm);
\node[draw, circle, inner sep=.2mm] (a) at (0,0) {};
\DTLforeach*{coordinates}{\m=m,\n=n}{
\draw(a) -- (\m:2cm) node[pos=1,sloped, anchor={(\m<=90||\m>=270)?180:0}] {\n};
}
\fill[fill=white] (0,0) circle (1cm);
\draw[fill=white] (0,0) circle (1cm);
\node at (0,0) {Typische ERP-Funktionsbereiche};
\end{tikzpicture}
\end{document}