文章目录
写在前面
总结一下最近学习 T i k Z \mathrm{Ti}k\mathrm{Z} TikZ时候的一些心得,以及使用 T i k Z \mathrm{Ti}k\mathrm{Z} TikZ绘制LSTM元胞结构的一个小例子。在之前的文章中,我曾经尝试过使用 T i k Z \mathrm{Ti}k\mathrm{Z} TikZ绘制组合数学中的棋盘格(有兴趣的话请看《LaTeX TikZ绘图包——组合数学中棋盘格的画法》),经过一周多的学习(啃文档),终于大概理解了 T i k Z \mathrm{Ti}k\mathrm{Z} TikZ的精妙,在一篇stackflow的问答中(How do I draw an LSTM cell in Tikz?)
Windows 10 x64
MiKTeX 20.10+TeXworks
TikZ是什么?
T i k Z \mathrm{Ti}k\mathrm{Z} TikZ( T i k Z \mathrm{Ti}k\mathrm{Z} TikZ ist kein Zeichenprogramm)是以PGF(portable graphic format)为后端的一个绘图前端,用于绘制矢量图(几何,图论等),由Till Tantau教授等开发,以 TeX \TeX TEX为引擎,在矢量图绘图方面十分强大,可惜学习曲线比较陡峭,而且目前没有相关的中文书籍(下面的官方文档中译版内容不全),所以只能多看多练,当然也可以借助 T i k Z E d t \mathrm{Ti}k\mathrm{ZEdt} TikZEdt编辑器可视化生成图形。
学习的心得体会
从一开始逐字逐句看文档,到后来结合文档中的具体例子一点一点实现,感觉自己对其绘图的语句有一点点理解了, T i k Z \mathrm{Ti}k\mathrm{Z} TikZ绘图的主要结构其实理解成web前端,内容(html)与样式(CSS)分离,这样可以方便地扩展图形,再到后来需要一些装饰,都可以在 T i k Z s e t \mathrm{Ti}k\mathrm{Zset} TikZset中实现,之后如果要再添加一些功能,就需要一些更高级的扩展包来实现了,这里类比一下JS应该不过分