Lua is a powerful, fast, lightweight, embeddable scripting language.

learn more… | top users | synonyms

52
votes
5answers
9k views

What is a simple example of something you can do with LuaTeX?

I've heard that with LuaTeX, you can embed Lua code in your document that work directly with TeX internals, making it possible to do several things that are hard to do with macros. What is a good ...
39
votes
5answers
3k views

Practical use of Lua

Although I always use LuaLaTeX to compile my documents, I don't really use Lua that often. Sometimes I even forget about it. In my last document I used it to write a random word generator, which ...
36
votes
1answer
467 views

Replacement(s) for TeX's paragraph builder using LuaTeX

The LuaTeX engine provides a callback that allows you to replace the built-in paragraph builder by your own algorithm. My question is twofold: does there exist a lua implementation that fully (or ...
32
votes
7answers
3k views

What are the advantages of Lua over other scripting languages for a TeX implementation?

The question is inspired by Martin Schröder's answer to I am new to TeX. Should I use LaTeX, XeLaTeX, …? as well as my two previous questions on this forum: Automatic document update Generate LaTeX ...
27
votes
1answer
305 views

Best Practices for Lua Modules

In the Lua world Lua Modules are installed using LuaRocks. With LuaTeX these modules are normally installed in the scripts folder (under MikTeX windows). What tools are available for downloading and ...
25
votes
5answers
3k views

Reading data from a relational database into a LaTeX table

I'm using Tex Live 2009 on Debian squeeze. I can upgrade if I really, really have to, but I'd rather not. i was wondering if it would be possible to do the following. Given some data in a ...
24
votes
1answer
425 views

Bad interaction between fontspec and some lua code that performs string-related search and replace operations

Update 2013/05/28: The selnolig package is now on the CTAN. Comments and critiques always welcome! If you wish to contact me about any aspects of the package, please use the email address that's given ...
21
votes
0answers
405 views

wxLua in LuaLaTeX

I have some problems using wxLua in LuaLateX. This works: lua simpleui.lua (print instead of tex.print) But if i try this: lualatex wx.tex it doesn't work. \documentclass{article} ...
18
votes
2answers
895 views

LuaJIT and LuaTeX

Is it possible to change the Lua engine in LuaTeX to LuaJIT? Will it be as simple as replacing the Lua5.1 source code in the LuaTeX tarball with the LuaJIT source, or does it require (drastic) ...
17
votes
4answers
785 views

How to read a file with luatex

I tried to read a file with lua and set the content as normal text in my document, but I didn't worked it out. Here my code: \documentclass{scrartcl} \usepackage{luatextra} \usepackage{filecontents} ...
16
votes
1answer
311 views

LuaLaTeX for dummies: basic directlua use

I'm trying to understand the basics of lua programming within LaTeX. I have this simple function in a file called luatest.lua: function fact (n) if n == 0 then return 1 else return n * ...
16
votes
1answer
1k views

Installing Lua Modules for use in LuaLaTeX

I've done all of the searching that I can, and I think I've read the right answer, but am too dumb to know that I read it. I can't seem to figure out the magic tricks to get Lua modules, installed by ...
14
votes
0answers
74 views

What is “the” LUA root for context packages?

As package author, I want to write a LUA module which can be found by both lualatex and context. The lualatex prototype works reasonably and I am convinced that this will also be true if I release ...
13
votes
3answers
4k views

How to properly install and use a new font with LuaLaTeX?

I have problems trying to get new fonts to work when compiling with LuaLaTeX. I'm working on Mac and use TexShop (with the MacTeX package). It goes like this: I downloaded for example the Cardo ...
13
votes
1answer
239 views

How can I dump Lua code to a format file?

From this format: %% testformat.ini \input plain \directlua {tex.enableprimitives('', tex.extraprimitives())} \directlua { testFunction = function () tex.print("This was print by Lua's ...
13
votes
1answer
281 views

Lua function to see if a macro is defined or not

I need to determine if a TeX macro is already defined or not via a Lua function. Any ideas? function IsTeXMacroDefined(macroname) if defined(macroname) then return true end return false end
11
votes
3answers
378 views

In which order is Lua Code in LuaTeX being processed

Can someone help me understand the order in which LuaTeX documents are being processed? From what I've understood, the order is the following: the code is being read, top to bottom when the ...
11
votes
2answers
469 views

Lua syntax for the listings package

I'm preparing some slides with Beamer and I've just discovered that the listings package, which otherwise does exactly what I want, is missing the syntax for the Lua language. How can I configure ...
10
votes
3answers
1k views

Matrix multiplication (and other operations) macro using lua module

I am hoping to be able to create a macro to multiply matrices using a lua module. The module is here: https://raw.github.com/davidm/lua-matrix/master/lua/matrix.lua As suggested to me in a previous ...
9
votes
1answer
271 views

Convert color name to pdfliteral code

How can I convert a color name (such as used with the xcolor package) to a pdfliteral code, like q 1 0 0 rg (for red)?
9
votes
2answers
486 views

percent signs in luacode* environment (LuaLaTeX)

Can someone explain what happens here: \documentclass{article} \usepackage{luacode} \begin{document} \begin{luacode*} tex.print("xx\%a","yy\\%b","zz\\\%c") \end{luacode*} \end{document} The ...
9
votes
1answer
850 views

Speeding up latex/lua/tikz

I have a rather large LaTeX document in that it generates a lot of LaTeX code using lua (small .tex file on disk but large amount of generated LaTeX code). It is very slow to compile and takes about 1 ...
8
votes
1answer
202 views

LuaLaTeX for dummies: how to add LaTeX macros into \directlua?

How to make the following code to compile? \documentclass{article} \newcommand*{\mycommand}{\directlua{for i = 1, 10 do tex.sprint(i\hskip1cm) end}} %does not work ...
8
votes
2answers
169 views

How to manipulate a multi-line string in luatex?

I want to write a Lua function that processes some multi-line string. Thus, I created a new file test.lua which contains userdata = userdata or {} function userdata.surroundwithdashes(str) str = ...
8
votes
2answers
125 views

Escape a string printed from Lua using ConTeXt

This seems to have come up a couple times, but I cannot glean an answer to the generic question of how one might protect an arbitrary string in Lua to ensure its characters are printed. In other ...
8
votes
1answer
229 views

Testing for TeX boolean in Lua code

How can I test for a TeX boolean in Lua? This kind of code doesn't work: \newif\if@mypkg@someif \begin{luacode} -- some lua code \if@mypkg@someif -- some more lua code \else ...
8
votes
0answers
42 views

How to use luatex's node.hpack so that marks, inserts and vadjusts migrate out?

TeX's hpack routine packages an hlist into a box. While doing that it looks at a global pointer adjust_tail and if that is not "null" it migrates some nodes to a separate list starting at ...
7
votes
2answers
840 views

How to check if a value is not equal using TeX conditionals?

I have a value defined in a macro, e.g.: \mymacro{apple} I need to check if a value does not equal a string, e.g.: IF #1 NOT EQUAL TO "apple" THEN PRINT "It is not a apple, it is #1." FI I ...
7
votes
2answers
425 views

How to display special symbols in ConTeXt which are processed by Lua?

I have a ConTeXt document containing many special characters. I have followed the instructions at Which symbols need to be escaped in ConTeXt? to ensure they can all display properly in the document, ...
7
votes
3answers
988 views

What is the correct way to delineate directories in Lua?

I have been experimenting with some Lua code to list directories and provide them to the TeX engine. I have been using the Lua File System (lfs) module. The first part list the current directory ...
7
votes
1answer
2k views

Search & Replace Script for TeXworks

Does anyone have an example for a search & replace lua script that I can use with TeXworks. I have a rather large document here (about 3'000 pages DIN A5) which I need to update continously. To ...
7
votes
2answers
109 views

Problems with insert_before and post_linebreak_filter

I'm coding an algorithm to detect and highlight homeoarchies. Here my current almost working (but compiling at least) code: \documentclass{article} \usepackage[french]{babel} \usepackage{kpfonts} ...
7
votes
1answer
465 views

LuaTeX with unicode-math, how to get the font id of current math font

How can I query informations about the current math font? I tried the following in a document using unicode-math and Cambria Math font \documentclass{article} \usepackage{unicode-math} ...
7
votes
1answer
104 views

PDF for the hypergeometric distribution

I wish to plot the p.d.f. for the hypergeometric distribution, and I have been using lua combined with pgfplots. However I get an error when I use the density function with the formula for the ...
7
votes
1answer
306 views

Pass parameter to texlua script

Calling texlua file.lua on the command line runs the file through a Lua interpreter. Is it possible to give arguments to the script? For instance, in -- file.lua io.write(3.4 + 5.6) io.write("\n") ...
7
votes
1answer
204 views

Strange interaction between fontspec, lua and pgfplots

While trying to combine some Lua code with plots written in pgfplots something went completely wrong. I have no idea what causes the problem, as the error message is a bit opaque to me. Here is the ...
6
votes
3answers
551 views

How to do a 'printline' in LuaTeX

I have just started exploring the world of LuaTeX and wanted to write a piece of code, that prints a name to a new line in the document. \directlua{ for i=1,3,1 do tex.print("FOO") end } which ...
6
votes
2answers
288 views

How to register a callback in ConTeXt

In ConTeXt mkiv, how do I register a callback? callback.register() does nothing (and IIRC most callbacks are frozen anyway) and somewhere I found tasks.appendaction, but this gives me an error that ...
6
votes
2answers
283 views

More than one width of a glyph in LaTeX or LuaLatex

I don't know where I can ask about it. I have font with 2 or 3 versions of letter 'a'. How I can put this information to LuaLaTeX, LaTeX etc.? When the paragraph are breaking/making LaTeX made ...
5
votes
2answers
1k views

How can one get a list of the available functions in Lua(La)TeX

Is there a list or method to determine a list of the lua functions available/installed? Sofar I could only find the lua source files. Maybe I should write something that search through all the ...
5
votes
2answers
211 views

Bouncing ball over time

I have this clumsy code to plot the height of a bouncing ball over time. Is there a possibility for optimization? Perhaps writing the functions directly with the tikz math library? Also at the moment ...
5
votes
1answer
96 views

Find node above and under

Using a post_linebreak_filter callback, is it possible to access the nodes positioned above and under a given node?
5
votes
1answer
382 views

Hacking Animate

While babysitting my kids yesterday I played little bit with one of my favorite LaTeX package PSTricks. Naturally I started toying with something more "advanced" so a toyed a bit with animations. On ...
5
votes
0answers
339 views

Lua techniques and libraries for LuaTeX [closed]

With LuaTeX, it is possible to use many libraries and functions that can simplify various aspects of Lua programming. As Lua as language is quite new for the majority of TeX users, I think it would be ...
4
votes
2answers
503 views

Using macro variables with Lua in ConTeXt

I need to make some macros in ConTeXt. I have tried to use Lua code, but I do not understand how to mix ConTeXt source and Lua source together. Here is an example: \define[3]\textmacro{ \startlua ...
4
votes
2answers
367 views

Why does \luaexec work but the luacode environment doesn't?

The following code can be compiled by lualatex (Version beta-0.70.1-2011061410 (rev 4277)) correctly. But if I use \begin{luacode} ... \end{luacode} environment to replace the \luaexec{...} command, ...
4
votes
1answer
470 views

How to use string.find from Lua in ConTeXt?

I am trying to make some conditionals with Lua, which check if some text is found within a string. Unfortunately, when I compile it, I get: ! LuaTeX error <main ctx instance>:4: bad argument #1 ...
4
votes
2answers
184 views

Accessing MySQL or SQLite from Lua(La)TeX

I thought it would be possible to access MySQL or SQLite from Lua(La)TeX, but couldn't google up anything on the topic. Please give me pointers to: Snippets / Examples / Documentation on that, if ...
3
votes
1answer
740 views

Passing two or more dimensional arrays to lua

I can write: \def\myarray{{Nrs,1,2,3}} then I can call lua: \luadirect{myfunc(\myarray)} and access the values in the array/table. How would one do it for multidimensional ones? I initially ...
3
votes
1answer
144 views

ConTeXt's user namespace seems somewhat empty

With ConTeXt ver: 2010.05.24 13:05 MKIV fmt: 2010.12.18 int: english/english the ConTeXt code \starttext \message{one} \directlua{print(1)} \message{two} \usercode{print(2)} ...