Re: Test
Behdad Esfahbod <[email protected]> Mon, 5 Jan 2004 08:34:24 -0500
| Newsgroups | gmane.comp.tex.omega.devel |
|---|---|
| Message-ID | <[email protected]> |
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to [email protected] for more info. --1686162181-1876538077-1073309348=:11241 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Content-ID: <[email protected]> On Mon, 5 Jan 2004, Chris Rowley wrote: > Behdad > > > Anybody still out there? > > Yes, but I did not know that the list was working again! > > chris Happy new year Chris and others, I was wondering about the exactly same thing :-). BTW, lets ask a question. I'm implementing a macro aliasing system. The idea is that when translating macro names in localized TeX systems, you need to somehow specify that eg. \b and \B are the same thing. Means, whenever \b is changed, \B should also change, and vice versa. The attached code tries to do this by defining \def family and \let as macros. Then all you need to do is \alias\B=\b. But I've got a few problems: * Overriding \def works in both TeX and LaTeX, but when I override \let, TeX works fine, but LaTeX drops a paragraph ended while scanning \let error. Actually it's fine with this: \let\oldlet\let \def\newlet{\oldlet} \let\let\newlet but not with this: \let\oldlet\let \def\newlet#1{\oldlet#1} \let\let\newlet Any idea what's LaTeX doing here? * Another problem is that I don't want my new \*def and \let macros be expanded in case of errors. I know LaTeX2e does this by providing \DeclareRobustCommand and actually using \protect tricks, but I cannot see how to do that in plain TeX. Actually I cannot even understand how it's implementing \protect. Cheers, behdad PS. While this implementation has its own problems, like not being symmetric and actually doing \def\B{\b}, but I prefer it to other ones as 1. it does not double the needed memory by copying \b to \B, and 2. it's as transparent as possible to non-alias macros, should be more robust. --1686162181-1876538077-1073309348=:11241 Content-Type: APPLICATION/X-TEX; NAME="alias.tex" Content-Transfer-Encoding: BASE64 Content-ID: <[email protected]> Content-Description: Content-Disposition: ATTACHMENT; FILENAME="alias.tex" XGlmeFxkb2N1bWVudHN0eWxlXHVuZGVmaW5lZFxyZWxheFxlbHNlClxkb2N1 bWVudHN0eWxle2FydGljbGV9ClxiZWdpbntkb2N1bWVudH0KXGZpCgpcY2F0 Y29kZWBAPTExCiVcbWFrZWF0bGV0dGVyCgpcZGVmXGFsaWFzQCMxIzJ7JQog IFxjb3VudEBcZXNjYXBlY2hhciBcZXNjYXBlY2hhclxtQG5lCiAgXGV4cGFu ZGFmdGVyCiAgXGV4cGFuZGFmdGVyCiAgXGV4cGFuZGFmdGVyCiAgXGFsaWFz QGxldEBvbGRcY3NuYW1lXHN0cmluZyMxQGFsaWFzZWRcZW5kY3NuYW1lIzIl CiAgXGVzY2FwZWNoYXJcY291bnRACiAgXGFsaWFzQGRlZkBvbGQjMXsjMn0l Cn0KClxkZWZcYWxpYXMjMSMyeyUKICBcaWZ4IzI9CiAgICBcYWxpYXNAZGVm QG9sZFxuQHh0eyMxfSUKICBcZWxzZQogICAgXGFsaWFzQGRlZkBvbGRcbkB4 dHsjMSMyfSUKICBcZmkKICBcZXhwYW5kYWZ0ZXJcYWxpYXNAXG5AeHR9Cgpc ZGVmXGFsaWFzQGRlZkAjMSMyeyUKICBcY291bnRAXGVzY2FwZWNoYXIgXGVz Y2FwZWNoYXJcbUBuZQogIFxleHBhbmRhZnRlclxpZnhcY3NuYW1lXHN0cmlu ZyMyQGFsaWFzZWRcZW5kY3NuYW1lXHJlbGF4CiAgICBcYWxpYXNAZGVmQG9s ZFxuQHh0eyMyfSUKICBcZWxzZQogICAgXGFsaWFzQGxldEBvbGRcbkB4dCMy JQogIFxmaQogIFxlc2NhcGVjaGFyXGNvdW50QAogIFxleHBhbmRhZnRlciMx XG5AeHQlCn0KClxkZWZcYWxpYXNAbGV0QCMxeyUKICBcY291bnRAXGVzY2Fw ZWNoYXIgXGVzY2FwZWNoYXJcbUBuZQogIFxleHBhbmRhZnRlclxpZnhcY3Nu YW1lXHN0cmluZyMxQGFsaWFzZWRcZW5kY3NuYW1lXHJlbGF4CiAgICBcYWxp YXNAZGVmQG9sZFxuQHh0eyMxfSUKICBcZWxzZQogICAgXGFsaWFzQGxldEBv bGRcbkB4dCMxJQogIFxmaQogIFxlc2NhcGVjaGFyXGNvdW50QAogIFxleHBh bmRhZnRlclxhbGlhc0BsZXRAb2xkXG5AeHQlCn0KClxsZXRcYWxpYXNAZGVm QG9sZFxkZWYKXGRlZlxhbGlhc0BkZWZAbmV3IzF7XGFsaWFzQGRlZkBcYWxp YXNAZGVmQG9sZCMxfQpcbGV0XGFsaWFzQGVkZWZAb2xkXGVkZWYKXGRlZlxh bGlhc0BlZGVmQG5ldyMxe1xhbGlhc0BkZWZAXGFsaWFzQGVkZWZAb2xkIzF9 ClxsZXRcYWxpYXNAZ2RlZkBvbGRcZ2RlZgpcZGVmXGFsaWFzQGdkZWZAbmV3 IzF7XGFsaWFzQGRlZkBcYWxpYXNAZ2RlZkBvbGQjMX0KXGxldFxhbGlhc0B4 ZGVmQG9sZFx4ZGVmClxkZWZcYWxpYXNAeGRlZkBuZXcjMXtcYWxpYXNAZGVm QFxhbGlhc0B4ZGVmQG9sZCMxfQpcbGV0XGFsaWFzQGxldEBvbGRcbGV0Clxk ZWZcYWxpYXNAbGV0QG5ldyMxe1xhbGlhc0BsZXRAIzF9CgpcZGVmXGVuYWJs ZWFsaWFzeyUKICBcbGV0XGRlZlxhbGlhc0BkZWZAbmV3CiAgXGxldFxlZGVm XGFsaWFzQGVkZWZAbmV3CiAgXGxldFxnZGVmXGFsaWFzQGdkZWZAbmV3CiAg XGxldFx4ZGVmXGFsaWFzQHhkZWZAbmV3CiAgXGxldFxsZXRcYWxpYXNAbGV0 QG5ldwp9CgpcZGVmXGRpc2FibGVhbGlhc3slCiAgXGFsaWFzQGxldEBvbGRc bGV0XGFsaWFzQGxldEBvbGQKICBcbGV0XGRlZlxhbGlhc0BkZWZAb2xkCiAg XGxldFxlZGVmXGFsaWFzQGVkZWZAb2xkCiAgXGxldFxnZGVmXGFsaWFzQGdk ZWZAb2xkCiAgXGxldFx4ZGVmXGFsaWFzQHhkZWZAb2xkCn0KCgpUZXN0OiAg eW91IHNob3VsZCBzZWUgcGFpcnMgb2Ygc2FtZSBsaW5lcy4KClxkZWZcYntk ZWYgcHJpbWl0aXZlfQoKXGVuYWJsZWFsaWFzCgpcYWxpYXNcY1xiCgpiPVxi CgpjPVxjCgpcZGVmXGN7YyByZWRlZmluZWR9CgpiPVxiCgpjPVxjCgpcZGVm XGJ7YiByZWRpZmluZWR9CgpiPVxiCgpjPVxjCgoKXHhkZWZcY3tjIHhyZWRl ZmluZWR9CgpiPVxiCgpjPVxjCgpcZGVmXGF7dXNpbmcgbGV0IG9uIGN9Clxs ZXRcY1xhCgpiPVxiCgpjPVxjCgpBcmUgdGhleSB0aGUgc2FtZT8KXGlmeFxj XGIgeWVzXGVsc2Ugbm9cZmkuCgpcZW5ke2RvY3VtZW50fQo= --1686162181-1876538077-1073309348=:11241--