* TaBlE from Lua
@ 2011-02-23 23:07 Daniel Lyons
2011-02-23 23:19 ` Wolfgang Schuster
2011-02-24 1:16 ` Philipp Gesang
0 siblings, 2 replies; 6+ messages in thread
From: Daniel Lyons @ 2011-02-23 23:07 UTC (permalink / raw)
To: ntg-context
Is there a convenient way to create TaBlE tables from Lua? If so,
where can I read about it?
Thanks,
--
Daniel
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: TaBlE from Lua
2011-02-23 23:07 TaBlE from Lua Daniel Lyons
@ 2011-02-23 23:19 ` Wolfgang Schuster
2011-02-24 1:16 ` Philipp Gesang
1 sibling, 0 replies; 6+ messages in thread
From: Wolfgang Schuster @ 2011-02-23 23:19 UTC (permalink / raw)
To: mailing list for ConTeXt users
Am 24.02.2011 um 00:07 schrieb Daniel Lyons:
> Is there a convenient way to create TaBlE tables from Lua?
\startluacode
context.starttable({"|l|l|"})
context.HL()
context.NC()
context("One")
context.NC()
context("Two")
context.NC()
context.AR()
context.HL()
context.stoptable()
\stopluacode
Wolfgang
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: TaBlE from Lua
2011-02-23 23:07 TaBlE from Lua Daniel Lyons
2011-02-23 23:19 ` Wolfgang Schuster
@ 2011-02-24 1:16 ` Philipp Gesang
2011-02-24 1:45 ` Daniel Lyons
1 sibling, 1 reply; 6+ messages in thread
From: Philipp Gesang @ 2011-02-24 1:16 UTC (permalink / raw)
To: mailing list for ConTeXt users
[-- Attachment #1.1.1: Type: text/plain, Size: 901 bytes --]
On 2011-02-23 <17:07:38>, Daniel Lyons wrote:
> Is there a convenient way to create TaBlE tables from Lua? If so,
> where can I read about it?
Good evening, Daniel!
[-1] Isn’t TaBlE deprecated? <http://wiki.contextgarden.net/Tables_Overview>
[0] If you aim for convenience, wouldn’t you rather want to
switch to \[start|stop]tabulate? Its syntax is very similar
and there are a few examples to learn from in the context
source code.
[1] I don’t know how your table structure looks like, but the
example 1 can be a starting point, assuming a 2dimensional
table where all rows have the same element count:
[2] Item example 2, but using the cld interface
<http://wiki.contextgarden.net/cld>.
Put both files in the same directory and run “context” on
table.tex to build the examples.
Regards, Philipp
>
> Thanks,
>
> --
> Daniel
[-- Attachment #1.1.2: table.tex --]
[-- Type: text/x-tex, Size: 582 bytes --]
\registerctxluafile{table}{}
%%% Example 1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\typesetatable{%
\ctxlua{userdata.do_typesetatable(userdata.t)}%
}
%%% Example 2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\typesetcldtable{%
\ctxlua{userdata.do_typesetcldtable(userdata.t)}%
}
\starttext
%%% Demo 1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\placetable[here]{Concatenation based}{\typesetatable}
%%% Demo 2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\placetable[here]{CLD-based}{\typesetcldtable}
\stoptext \endinput
[-- Attachment #1.1.3: table.lua --]
[-- Type: text/plain, Size: 1151 bytes --]
userdata = userdata or { }
userdata.t = {
{ 0, 0, 0, },
{ 0, 0, 1, },
{ 0, 1, 0, },
{ 0, 1, 1, },
{ 1, 0, 0, },
{ 1, 0, 1, },
{ 1, 1, 0, },
{ 1, 1, 1, },
}
--- Lua stuff 1 -------------------------------------------------
userdata.env = [[
\starttable[%s]
\HL
%s
\HL
\stoptable
]]
local fmt, rep, unpack = string.format, string.rep, table.unpack
userdata.do_typesetatable = function (t)
local maxx, maxy, lines = #t[1], #t, { }
local template = rep("\\NC %s", maxx)
for n=1, maxy do
local row = t[n]
lines[n] = " " .. fmt(template, unpack(row)) .. "\\AR"
end
context( fmt(userdata.env, "|" .. rep("c|", maxx), table.concat(lines, "\n")) )
end
--- Lua stuff 2 -------------------------------------------------
local AR, HL, NC = context.AR, context.HL, context.NC
userdata.do_typesetcldtable = function (t)
local maxx, maxy = #t[1], #t
context.starttable({ "|" .. rep("c|", maxx) })
HL()
for n=1, maxy do
local row = t[n]
for m=1, maxx do
NC() context(row[m])
end
AR()
end
HL()
context.stoptable()
end
[-- Attachment #1.2: Type: application/pgp-signature, Size: 198 bytes --]
[-- Attachment #2: Type: text/plain, Size: 486 bytes --]
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: TaBlE from Lua
2011-02-24 1:16 ` Philipp Gesang
@ 2011-02-24 1:45 ` Daniel Lyons
2011-02-24 6:35 ` luigi scarso
0 siblings, 1 reply; 6+ messages in thread
From: Daniel Lyons @ 2011-02-24 1:45 UTC (permalink / raw)
To: mailing list for ConTeXt users
On Feb 23, 2011, at 6:16 PM, Philipp Gesang wrote:
> On 2011-02-23 <17:07:38>, Daniel Lyons wrote:
>> Is there a convenient way to create TaBlE tables from Lua? If so,
>> where can I read about it?
>
> Good evening, Daniel!
>
> [-1] Isn’t TaBlE deprecated? <http://wiki.contextgarden.net/Tables_Overview>
I didn't know that!
> [0] If you aim for convenience, wouldn’t you rather want to
> switch to \[start|stop]tabulate? Its syntax is very similar
> and there are a few examples to learn from in the context
> source code.
My particular situation is a bit more involved. I want to put SQL in my ConTeXt source and have it run it against my database and format the result nicely in my document. I think I see how to do it, I just need to be able to take the parsed output and make the visually appealing table.
> [1] I don’t know how your table structure looks like, but the
> example 1 can be a starting point, assuming a 2dimensional
> table where all rows have the same element count:
It's not going to be too fancy, just headers and rows with the same number of columns on each line. I do want to be able to control how they get aligned but otherwise nothing interesting.
> [2] Item example 2, but using the cld interface
> <http://wiki.contextgarden.net/cld>.
>
> Put both files in the same directory and run “context” on
> table.tex to build the examples.
Thanks!
—
Daniel Lyons
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: TaBlE from Lua
2011-02-24 1:45 ` Daniel Lyons
@ 2011-02-24 6:35 ` luigi scarso
2011-02-24 6:48 ` Daniel Lyons
0 siblings, 1 reply; 6+ messages in thread
From: luigi scarso @ 2011-02-24 6:35 UTC (permalink / raw)
To: mailing list for ConTeXt users; +Cc: Roberto Giacomelli
On Thu, Feb 24, 2011 at 2:45 AM, Daniel Lyons <fusion@storytotell.org> wrote:
>
> On Feb 23, 2011, at 6:16 PM, Philipp Gesang wrote:
>
>> On 2011-02-23 <17:07:38>, Daniel Lyons wrote:
>>> Is there a convenient way to create TaBlE tables from Lua? If so,
>>> where can I read about it?
>>
>> Good evening, Daniel!
>>
>> [-1] Isn’t TaBlE deprecated? <http://wiki.contextgarden.net/Tables_Overview>
>
> I didn't know that!
>
>> [0] If you aim for convenience, wouldn’t you rather want to
>> switch to \[start|stop]tabulate? Its syntax is very similar
>> and there are a few examples to learn from in the context
>> source code.
>
> My particular situation is a bit more involved. I want to put SQL in my ConTeXt source and have it run it against my database and format the result nicely in my document. I think I see how to do it, I just need to be able to take the parsed output and make the visually appealing table.
Have a look at
http://robitex.wordpress.com/2011/02/22/postgresql-gestisce-i-dati-lualatex-li-stampa/
It's in italian & latex & postgres, but pretty clear.
--
luigi
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: TaBlE from Lua
2011-02-24 6:35 ` luigi scarso
@ 2011-02-24 6:48 ` Daniel Lyons
0 siblings, 0 replies; 6+ messages in thread
From: Daniel Lyons @ 2011-02-24 6:48 UTC (permalink / raw)
To: mailing list for ConTeXt users
On Feb 23, 2011, at 11:35 PM, luigi scarso wrote:
> On Thu, Feb 24, 2011 at 2:45 AM, Daniel Lyons <fusion@storytotell.org> wrote:
>>
>> On Feb 23, 2011, at 6:16 PM, Philipp Gesang wrote:
>>
>>> On 2011-02-23 <17:07:38>, Daniel Lyons wrote:
>>>> Is there a convenient way to create TaBlE tables from Lua? If so,
>>>> where can I read about it?
>>>
>>> Good evening, Daniel!
>>>
>>> [-1] Isn’t TaBlE deprecated? <http://wiki.contextgarden.net/Tables_Overview>
>>
>> I didn't know that!
>>
>>> [0] If you aim for convenience, wouldn’t you rather want to
>>> switch to \[start|stop]tabulate? Its syntax is very similar
>>> and there are a few examples to learn from in the context
>>> source code.
>>
>> My particular situation is a bit more involved. I want to put SQL in my ConTeXt source and have it run it against my database and format the result nicely in my document. I think I see how to do it, I just need to be able to take the parsed output and make the visually appealing table.
> Have a look at
> http://robitex.wordpress.com/2011/02/22/postgresql-gestisce-i-dati-lualatex-li-stampa/
> It's in italian & latex & postgres, but pretty clear.
This is gorgeous, and I'm sure it will come in handy, thanks! I'm glad to know I'm not alone in trying this.
My particular situation is a bit different though, I need to be able to do something along the lines of:
\startSQLinteraction
SELECT * FROM foo;
\stopSQLinteraction
and have it produce something like this (possibly):
SELECT * FROM mailinglists;
Listing 6.1
+-------------------+------------------------+
| mailing list name | email address |
+-------------------+------------------------+
| ConTeXt | ntg-context@ntg.nl |
| Snap Framework | snap@snapframework.com |
+-------------------+------------------------+
Output of Listing 6.1
My inspiration here is the Real World Haskell book, which ran the snippets in the book during rendering, ensuring both that the snippets actually work and that their output was faithful to the input. I don't mind having one connection as a constant.
—
Daniel Lyons
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-02-24 6:48 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-02-23 23:07 TaBlE from Lua Daniel Lyons
2011-02-23 23:19 ` Wolfgang Schuster
2011-02-24 1:16 ` Philipp Gesang
2011-02-24 1:45 ` Daniel Lyons
2011-02-24 6:35 ` luigi scarso
2011-02-24 6:48 ` Daniel Lyons
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).