看到海波的九九加法表,改编了一个九九乘法表。但不想用bigintcalc宏包,怎么改才可以达到效果。
MWE如下:
\documentclass{standalone}
\usepackage{expl3}
\usepackage{bigintcalc}
\begin{document}
\ExplSyntaxOn
\begin{tabular}{*{9}{l}}
\int_step_inline:nn {9}{
\int_step_inline:nn {#1}{
$ ##1 \times #1 = \bigintcalcMul{##1}{#1}$
\int_compare:nNnF {##1} = {9}{ & }
}\\
}
\end{tabular}
\ExplSyntaxOff
\end{document}
\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}
很棒的答案, 如果不用
\node
呢, 就用普通的tabular
环境完成渲染, 应该如何操作呢?@u130039 用tabular环境的话还是参考上一个回答用
\int_step_inline:nn
实现吧...上述不好在\tikzmath
外使用@u130039 本站有