如何将Lua写入TikZ?

如何将Lua写入TikZ?

我正在尝试弄清楚如何将 Lua 输出放入 TikZ。我知道 Lua 可用于制作表格,但我不明白为什么它在这种情况下不起作用。

在这个例子中,我尝试使用 Lua 生成一组点,并使用 TikZ 绘制它们的图形。但是运行此代码时我遇到了一些错误。这可能与我尝试换行的方式有关。尝试写入会%f, %f\n在每个点后产生 Omega 符号。

\documentclass[12pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{luacode}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{datavisualization,math}
\setlength\parindent{0pt}
\begin{luacode}
function data()
for x=0,10,1 do
tex.print(string.format("%f, %f\\\\",x,x+1))
end
end
\end{luacode}
\begin{document}
\begin{tikzpicture}
\datavisualization[scientific axes]data[headline={x,y}]{\directlua{data()}};
\end{tikzpicture}
\end{document}

答案1

%!TEX program = lualatex
\documentclass[12pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{luacode}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{datavisualization,math}
\setlength\parindent{0pt}
\begin{luacode*}
    function data()
    tex.print([[\datavisualization[scientific axes]data[headline={x,y}]{]])
    tex.print("")--tikz seems to be really quirky on this
    for x=0,10 do
        tex.print(x..[[, ]]..(x+1))
        tex.print("")
    end
    tex.print([[};]])
    end
\end{luacode*}
\begin{document}
    \begin{tikzpicture}
    \directlua{data()}
    \end{tikzpicture}
\end{document}

完毕

相关内容