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

发布于 2024-08-19 22:34:08

看到海波的九九加法表,改编了一个九九乘法表。但不想用bigintcalc宏包,怎么改才可以达到效果。
九九乘法表.png
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}

查看更多

关注者
0
被浏览
480
鱼香肉丝没有鱼先生
鱼香肉丝没有鱼先生.

\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}
2 个回答
Sagittarius Rover
Sagittarius Rover 2024-08-20
我要成为TikZ糕手/(ㄒoㄒ)/~~

和题主要求的不是特别相关,前几天正好学习了\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}

image.png

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览