赞
踩
zhb提供的代码,我拿来啃了一段,写了些笔记注释。
emoji包需用LaTeX最新版本,实测texlive2018不行,texlive2020可以。
编译系统需要选择:LuaLatex
效果图:
笔记写注释里了
\documentclass[tikz,border=2pt]{standalone} \usepackage{ctex} \usepackage{emoji} \begin{document} \begin{tikzpicture} \usetikzlibrary{intersections} \usetikzlibrary{positioning} \usetikzlibrary{calc} \usetikzlibrary{quotes} % \draw[help lines](-10,-10)grid(10,10); % 横轴 \node (ra) at (0,0){$-150^{\circ}$}; %\node (结点名称) at (结点坐标){结点内容} \node (rb) at (55:1){$-120^{\circ}$}; \node (rc) at (55:2){$-90^{\circ}$}; \node (rd) at (55:3){$-60^{\circ}$}; \node (re) at (55:4){$-30^{\circ}$}; \node (rf) at (55:5){$0^{\circ}$}; \node (rg) at (55:6){$30^{\circ}$}; \node (rh) at (55:7){$60^{\circ}$}; \node (ri) at (55:8){$90^{\circ}$}; \node (rj) at (55:9){$120^{\circ}$}; \node (rk) at (55:10){$150^{\circ}$}; \node[draw opacity=0,left=0.6 of rh.west,rotate=55] {升交点角距}; %\node[透明度,在rh的西边0.6,转55度]{文本}; \draw [dash pattern=on 6.5pt off 4pt,line width=1.5] (ra) to +(11.7,0); \draw [dash pattern=on 6.5pt off 4pt,line width=1.5] (rb) to +(11.7,0); \draw [dash pattern=on 6.5pt off 4pt,line width=1.5] (rc) to +(11.7,0); \draw [dash pattern=on 6.5pt off 4pt,line width=1.5] (rd) to +(11.7,0); \draw [dash pattern=on 6.5pt off 4pt,line width=1.5] (re) to +(11.7,0); \draw [dash pattern=on 6.5pt off 4pt,line width=1.5,name path = pathA] (rf) to +(13.7,0); % \draw [虚线型:实线6.5pt虚线4pt,线宽1.5mm,线名字] (起点名称) to +(相对坐标) \draw [dash pattern=on 6.5pt off 4pt,line width=1.5] (rg) to +(11.7,0); \draw [dash pattern=on 6.5pt off 4pt,line width=1.5] (rh) to +(11.7,0); \draw [dash pattern=on 6.5pt off 4pt,line width=1.5] (ri) to +(11.7,0); \draw [dash pattern=on 6.5pt off 4pt,line width=1.5] (rj) to +(11.7,0); \draw [dash pattern=on 6.5pt off 4pt,line width=1.5] (rk) to +(11.7,0); % 纵轴 \node (ca) at (1,-1){$143^{\circ}$}; \node (cb) at (3,-1){$203^{\circ}$}; \node (cc) at (5,-1){$263^{\circ}$}; \node (cd) at (7,-1){$323^{\circ}$}; \node (ce) at (9,-1){$23^{\circ}$}; \node (cf) at (11,-1){$83^{\circ}$}; \node (ct) at (13,-1){升交点赤经}; \draw [-stealth,line width=2] (ca) -- +(55:12) % \draw [-箭头,线宽] (起点) -- +(相对极坐标55度长12mm) node[pos=0.09,inner sep=0,label={[below]0:2}](sa2){\emoji{satellite}} % node[从0到1的位置,文字内空隙,结点标签={线下边0度写2}](名字){内容} node[pos=0.41,inner sep=0,label={[below]0:1}](sa1){\emoji{satellite}} node[pos=0.69,inner sep=0,label={[below]0:3}](sa3){\emoji{satellite}} node[pos=0.78,inner sep=0,label={[below]0:4}](sa4){\emoji{satellite}}; \draw [-stealth,line width=2] (cb) -- +(55:12) node[pos=0.15,inner sep=0,label={[below]0:2}](sb2){\emoji{satellite}} node[pos=0.24,inner sep=0,label={[below]0:4}](sb4){\emoji{satellite}} node[pos=0.53,inner sep=0,label={[below]0:3}](sb3){\emoji{satellite}} node[pos=0.91,inner sep=0,label={[below]0:1}](sb1){\emoji{satellite}}; \draw [-stealth,line width=2] (cc) -- +(55:12) node[pos=0.33,inner sep=0,label={[below]0:4}](sc4){\emoji{satellite}} node[pos=0.4,inner sep=0,label={[below]0:5}](sc5){\emoji{satellite}} node[pos=0.61,inner sep=0,label={[below]0:3}](sc3){\emoji{satellite}} node[pos=0.7,inner sep=0,label={[below]0:2}](sc2){\emoji{satellite}} node[pos=0.97,inner sep=0,label={[below]0:1}](sc1){\emoji{satellite}}; \draw [-stealth,line width=2] (cd) -- +(55:12) node[pos=0.05,inner sep=0,label={[below]0:7}](sd7){\emoji{satellite}} node[pos=0.15,inner sep=0,label={[below]0:4}](sd4){\emoji{satellite}} node[pos=0.235,inner sep=0,label={[below]0:1}](sd1){\emoji{satellite}} node[pos=0.415,inner sep=0,label={[below]0:2}](sd2){\emoji{satellite}} node[pos=0.683,inner sep=0,label={[below]0:4}](sd4){\emoji{satellite}} node[pos=0.78,inner sep=0,label={[below]0:3}](sd3){\emoji{satellite}}; \draw [-stealth,line width=2] (ce) -- +(55:12) node[pos=0.205,inner sep=0,label={[below]0:1}](se1){\emoji{satellite}} node[pos=0.52,inner sep=0,label={[below]0:2}](se2){\emoji{satellite}} node[pos=0.605,inner sep=0,label={[below]0:4}](se4){\emoji{satellite}} node[pos=0.865,inner sep=0,label={[below]0:3}](se3){\emoji{satellite}}; \draw [-stealth,line width=2,name path=pathB] (cf) -- +(55:12) node[pos=0.03,inner sep=0,label={[below]0:4}](sf4){\emoji{satellite}} node[pos=0.225,inner sep=0,label={[below]0:6}](sf6){\emoji{satellite}} node[pos=0.31,inner sep=0,label={[below]0:1}](sf1){\emoji{satellite}} node[pos=0.63,inner sep=0,label={[below]0:2}](sf2){\emoji{satellite}} node[pos=0.68,inner sep=0,label={[below]0:5}](sf5){\emoji{satellite}} node[pos=0.965,inner sep=0,label={[below]0:3}](sf3){\emoji{satellite}}; \node (cA) at (8.2,9){\bf{A}}; \node (cB) at (10.2,9){\bf{B}}; \node (cC) at (12.2,9){\bf{C}}; \node (cD) at (14.2,9){\bf{D}}; \node (cE) at (16.2,9){\bf{E}}; \node (cF) at (18.2,9){\bf{F}}; % 夹角55° \path [name intersections={of=pathA and pathB,by=i1}]; % \path [命名交点={pathA和pathB称为i1}] \draw [line width=2] ($(i1)+(0.6,0)$) arc(0:55:0.6); % \draw [线宽] (计算出来一个新的点) 画弧(0度到55度半径0.6mm) \node (in_se_deg) at ($(i1)+(15:1)$) {$\bf55^{\circ}$}; % \node (名称) at (计算出来一个新的点) {文本} % 其他文字说明 \node (equator) at ($(i1)+(-10:2)$){赤道}; \draw [stealth-,line width=2] (sf1)--++(-60:1)edge["工作卫星"inner sep=0.1,-]++(0:1.8); \draw [stealth-,line width=2] (sf6)--++(-60:1)edge["备用卫星"inner sep=0.1,-]++(0:1.8); % \draw [箭头-,线宽] (点)--++(相对极坐标-60度1mm)线文字[文本,内部间距0.1,箭头类型]++(相对极坐标0度1.8mm) % 两个+意味着相对点会更新两遍,即画完一个点后,当前坐标原点移动到这个点,然后再以这个原点画下一个的相对坐标。 \end{tikzpicture} \end{document}
zhbnb!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。