旧 ConTeXt 分隔列表示例的问题

旧 ConTeXt 分隔列表示例的问题

我一直试图从以下小例子康特克斯花园工作無果。

\starttext
\usemodule[database]

\def\SendMe#1#2#3#4{\framed
[align={flushleft,lohi},
width=4cm,
height=2.5cm]{#1\crlf#2\crlf\crlf\uppercase{#3\crlf#4}}}

\defineseparatedlist[Address][separator={;},command=\SendMe]
\startAddress
NTG;Maasstraat 2;NL-5836 BB Sambeek;The Netherlands
Dante~e.V.;Postfach 101840;D-69008 Heidelberg;Germany
\stopAddress

\stoptext

上下文让我想到了这一点:

...
resolvers       > modules > loaded: 'database'
(/usr/share/texmf/tex/context/base/m-database.mkiv<+ /usr/share/texmf/tex/context/base/m-database.lua>)
! Argument of \SendMe has an extra }.
<inserted text> 
                \par 
<to be read again> 
                   }
\doprocessdatabase ...rameter \c!command \!!es , }
                                                  }
l.13 \stopAddress

? 

不幸的是,目前我没有机会使用最新最好的 ConTeXt/LuaTeX 软件包进行测试。我的版本是:ConTeXt 2012.05.21 23:16 和 LuaTeX beta-0.71.0-2012050800 (rev 4406)。

那么这个示例是否过时了(它是 2006 年的)?现在应该如何实现?或者这是 ConTeXt/LuaTeX 的一些回归错误?或者也许有人可以确认这确实适用于最新版本?

答案1

您可以使用 mkII: 运行它,texexec <file>然后它就可以工作了。

m-database 的 mkiv 版本仅适用于 这样的设置command=\framed。模块内的文档仅引用从 csv 列表创建的表。

相关内容