On 2011-03-24 <11:34:21>, Ulrike Fischer wrote:
Am Thu, 24 Mar 2011 11:14:00 +0100 schrieb Philipp Gesang:
I'm trying to store the virtual lua chess fonts I'm currently creating so that latex and context can use them.
1. At first I stored the vf-chess-XX.lua in tex/luatex. This works for latex but not for context. tex/generic works for both.
2. My fonts loads a lua-file which should be shared by all fonts with
chessfss=require('chessfss')
latex finds the chessfss.lua without problems in various locations (e.g. tex/generic) but context not. How can I solve this problem?
Hi Ulrike,
see also: http://www.ntg.nl/pipermail/ntg-context/2010/047721.html
Ah. chessfss = require('chessfss.lua') works in context. And it seems to work with latex too (I had somewhere in the back of my mind the thought that the ".lua" extension breaks with latex but can't reproduce it currently).
(You’re going to have to declare the table “chessfss” globally for this to work.)
The chessfss.lua has a "return Table" at the end which declares the table chessfss.
To quote from http://lua-users.org/wiki/LuaModuleFunctionCritiqued:
"The problems above can be avoided by not using the module function but instead defining modules in the following simple way: [*1][*2]
Of course, that’s the Lua way. I can’t guess what you’re up to but if it’s going to eventually become a module, the “chessfss” table should not pollute the global namespace. There are canonical locations (check luat-ini.lua) where the functions and data should go: http://www.ntg.nl/pipermail/ntg-context/2010/054982.html So you might be better off dropping “require” altogether and just conclude your module with a line like: thirddata = thirddata or { } thirddata.chessfss = chessfss instead of returning a table, then loading it with “loadluafile”. Regards, Philipp
-- hello/world.lua local M = {}
local function test(n) print(n) end function M.test1() test(123) end function M.test2() M.test1(); M.test1() end
return M
and importing modules this way:
local MT = require "hello.world" MT.test2()"
-- Ulrike Fischer
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________