![绘制带有文本的圆圈](https://linux22.com/image/351139/%E7%BB%98%E5%88%B6%E5%B8%A6%E6%9C%89%E6%96%87%E6%9C%AC%E7%9A%84%E5%9C%86%E5%9C%88.png)
你好,我不知道如何在 LaTeX 中绘制下图:
有人有什么想法吗?
我只画出了这个“太阳网格”:
\documentclass[a4paper]{book}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=5]
%\\ intenditur per se in\\ qua est salus subditorum
\node at (-0.15, 0.9) {\tiny Justicia vero};
\node at (-0.25, 0.85) {\tiny est que intenditur per};
\node at (-0.288, 0.8) {\tiny se in qua est salus subdi-};
\node at (-0.08, 0.75) {\tiny torum};
%Mundus est ortus seu viridarium , ejus materi vel substancia vel sepes ejus est judicium (scilicet Dei angelorum, et hominum).
%Judicium est dominator vallatus vel dominacio vallata lege
% Lex est qua rex regit regum
% Et rex est pator qui defenditur a proceribus
%Proceres sunt stipendiarii sustentati pecunia
%Pecunia vero est fortuna que colligatur a subditis
% Subditi autem sunt servi quos subjecit justicia
\draw (-1,0) -- (-0.3,0);
\draw (0.3,0) -- (1,0);
\draw (-0.71,-0.71) -- (-0.21,-0.21);
\draw (0.71,0.71) -- (0.21,0.21);
\draw (0,-1) -- (0,-0.3);
\draw (0,0.3)node[align=center, below] {\\ \\ \\circulum\\firmamenti} -- (0,1);
\draw (-0.21,0.21) -- (-0.71,0.71);
\draw (0.21,-0.21) -- (0.71,-0.71);
\draw (0,0) circle (1cm) ;
\draw (0,0) circle (0.3cm);
\end{tikzpicture}
\thispagestyle{empty}
\end{document}
答案1
钛钾Z 在创建曲线文本方面表现不佳。为了获得更好的效果,请尝试 MetaPost。
但是,这里有一个使用 Ti 的方法钾Z 的decorations.text
库并使基本布局的代码更加简洁。
\documentclass[border=10pt,multi,tikz,10pt]{standalone}
\usetikzlibrary{decorations.text}
\usepackage{venturis}
\begin{document}
\newlength\circleradius
\setlength\circleradius{50mm}
\begin{tikzpicture}
\draw [clip] (0,0) circle (\circleradius) circle (.3\circleradius);
\foreach \i in {0,45,...,135} \draw (\i:\circleradius) -- (\i:.3\circleradius) ({\i+180}:.3\circleradius) -- ({\i+180}:\circleradius);
\node [align=center, font=\large] {circulum\\firmamenti};
\foreach \i/\j/\k in
{
-225/.925/Justicia vero est que,
-225/.875/intenditur per se in qua,
-225/.825/est solus,
-225/.775/subditorum,
-270/.925/Mundus est ortus seu,
-270/.875/{viridarium, ejus materi},
-270/.825/{vel, substancia vel},
-270/.775/sepes ejus est,
-270/.725/{judicium (scilicet,},
-270/.675/{Dei angelorum, et},
-270/.625/{hominum).},
-315/.925/Judicium est dominator,
-315/.875/vallatus vel dominacio,
-315/.825/vallata lege,
0/.925/Lex est qua rex regit,
0/.875/regum,
-45/.925/Et rex est pator qui,
-45/.875/defenditur a proceribus,
-90/.925/Proceres sunt stipendiarii,
-90/.875/sustentati pecunia,
-135/.925/Pecunia vero est fortuna,
-135/.875/que colligatur a subditis,
-180/.925/Subditi autem sunt servi,
-180/.875/quos subjecit justicia
}
\path [decorate, decoration={text along path, text=\k, text align=center}] (\i:{\j*\circleradius}) arc (\i:{\i-45}:{\j*\circleradius});
\end{tikzpicture}
\end{document}
答案2
也许我的标准较低,但尽管 tikz 在将文本沿曲线放置方面并不出色,但我认为在这种情况下它可以做得相当不错:
\documentclass[tikz,border=5]{standalone}
\usepackage{chancery}
\usepackage[T1]{fontenc}
\usetikzlibrary{decorations.text}
\tikzset{curved text/.style={
decoration={text effects along path,
text/.expanded=#1, text align=center,
text effects/.cd, text along path, decorate}}
}
\begin{document}
\begin{tikzpicture}[x=1em,y=1em]
\draw circle [radius=14] circle [radius=5]
\foreach \i in {0,...,7}{ (\i*45:14) -- (\i*45:5) };
\node [align=center] {circulum \\ firmamenti};
\foreach [count=\a from 0] \text in {%
{
Mundus est ortus seu, {viridarium, ejus materi},
vel substancia vel, sepes ejus est,
judicium (scilicet, Dei angelorum, et hominum)
},
{
Juicium est dominator,
vallatus vel dominacio, vallata lege
},
{
Lex est qua rex regit, regum
},
{
Et rex est pator qui, defenditur a proceribus
},
{
Procesres sunt stipendiarii, sustentati pecunia
},
{
Pecunia vero est fortuna, que colligator a subditis
},
{
Subditi autem sunt servi, quos subjecit justicia
},
{
Justicia vero est que, intenditur per se in,
qua est solus, subditorum
}}
\foreach \t [count=\r] in \text
\path [curved text=\t, rotate=-\a*45]
(90:14-\r) arc (90:45:14-\r);
\end{tikzpicture}
\end{document}
答案3
这是我之前使用 MetaPost 的答案的一个版本。
这是一个变体。
% !MPOST tex = etex
% !MPOST pdf = on
% !MPOST preview = on
% !MPOST titles = off
input latexmp
setupLaTeXMP(preamblefile="textpath-preamble");
input textpath
prologues := 3;
outputtemplate := "%j%c.mps";
% ateb: http://tex.stackexchange.com/a/358528/ addaswyd o gwestiwn dawicz: http://tex.stackexchange.com/q/358243/
% gweler hefyd: tikz-circulum-firmamenti.tex
beginfig(1)
transform T;
c:=10cm;
sc:=.3*c;
ic:=.15*c;
oc:=.5*c;
ac:=.925*c;
bc:=.86*c;
cc:=.795*c;
dc:=.73*c;
ec:=.665*c;
fc:=.6*c;
gc:=.535*c;
hc:=.47*c;
jc:=.405*c;
draw fullcircle scaled c withpen pensquare;
draw fullcircle scaled sc withpen pensquare;
z0=(0,0);
z1=(0,oc);
z2=(0,ic);
z3=(-ic,.1*ic);
z4=(ic,.1*ic);
z5=(-ic,-.1*ic);
z6=(ic,-.1*ic);
path pb;
pb := z1--z2;
for i=45 step 45 until 360:
draw pb rotated i withpen pensquare;
endfor;
def f="\usefont{T1}{yvtjw}{m}{n}" enddef;
ta:=-67.5;
for t="Justicia vero est que","Mundus est ortus seu","Judicium est dominator","Lex est qua rex regit","Et rex est pator qui","Proceres sunt stipendiarii","Pecunia vero est fortuna","Subditi autem sunt servi":
draw textpathFont(f, t, reverse fullcircle rotated ta scaled ac, .5);
ta:=ta-45;
endfor;
for t="intenditur per se in","viridarium, ejus materi","vallatus vel dominacio","regum","defenditur a proceribus","sustentati pecunia","que colligatur a subditis","quos subjecit justicia":
draw textpathFont(f, t, reverse fullcircle rotated ta scaled bc, .5);
ta:=ta-45;
endfor;
ta:=-67.5;
for t="qua est solus","vel, substancia vel","vallata lege":
draw textpathFont(f, t, reverse fullcircle rotated ta scaled cc, .5);
ta:=ta-45;
endfor;
ta:=-67.5;
for t="subditorum","sepes ejus est":
draw textpathFont(f, t, reverse fullcircle rotated ta scaled dc, .5);
ta:=ta-45;
endfor;
draw textpathFont(f, "judicium", reverse fullcircle rotated -112.5 scaled ec, .5);
draw textpathFont(f, "(scilicet, Dei", reverse fullcircle rotated -112.5 scaled fc, .5);
draw textpathFont(f, "angelorum,", reverse fullcircle rotated -112.5 scaled gc, .5);
draw textpathFont(f, "et", reverse fullcircle rotated -112.5 scaled hc, .5);
draw textpathFont(f, "hominum).", reverse fullcircle rotated -112.5 scaled jc, .5);
path pa;
path pc;
pa:=(z3)--(z4);
draw textpathFont(f, "circulum", pa, .5);
pc:=(z5)--(z6);
draw textpathFont(f, "firmamenti", pc, .5);
endfig;
beginfig(2)
transform T;
c:=10cm;
sc:=.3*c;
ic:=.15*c;
oc:=.5*c;
ac:=.925*c;
bc:=.865*c;
cc:=.805*c;
dc:=.745*c;
ec:=.685*c;
fc:=.625*c;
gc:=.565*c;
draw fullcircle scaled c withpen pensquare;
draw fullcircle scaled sc withpen pensquare;
z0=(0,0);
z1=(0,oc);
z2=(0,ic);
z3=(-ic,.1*ic);
z4=(ic,.1*ic);
z5=(-ic,-.3*ic);
z6=(ic,-.3*ic);
path pb;
pb := z1--z2;
for i=45 step 45 until 360:
draw pb rotated i withpen pensquare;
endfor;
def f="\usefont{T1}{pzc}{m}{n}" enddef;
ta:=-67.5;
for t="Justicia vero est que","Mundus est ortus seu","Judicium est dominator","Lex est qua rex regit","Et rex est pator qui","Proceres sunt stipendiarii","Pecunia vero est fortuna","Subditi autem sunt servi":
draw textpathFont(f, t, reverse fullcircle rotated ta scaled ac, .5);
ta:=ta-45;
endfor;
for t="intenditur per se in qua","viridarium, ejus materi","vallatus vel dominacio","regum","defenditur a proceribus","sustentati pecunia","que colligatur a subditis","quos subjecit justicia":
draw textpathFont(f, t, reverse fullcircle rotated ta scaled bc, .5);
ta:=ta-45;
endfor;
ta:=-67.5;
for t="est solus subditorum","vel, substancia vel sepes","vallata lege":
draw textpathFont(f, t, reverse fullcircle rotated ta scaled cc, .5);
ta:=ta-45;
endfor;
draw textpathFont(f, "ejus est judicium", reverse fullcircle rotated -112.5 scaled dc, .5);
draw textpathFont(f, "(scilicet, Dei", reverse fullcircle rotated -112.5 scaled ec, .5);
draw textpathFont(f, "angelorum, et", reverse fullcircle rotated -112.5 scaled fc, .5);
draw textpathFont(f, "hominum).", reverse fullcircle rotated -112.5 scaled gc, .5);
def f="\usefont{T1}{pzc}{m}{n}\LARGE" enddef;
path pa;
path pc;
pa:=(z3)--(z4);
draw textpathFont(f, "circulum", pa, .5);
pc:=(z5)--(z6);
draw textpathFont(f, "firmamenti", pc, .5);
endfig;
bye;