使用 lua 生成二维码列表

使用 lua 生成二维码列表

我想生成一个数字序列列表,其中序列的一部分是计数器,另一个序列是根据该计数器生成的。我的 MnotWE

\documentclass{book}

\usepackage{luacode}

\usepackage{tikz}

\usepackage{qrcode}

\newcommand{\Digits}[2]{
    \luaexec{
        a = #1+#2
        b = #1*#2
        tex.sprint(\luastring{#1#2 a b})
    }
}

\newcommand{\PrintQR}

\begin{document}


    \foreach\AA in{1,...,10}{
        \foreach\BB in{1,...,2}{
            \renewcommand{\PrintQR}{\Digits{\AA}{\BB}}
            \PrintQR
            %\qrcode{\PrintQR}
        }
    }

\end{document}

存在两个问题:

  1. 我得到的是字母本身,而不是a和的值。b
  2. 如果我取消注释该行,\qrcode我会收到错误。

答案1

我不知道你想要什么输出,但在这种情况下不要使用 \luaexec。它不可扩展。我也怀疑你是否需要 \luastring,但如果你使用它,不要在它的参数中放置变量。

\documentclass{book}

\usepackage{luacode}

\usepackage{tikz}

\usepackage{qrcode}

\newcommand{\Digits}[2]{%
    \directlua{
        a = #1 + #2;
        b = #1 * #2;
        tex.sprint("#1#2="..a..b)
    }%
}


\newcommand{\PrintQR}

\begin{document}


    \foreach\AA in{1,...,10}{
        \foreach\BB in{1,...,2}{
            \renewcommand{\PrintQR}{\Digits{\AA}{\BB}}
            \PrintQR
            \qrcode{\Digits{\AA}{\BB}}
        }
    }

\end{document}

相关内容