## LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

 Options: Use Classic View Use Monospaced Font Show Text Part by Default Condense Mail Headers Topic: [<< First] [< Prev] [Next >] [Last >>]

 Sender: Mailing list for the LaTeX3 project <[log in to unmask]> From: Hans Aberg <[log in to unmask]> Date: Sun, 13 Apr 1997 12:16:20 +0200 Reply-To: Mailing list for the LaTeX3 project <[log in to unmask]> Parts/Attachments: text/plain (34 lines) >> ... it seems >> that there should be an algorithmic solution which >> extrapolates the available kerning information which >> comes very (and for some fonts maybe even indistiguishably) >> close to the optimum? Something like a poor man's >> letterspace that's not so poor after all? > >The crucial limiting factor is this: in TeX it is very difficult to >write *fully general* macros that pick up tokens one at a time and test >them before execution. Your intuition has some merit, if you are willing >that the letterspaced text should be subject to some strong >restrictions: no { } characters, no accent commands, no conditional >commands (\if... \else \fi), no macros that take arguments (such as >\ref, \index, \cite, or further font changes ...).   I think this is the same problem that Frank Mittelbach encountered in the "shortref" discussion.   Actually, the restrictions are not so severe: It is possible to parse special token like "{", "}", space, etc.   In fact, I used this to remove that restriction of the definition macro I made that produces conditional macros, namely, the restriction that it cannot be enclosed in { }. I wrote a macro that picks down the argument to the next "}" or \par, whatever comes first, making sure that what is picked down is being unaltered (thus putting back "{}" or spaces that may have been stripped out). This argument can subsequently be repeatedly examined in non-deterministic parsing.   Nevertheless, you do not get truly general macros by doing such parsing. One problem is lack of proper macro expansion control.   Hans Aberg