Using Lua files in project structure
I'm writing a project in ConTeXt MKIV and I want to load some (pure) Lua libraries and bindings (defining \ctxlua and the like). For instance, I have the file foo.lua with some macros and I want to use them in my project. Something like this: \startproject project %\component foo.lua %This does not work %\environment foo.lua %This does not work %\input foo.lua %This does not work %\directlua{dofile("foo.lua")} %This does not work even when the project file and foo.lua are in the same folder. \stopproject What should I do? Thank you in advance.
On 05.04.20 15:00, Jairo A. del Rio wrote:
I'm writing a project in ConTeXt MKIV and I want to load some (pure) Lua libraries and bindings (defining \ctxlua and the like). For instance, I have the file foo.lua with some macros and I want to use them in my project. Something like this:
\startproject project %\component foo.lua %This does not work %\environment foo.lua %This does not work %\input foo.lua %This does not work %\directlua{dofile("foo.lua")} %This does not work even when the project file and foo.lua are in the same folder. \stopproject
What should I do? Thank you in advance.
Have you tried \registerctxluafile{foo}{} ? That's the way context loads its lua files. Thomas
Il 05/04/20 15:00, Jairo A. del Rio ha scritto:
I'm writing a project in ConTeXt MKIV and I want to load some (pure) Lua libraries and bindings (defining \ctxlua and the like). For instance, I have the file foo.lua with some macros and I want to use them in my project. Something like this:
\startproject project %\component foo.lua %This does not work %\environment foo.lua %This does not work %\input foo.lua %This does not work %\directlua{dofile("foo.lua")} %This does not work even when the project
\directlua{require("foo")} or \startluacode require("foo") \stopluacode
file and foo.lua are in the same folder. \stopproject
What should I do? Thank you in advance.
Best wishes, Massi
Jairo A. del Rio schrieb am 05.04.2020 um 15:00:
I'm writing a project in ConTeXt MKIV and I want to load some (pure) Lua libraries and bindings (defining \ctxlua and the like). For instance, I have the file foo.lua with some macros and I want to use them in my project. Something like this:
\startproject project %\component foo.lua %This does not work %\environment foo.lua %This does not work %\input foo.lua %This does not work %\directlua{dofile("foo.lua")} %This does not work even when the project file and foo.lua are in the same folder. \stopproject
What should I do? Thank you in advance.
1. \luaenvironment <file> 2. \useluamodule [<file>] 3. \ctxloadluafile {<file>} 4. \loadluafile [<file>] or \loadluafileonce [<file>] Wolfgang
None of them work. Maybe I'm doing something wrong. I have my project file (say, "main.tex") in a folder (say, "Main") and projects in a subfolder (say "Products"). I've written some Lua macros in a file (say, "foo.lua") and I need all the products to be able to call those Lua functions, so I tried loading them in the project file ("foo.lua" and "main.tex" are in the same folder, whereas products are in the subfolder). \usepath works for finding other files, such as images, so I don't know what is going on. I'm attaching a test project. El dom., 5 de abr. de 2020 a la(s) 09:28, Wolfgang Schuster ( wolfgang.schuster.lists@gmail.com) escribió:
Jairo A. del Rio schrieb am 05.04.2020 um 15:00:
I'm writing a project in ConTeXt MKIV and I want to load some (pure) Lua libraries and bindings (defining \ctxlua and the like). For instance, I have the file foo.lua with some macros and I want to use them in my project. Something like this:
\startproject project %\component foo.lua %This does not work %\environment foo.lua %This does not work %\input foo.lua %This does not work %\directlua{dofile("foo.lua")} %This does not work even when the project file and foo.lua are in the same folder. \stopproject
What should I do? Thank you in advance.
1. \luaenvironment <file>
2. \useluamodule [<file>]
3. \ctxloadluafile {<file>}
4. \loadluafile [<file>] or \loadluafileonce [<file>]
Wolfgang
On Sun, 5 Apr 2020, Jairo A. del Rio wrote:
I'm writing a project in ConTeXt MKIV and I want to load some (pure) Lua libraries and bindings (defining \ctxlua and the like). For instance, I have the file foo.lua with some macros and I want to use them in my project. Something like this:
\startproject project %\component foo.lua %This does not work %\environment foo.lua %This does not work %\input foo.lua %This does not work %\directlua{dofile("foo.lua")} %This does not work even when the project file and foo.lua are in the same folder. \stopproject
I have been \environment foo.lua for an old project (which has been running without significant changes for about 10 years now). I tested it again, and it is working on LMTX 2019.12.31. Has something changed in the recent versions? (I should upgrade and check) Aditya
participants (5)
-
Aditya Mahajan
-
Jairo A. del Rio
-
mf
-
Thomas A. Schmitz
-
Wolfgang Schuster