[NTG-context] Variables how-to needed

Rogers, Michael K mroge02 at emory.edu
Wed Jul 25 17:08:59 CEST 2012

On Jul 25, 2012, at 12:50 AM, Mari Voipio wrote:

> Hello All,
>
> I'm looking for some "for dummies" information about using variables.
> I tried looking for it in the wiki, but only found this "Internals"
> page that's a bit too advantaged to me:
> http://wiki.contextgarden.net/Inside_ConTeXt#Using_variables
> I'm obviously missing something important, so I'd love to see a few
> more examples of variables and variable input files...
>
>
> What I want is price tags with the item name in Finnish and
> English/Swedish and then the price. These are placed on a small page
> and those small pages are then fit onto one A4 by imposition.
>
> Like this:
>
> Pieni nyörihaarukka, koivua   %variable 1,v-descr-fi
> {\em Small lucet, beech}   %variable 2, v-descr-en
>
> 6 eur  %variable 3, v-price1
>
> Made in xxx %variable 4, v-origin
>
>
> I can do the imposition, that is not a problem - and it works a lot
> better than a table, so no tables this way...
> .
> My data is in a list that can be converted to csv (although it'll then
> have a bunch of quotes to be removed), the list format is just like
> above:
> Item in Finnish, Item in English, price, country of origin.
>
> So the main problem is database/mailmerge/variablerelated: How do I
> (or should I) use variables to fetch this information from a separate
> spreadsheet type file, i.e. my price list?
>
> (IF this was MS Word or OpenOffice, it would be called Mail Merge, but
> in OO it sucks a bit; and I think the operation itself should be easy
> if  I just figure out how to do it...

Does this give you the sort of thing you want?  Sorry it's so kludgy (hey, \relax ;-).  There is an example of an address label in Mojca's http://dl.contextgarden.net/myway/csv.pdf but it threw an error in the current beta (I will write about that on a separate thread).  So I made the following (stupid) workaround:

\usemodule[database]
%\defineseparatedlist
%  [PriceTag]
%  [separator={:},command=\MyTag]
\defineseparatedlist
[PriceTag]
[separator={:},
first=\MyTag,
last=\blank,
left=,
right=\relax] % a hack, because command=\MyTag wasn't working in MKIV
\unexpanded\def\MyTag#1\relax#2\relax#3\relax#4\relax{ % ditto
\framed
[align={flushleft,lohi},
width=6cm,
\starttext
\startPriceTag
Finnish thing:English name:2.15 eur:Finland
Pieni nyörihaarukka, koivua:Small lucet, beech:6 eur:xxx
\stopPriceTag

% or process the file
%\processdatabasefile[PriceTag][prices.txt]

\stoptext

________________________________

This e-mail message (including any attachments) is for the sole use of
the intended recipient(s) and may contain confidential and privileged
information. If the reader of this message is not the intended
recipient, you are hereby notified that any dissemination, distribution
or copying of this message (including any attachments) is strictly
prohibited.