通过创建一个使用绿色和紫色矩形的TikZ图片来展示乘积结果,根据乘积值的 大小决定矩形的颜色和样式。
鼓励读者关注其公众号,获取更多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 {
$
\int_compare:nNnF {
}\\
}
\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 知识库,入门资料,免费知识代码:
https://www.latexstudio.net/LearnLaTeX/
精心制作免费视频教程:
https://space.bilibili.com/209746320