青柠学术

个人站

每个科研小白都有成为大神的潜力。


TikZ实现五星打分制,超实用!

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,则效果如下。

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
你说多少就多少

比五毛钱特效专业哦