* starttexdefinition error in standalone, works in TL2013
@ 2014-02-27 4:08 Rik Kabel
2014-02-27 15:13 ` Rik Kabel
2014-03-01 12:32 ` Wolfgang Schuster
0 siblings, 2 replies; 5+ messages in thread
From: Rik Kabel @ 2014-02-27 4:08 UTC (permalink / raw)
To: ntg-context
[-- Attachment #1.1: Type: text/plain, Size: 1946 bytes --]
The following code processes cleanly under TL2013 and fails with
ConTeXt ver: 2014.02.14 17:07 MKIV beta fmt: 2014.2.16 int:
english/english. I suspect a regression, but I am also open to being
told that I am doing things incorrectly.
I also notice that it fails (even under TL2013) if a space is inserted
after [#SETUP] in the doTrans intro. I thought that spaces should be
allowed in \starttexdefinition -- is this only in the body and not the
parameter description?
% macros=mkvi
\showframe
\let\EndTranslation\relax
\starttexdefinition Trans
\dosingleempty\doTrans
\stoptexdefinition
% The following should work, but fails with current beta
\starttexdefinition doTrans [#SETUP]#TRANSLATION\EndTranslation
\language[en]
\doifsomething{#1}{\getparameters[TR][setup=,#SETUP]\TRsetup}
\noindentation\blank[halfline]
(\,\ignorespaces#TRANSLATION\removeunwantedspaces\,)
\stoptexdefinition
\starttexdefinition Translation
\dosingleempty\doTranslation
\stoptexdefinition
% This version works with both Texlive and current standalone beta
\def\doTranslation[#SETUP]#TRANSLATION\EndTranslation%
{\language[en]%
\doifsomething{#SETUP}%
{\getparameters[TR][setup=,#SETUP]\TRsetup}%
\noindentation\blank[halfline]%
(\,\ignorespaces#TRANSLATION\removeunwantedspaces\,)%
}
\starttext
Translation using \tex{def}{\tex{doTranslation}} works both with
TL2013 and current beta.
\Translation[language=en]
It betrays a slow-witted mentality to pursue the streams, but not
to see the sources of things.
\EndTranslation
\blank
Translation using \tex{starttexdef doTrans} fails with current beta.
\Trans[language=en]
It betrays a slow-witted mentality to pursue the streams, but not
to see the sources of things.
\EndTranslation
\stoptext
--
Rik Kabel
[-- Attachment #1.2: Type: text/html, Size: 3035 bytes --]
[-- Attachment #2: Type: text/plain, Size: 485 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] 5+ messages in thread
* Re: starttexdefinition error in standalone, works in TL2013
2014-02-27 4:08 starttexdefinition error in standalone, works in TL2013 Rik Kabel
@ 2014-02-27 15:13 ` Rik Kabel
2014-03-01 12:32 ` Wolfgang Schuster
1 sibling, 0 replies; 5+ messages in thread
From: Rik Kabel @ 2014-02-27 15:13 UTC (permalink / raw)
To: ntg-context
[-- Attachment #1.1: Type: text/plain, Size: 1308 bytes --]
On 2014-02-26 23:08, Rik Kabel wrote:
> The following code processes cleanly under TL2013 and fails with
> ConTeXt ver: 2014.02.14 17:07 MKIV beta fmt: 2014.2.16 int:
> english/english. I suspect a regression, but I am also open to being
> told that I am doing things incorrectly.
>
> --
> Rik Kabel
>
Sorry for the not-so-minimal example with the obvious errors around the
setup. Here is a stripped version that shows the problem:
% macros=mkvi
\let\EndTranslation\relax
% The following should work, but fails with current beta
\starttexdefinition Trans #TRANSLATION\EndTranslation
#TRANSLATION
\stoptexdefinition
% This version works with both TexLive and current standalone beta
\def\Translation#TRANSLATION\EndTranslation%
{#TRANSLATION%
}
\starttext
Translation using \tex{def}{\tex{doTranslation}} works both with
TL2013 and current beta.
\Translation
It betrays a slow-witted mentality to pursue the streams, but not
to see the sources of things.
\EndTranslation
\blank
Translation using \tex{starttexdef doTrans} fails with current beta.
\Trans
It betrays a slow-witted mentality to pursue the streams, but not
to see the sources of things.
\EndTranslation
\stoptext
--
Rik
[-- Attachment #1.2: Type: text/html, Size: 2610 bytes --]
[-- Attachment #2: Type: text/plain, Size: 485 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] 5+ messages in thread
* Re: starttexdefinition error in standalone, works in TL2013
2014-02-27 4:08 starttexdefinition error in standalone, works in TL2013 Rik Kabel
2014-02-27 15:13 ` Rik Kabel
@ 2014-03-01 12:32 ` Wolfgang Schuster
2014-03-01 17:01 ` Rik Kabel
2014-03-12 19:49 ` Movable code, was " Rik
1 sibling, 2 replies; 5+ messages in thread
From: Wolfgang Schuster @ 2014-03-01 12:32 UTC (permalink / raw)
To: mailing list for ConTeXt users
Am 27.02.2014 um 05:08 schrieb Rik Kabel <context@rik.users.panix.com>:
> The following code processes cleanly under TL2013 and fails with ConTeXt ver: 2014.02.14 17:07 MKIV beta fmt: 2014.2.16 int: english/english. I suspect a regression, but I am also open to being told that I am doing things incorrectly.
The \starttexdefinition was extended after the texlive release to support keywords like global or expanded and has therefore changed since then. The reason why it fails is that context passes the argument to Lua where they are parsed and at this point macros like your \EndTranslation are expanded. Even though this can be fixed I think it’s better to use the normal \def command when you want to create delimited commands.
> I also notice that it fails (even under TL2013) if a space is inserted after [#SETUP] in the doTrans intro. I thought that spaces should be allowed in \starttexdefinition -- is this only in the body and not the parameter description?
No, spaces between arguments aren’t ignored but no spaces are added at the end of each line in the replacement text.
\starttexdefinition Test #1 #2
“#2” “#1”
\stoptexdefinition
\starttext
\Test ab cd
\stoptext
BTW: It’s better to follow contexts rules and use start/stop for environments, this way you can make use of the buffer mechanism to store text.
\unexpanded\def\startTranslation
{\begingroup
\dosingleempty\dostartTranslation}
\def\dostartTranslation[#1]%
{\iffirstargument
\getrawparameters[Translation][setups=,language=en,#1]%
\fi
\grabbufferdata[Translation][startTranslation][stopTranslation]}
\def\stopTranslation
{\language[\Translationlanguage]%
\Translationsetups
(\,\getbufferdata[Translation]\removeunwantedspaces\,)%
\endgroup}
\starttext
\startTranslation[language=nl]
It betrays a slow-witted mentality to pursue the streams, but not to see the sources of things.
\stopTranslation
\stoptext
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] 5+ messages in thread
* Re: starttexdefinition error in standalone, works in TL2013
2014-03-01 12:32 ` Wolfgang Schuster
@ 2014-03-01 17:01 ` Rik Kabel
2014-03-12 19:49 ` Movable code, was " Rik
1 sibling, 0 replies; 5+ messages in thread
From: Rik Kabel @ 2014-03-01 17:01 UTC (permalink / raw)
To: ntg-context
On 2014-03-01 07:32, Wolfgang Schuster wrote:
> Am 27.02.2014 um 05:08 schrieb Rik Kabel <context@rik.users.panix.com>:
{useful information on TL2013 and starttexdefinition skipped}
> BTW: It’s better to follow contexts rules and use start/stop for environments, this way you can make use of the buffer mechanism to store text.
>
> \unexpanded\def\startTranslation
> {\begingroup
> \dosingleempty\dostartTranslation}
>
> \def\dostartTranslation[#1]%
> {\iffirstargument
> \getrawparameters[Translation][setups=,language=en,#1]%
> \fi
> \grabbufferdata[Translation][startTranslation][stopTranslation]}
>
> \def\stopTranslation
> {\language[\Translationlanguage]%
> \Translationsetups
> (\,\getbufferdata[Translation]\removeunwantedspaces\,)%
> \endgroup}
>
> \starttext
>
> \startTranslation[language=nl]
> It betrays a slow-witted mentality to pursue the streams, but not to see the sources of things.
> \stopTranslation
>
> \stoptext
>
Thank you for the excellent example. The only problem I see is that it
fails if no optional argument is present (in which case the keyval
settings \TranslationXXX never get defined). This is easily remedied by
removing the \iffirstargument and \fi wrapping the \getrawparameters.
--
Rik
___________________________________________________________________________________
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] 5+ messages in thread
* Movable code, was Re: starttexdefinition error in standalone, works in TL2013
2014-03-01 12:32 ` Wolfgang Schuster
2014-03-01 17:01 ` Rik Kabel
@ 2014-03-12 19:49 ` Rik
1 sibling, 0 replies; 5+ messages in thread
From: Rik @ 2014-03-12 19:49 UTC (permalink / raw)
To: ntg-context
[-- Attachment #1.1: Type: text/plain, Size: 2311 bytes --]
On 2014-03-01 07:32, Wolfgang Schuster wrote:
>
> \unexpanded\def\startTranslation
> {\begingroup
> \dosingleempty\dostartTranslation}
>
> \def\dostartTranslation[#1]%
> {\iffirstargument
> \getrawparameters[Translation][setups=,language=en,#1]%
> \fi
> \grabbufferdata[Translation][startTranslation][stopTranslation]}
>
> \def\stopTranslation
> {\language[\Translationlanguage]%
> \Translationsetups
> (\,\getbufferdata[Translation]\removeunwantedspaces\,)%
> \endgroup}
>
> \starttext
>
> \startTranslation[language=nl]
> It betrays a slow-witted mentality to pursue the streams, but not to see the sources of things.
> \stopTranslation
>
> \stoptext
>
> Wolfgang
>
Wolfgang (and list),
The above code works fine with simple texts, but is not movable. Adding
a footnote, as in the following, to the text section shows that:
\starttext
\startTranslation[language=en]
It betrays a slow-witted mentality to pursue the streams, but not to
see the sources of things.%
\footnote{%
\startTranslation[language=la]
Tardi ingeni est rivulos consectari, fontes rerum non videre.
\stopTranslation%
}
\stopTranslation
\stoptext
or even by:
\starttext
It betrays a slow-witted mentality to pursue the streams, but not to
see the sources of things.%
\footnote{%
\startTranslation[language=la]
Tardi ingeni est rivulos consectari, fontes rerum non videre.
\stopTranslation%
}
\stoptext
In LaTeX, this might be dealt with by a combination robust command
definitions and \protected. When I wrote an endnotes routine in LaTeX, I
used those and wrote the notes to a file which was then read back in at
the appropriate time, but that does not help with pagenotes.
I imagine that at the time the footnote is processed the
Translationsetups and Translationlanguage macros are no longer defined,
and I have no idea how one would reference the buffer contents, although
it does look like they have stable names in the log file.
Can this be made movable?
Also, am I correct that the \iffirstargument test in the definition of
dostarttranslation is redundant? My understanding is that \dosingleempty
assures the presence of [#1].
--
Rik
[-- Attachment #1.2: Type: text/html, Size: 3389 bytes --]
[-- Attachment #2: Type: text/plain, Size: 485 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] 5+ messages in thread
end of thread, other threads:[~2014-03-12 19:49 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-27 4:08 starttexdefinition error in standalone, works in TL2013 Rik Kabel
2014-02-27 15:13 ` Rik Kabel
2014-03-01 12:32 ` Wolfgang Schuster
2014-03-01 17:01 ` Rik Kabel
2014-03-12 19:49 ` Movable code, was " Rik
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).