专栏名称: LaTeX工作室
欢迎光临分享与学习LaTeX的王国
目录
相关文章推荐
杨浦科技创业中心  ·  【活动回顾】出海正当时·破局拓新机|TikT ... ·  2 天前  
杨浦科技创业中心  ·  【活动回顾】出海正当时·破局拓新机|TikT ... ·  2 天前  
重庆之声  ·  关注 | 官方发布!@重庆人,买药前请看 ·  3 天前  
重庆之声  ·  关注 | 官方发布!@重庆人,买药前请看 ·  3 天前  
51好读  ›  专栏  ›  LaTeX工作室

九九乘法表如何用宏编程实现?

LaTeX工作室  · 公众号  · 互联网短视频 科技自媒体  · 2024-08-22 16:58

主要观点总结

文章主要介绍了两种使用LaTeX计算乘积的方法,包括使用\bigintcalcMul替代的较旧方法和使用\tikzmath的新方法。

关键观点总结

关键观点1: 使用方法一:利用LaTeX3的\int_eval:n和\int_compare:nNnF命令实现计算两个数的乘积并显示结果。

通过创建一个包含九九乘法表的表格来演示该方法的实现过程。

关键观点2: 使用方法二:利用\tikzmath库的功能实现乘积的计算和显示。

通过创建一个使用绿色和紫色矩形的TikZ图片来展示乘积结果,根据乘积值的 大小决定矩形的颜色和样式。

关键观点3: 文章来源于Latexstudio的在线问答和教程,提供了学习资源和学习链接。

鼓励读者关注其公众号,获取更多LaTeX学习资料。


正文

【做法一】

\bigintcalcMul 用于计算两个数的乘积, 既然使用了 LaTeX3 那么就可以直接使用 \int_eval:n { #1*##1} 替代, 如果你的 latex 发行版高于 2022, 你可以直接使用 \inteval{#1 * ##1}.

\documentclass{standalone}\begin{document}\ExplSyntaxOn\begin{tabular}{*{9}{l}}  \int_step_inline:nn {9}{    \int_step_inline:nn {#1}{    $ ##1 \times  #1 = \int_eval:n {#1 * ##1}$     \int_compare:nNnF {##1} = {9}{ & }    }\\    }\end{tabular}\ExplSyntaxOff\end{document}

【做法二】

和题主要求的不是特别相关,前几天正好学习了\tikzmath的有关功能,也实现了九九乘法表...下面是一个MWE的片段

\usepackage{amsmath}\usepackage{tikz}\usepackage{xcolor}\usepackage{pgffor}\usetikzlibrary{math} % 感谢鱼香肉丝没有鱼先生-------------------------------------------------------\begin{tikzpicture}    \tikzmath{        function paint_rectangle(\x,\y){            int \i,\j,\k;            for \i in {1,...,\x}{                for \j in {1,...,\y}{                    \k = \i * \j;                    if \i <= \j then{                        {                            \node [rectangle,fill=green!30,draw=green!60,rounded corners] at (2.5*\i,\j) {\i $\times$ \j $=$ \k};                        };                    }else{                        {                            \node [rectangle,fill=violet!40,draw=violet!80,rounded corners] at (2.5*\i,\j) {$\j \times \i=\k$};                        };                    };                };            };        };        \A = 6;        \B = 15;        paint_rectangle(\A,\B);    }\end{tikzpicture}

选自:https://ask.latexstudio.net/ask/question/17346.html

关注我们公众号,学习 LaTeX 无烦恼!

全新 LaTeX 知识库,入门资料,免费知识代码:

https://www.latexstudio.net/LearnLaTeX/

精心制作免费视频教程:

https://space.bilibili.com/209746320

推荐文章