![如何将Lua写入TikZ?](https://linux22.com/image/351473/%E5%A6%82%E4%BD%95%E5%B0%86Lua%E5%86%99%E5%85%A5TikZ%EF%BC%9F.png)
我正在尝试弄清楚如何将 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}