TikZ,大名鼎鼎的LaTeX绘图工具包,它的功能非常强大。
同时,它的学习难度也不一般,单单TikZ的官方手册就有一千多页之厚。
不过,这不影响你阅读本文。因为我会直接贴出代码,拿来即用,就算你是LaTeX小白也没关系。
TikZ能绘制各种有意思的图,今天向大家介绍如何用TikZ实现五星打分制。
这里的五星打分制,并不仅仅是一个⭐️这么简单,而是实现诸如一星、一星半、二星、二星半、…、四星、五星这样的划分细致的打分制。
半颗星,一般的工具并不是那么容易实现,但是对TikZ来说却很简单。
用下图表示下TikZ的五星打分制效果。。
五星打分制有很多用处。比如简历中对自己编程能力的评价,或者对自己外语能力的评价,都可以用五星打分制来衡量。
总之,涉及到评价或评分之处,都可以派上用场。
比如我在对比分析不同文献管理软件的特点时,就用到了TikZ的五星打分制,如下图。
Ok,说完TikZ五星打分制的效果和用途,现在看看该如何用代码实现。
在LaTeX文档的导言区,添加以下代码:
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\newcommand{\Stars}[2][fill=yellow,draw=orange]{\begin{tikzpicture}[baseline=-0.35em,#1]
\foreach \X in {1,...,5}
{\pgfmathsetmacro{\xfill}{min(1,max(1+#2-\X,0))}
\path (\X*1.1em,0)
node[star,draw,star point height=0.25em,minimum size=1em,inner sep=0pt,
path picture={\fill (path picture bounding box.south west)
rectangle ([xshift=\xfill*1em]path picture bounding box.north west);}]{};
}
\end{tikzpicture}}
然后,在正文中想要插入星标符号的位置,输入\Stars{数字}
即可,比如输入五星的代码为\Stars{5}
,二星半的代码为\Stars{2.5}
。
汇总一星到五星的代码如下:
一星:\Stars{1} 一星半:\Stars{1.5}
二星:\Stars{2} 二星半:\Stars{2.5}
三星:\Stars{3} 三星半:\Stars{3.5}
四星:\Stars{4} 四星半:\Stars{4.5}
五星:\Stars{5}
阅读导言区的代码就会发现,默认情况下,星标的填充(fill)颜色为yellow
,线框(draw)颜色为orange
。
如果把填充色改为red
,则效果如下。