Hi,
in XML and alike there is a concept of dedicated start/stop in formatting:
<begin heading> ... <end heading > <begin footnote> ... <end footnote > <begin italic> ... <end italic>
But in ConTeXt/TeX we have always the same closing syntax "}". That makes reading the code not easier.
Is there a workaround to define the closing more precisely (like the examples above), so that finding a "}" in a ConTeXt source lets me distinguish what it's about?
But in such a way that the file still can be processed as a regular ConTeXt file?
Steffen
Steffen Wolfrum wrote:
Hi,
in XML and alike there is a concept of dedicated start/stop in formatting:
<begin heading> ... <end heading > <begin footnote> ... <end footnote > <begin italic> ... <end italic>
But in ConTeXt/TeX we have always the same closing syntax "}". That makes reading the code not easier.
Is there a workaround to define the closing more precisely (like the examples above), so that finding a "}" in a ConTeXt source lets me distinguish what it's about?
But in such a way that the file still can be processed as a regular ConTeXt file?
its' no problem to define most commands as start/stop, however keep in mind that some start/stop constructs (like tables) pick up pieces in order to store them
so, if some commands need start/stop variants ... just make me a list and we'll see what we can do about it
Hans
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Thank you.
\footnote \index \chapter \section ... \it \bf \sc \mr \cap \language[...]
That would be quite a good start.
Steffen
Am 10.08.2006 um 22:44 schrieb Hans Hagen:
Steffen Wolfrum wrote:
Hi,
in XML and alike there is a concept of dedicated start/stop in formatting:
<begin heading> ... <end heading > <begin footnote> ... <end footnote > <begin italic> ... <end italic>
But in ConTeXt/TeX we have always the same closing syntax "}". That makes reading the code not easier.
Is there a workaround to define the closing more precisely (like the examples above), so that finding a "}" in a ConTeXt source lets me distinguish what it's about?
But in such a way that the file still can be processed as a regular ConTeXt file?
its' no problem to define most commands as start/stop, however keep in mind that some start/stop constructs (like tables) pick up pieces in order to store them
so, if some commands need start/stop variants ... just make me a list and we'll see what we can do about it
Hans
Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl
ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
On Thu, 10 Aug 2006, Steffen Wolfrum wrote:
Hi,
in XML and alike there is a concept of dedicated start/stop in formatting:
<begin heading> ... <end heading > <begin footnote> ... <end footnote > <begin italic> ... <end italic>
But in ConTeXt/TeX we have always the same closing syntax "}". That makes reading the code not easier.
You can always define your own startstop.
\definestartstop[italic][before={\bgroup \it},after={\egroup}]
and then do
\startitalic This is italic \stopitalic
When a command takes an optional agrument, you can do use something like this
\def\startfootnote% {\unskip\dosingleempty\dostartfootnote}
\def\dostartfootnote[#1]#2\stopfootnote% {\footnote[#1]{#2}}
You can make such definitions of all your frequently used environments (or, if you prefer, write in XML and let ConTeXt handle XML).
Is there a workaround to define the closing more precisely (like the examples above), so that finding a "}" in a ConTeXt source lets me distinguish what it's about?
There are \bgroup...\egroup which is same as {...} for all practical purposes.
Aditya
Am 10.08.2006 um 22:47 schrieb Aditya Mahajan:
You can always define your own startstop.
\definestartstop[italic][before={\bgroup \it},after={\egroup}]
and then do
\startitalic This is italic \stopitalic
When a command takes an optional agrument, you can do use something like this
\def\startfootnote% {\unskip\dosingleempty\dostartfootnote}
\def\dostartfootnote[#1]#2\stopfootnote% {\footnote[#1]{#2}}
And what would be the opposite?
For example \startquote ... \stopquote to something like {MyQuote ... }
Steffen
Am 13.08.2006 um 15:29 schrieb Steffen Wolfrum:
And what would be the opposite?
For example \startquote ... \stopquote to something like {MyQuote ... }
Steffen
\def\MyQuote#1{\startquote#1\stopquote}
\MyQuote{something to be quoted}
... should work OK, right?
Steffen
On Mon, 14 Aug 2006, Steffen Wolfrum wrote:
Am 13.08.2006 um 15:29 schrieb Steffen Wolfrum:
And what would be the opposite?
For example \startquote ... \stopquote to something like {MyQuote ... }
Steffen
\def\MyQuote#1{\startquote#1\stopquote}
\MyQuote{something to be quoted}
... should work OK, right?
Yes, there is also
\def\MyQuote{\groupedcommand{\startquote}{\stopquote}}
which does not read the argument and is better in some cases.
Aditya
On Mon, 14 Aug 2006, Aditya Mahajan wrote:
And what would be the opposite?
For example \startquote ... \stopquote to something like {\MyQuote ... }
AFAIK, there is no easy way to do this.
One can use \aftergroup trickery.
\def\MyQuote{\symbol[leftquote]\aftergroup\endMyQuote} \def\endMyQuote{\symbol[rightquote]}
\starttext {\MyQuote This is a test}
\mainlanguage[fr] {\MyQuote This is a test} \stoptext
Aditya