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


這是尾巴

讀過本文,如果覺得有收穫,歡迎點贊轉發

想閱讀更多內容,可以到我的公衆號青檸學術 逛一逛,優質的科研技巧、效率工具等着你。

博主:浙江大學電子工程博士生,劍橋大學交流生,國家獎學金獲得者。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章