Aditya Mahajan wrote:
> It basically saves the pain of typing \ or {} after all commands. 
> Suppose I have
> \abbreviation {ABC} {Some abbreviation}
>   
keep in mind that such mechanism are

(1) incomplete, since not all chars are looked at
(2) don't handle commands following such a call
(3) it's like an input encoding non conforming the default tex parsing
(4) best can be mention ed in a comment at the top of the file
(5) always will be fragile

so, i can provide a hook for such a thing in sort/syn but after that 
you're on your own since i'm not going to add support for this at each level

\unprotect

% core-syn: 

\def\reprocesssort#1#2#3%
  {\processsort{#1}{#3}{#2}%
   \getvalue{\??so#1\c!next}}

\def\preexecutesort#1#2#3%
  {\ifdoinpututilities \else
     \dowritesort{#1}{#2}{#3}%
     \unexpanded\setgvalue{#2}{\reprocesssort{#1}{#3}{#2}}%
   \fi}

\def\executesort#1#2#3%
  {\begingroup
   \let\executesort\thirdofthreearguments 
   \preexecutesort{#1}{#2}{#3}%
   \processsort{#1}{#3}{#2}%
   \endgroup
   \getvalue{\??so#1\c!next}} % not formally documented

\def\reprocesssynonym#1#2#3%
  {\processsynonym{#1}{#3}{#2}%
   \getvalue{\??sm#1\c!next}}

\def\preexecutesynonym#1#2#3#4%
  {\ifdoinpututilities \else
     \dowritesynonym{#1}{#2}{#3}{#4}%
     \unexpanded\setgvalue{#2}{\reprocesssynonym{#1}{#3}{#4}}%
   \fi}

\def\executesynonym#1#2#3#4%
  {\preexecutesynonym{#1}{#2}{#3}{#4}%
   \processsynonym{#1}{#3}{#4}%
   \getvalue{\??sm#1\c!next}} % not formally documented

% cors-spa: 

%D This is a dangerous feature because it makes the \TEX\ source
%D less portable, i.e. any parser now needs to apply exactly the
%D same algorithm when it wants to interpret the source. We
%D strongly recommend not to mention this feature in manuals!

\def\autoinsertnextspace{\futurelet\nexttoken\doautoinsertnextspace}

\def\doautoinsertnextspace % slightly extended version of a user supplied macro
  {\ifx\nexttoken \bgroup\else \ifx\nexttoken\begingroup\else
   \ifx\nexttoken \egroup\else \ifx\nexttoken  \endgroup\else
   \ifx\nexttoken      \/\else \ifx\nexttoken           /\else \ifx\nexttoken   
   ~\else
   \ifx\nexttoken      \ \else \ifx\nexttoken \blankspace\else \ifx\nexttoken 
\space\else
   \ifx\nexttoken       .\else \ifx\nexttoken           ,\else
   \ifx\nexttoken       !\else \ifx\nexttoken           ?\else
   \ifx\nexttoken       :\else \ifx\nexttoken           ;\else
   \ifx\nexttoken       '\else \ifx\nexttoken           "\else
   \ifx\nexttoken       )\else
   \ifx\nexttoken       -\else \ifx\nexttoken           |\else
%  \ifx\nexttoken      \%\else \ifx\nexttoken          \&\else
     \space
%  \fi\fi
   \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}

\protect

\setupsorting[logo][next=\autoinsertnextspace]

\logo[TEX]{\TeX}

bla bla \TEX test test
bla bla \TEX (test) test
bla bla (\TEX) test

\stoptext

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

Reply via email to