Received: from webgate.proteosys.de (mail.proteosys-ag.com [62.225.9.49]) by lucy.proteosys (8.11.0/8.9.3/SuSE Linux 8.9.3-0.1) with ESMTP id f185FPH28533 for ; Thu, 8 Feb 2001 06:15:26 +0100 Received: by webgate.proteosys.de (8.11.0/8.11.0) with ESMTP id f185FPd12123 . for ; Thu, 8 Feb 2001 06:15:25 +0100 Received: from mail.Uni-Mainz.DE (mailserver1.zdv.Uni-Mainz.DE [134.93.8.30]) by mailgate1.zdv.Uni-Mainz.DE (8.11.0/8.10.2) with ESMTP id f185FKM20256 for ; Thu, 8 Feb 2001 06:15:20 +0100 (MET) MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C0918E.2516AB00" Received: from mailgate2.zdv.Uni-Mainz.DE (mailgate2.zdv.Uni-Mainz.DE [134.93.8.57]) by mail.Uni-Mainz.DE (8.9.3/8.9.3) with ESMTP id GAA26827 for ; Thu, 8 Feb 2001 06:15:19 +0100 (MET) X-MimeOLE: Produced By Microsoft Exchange V6.5 Received: from mail.listserv.gmd.de (mail.listserv.gmd.de [192.88.97.5]) by mailgate2.zdv.Uni-Mainz.DE (8.11.0/8.10.2) with ESMTP id f185FJ727445 for ; Thu, 8 Feb 2001 06:15:19 +0100 (MET) Received: from mail.listserv.gmd.de (192.88.97.5) by mail.listserv.gmd.de (LSMTP for OpenVMS v1.1a) with SMTP id <7.F5FA06E2@mail.listserv.gmd.de>; Thu, 8 Feb 2001 6:15:13 +0100 Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 487570 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Thu, 8 Feb 2001 06:15:15 +0100 Received: from ix.urz.uni-heidelberg.de (mail.urz.uni-heidelberg.de [129.206.119.234]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with ESMTP id GAA11822 for ; Thu, 8 Feb 2001 06:15:14 +0100 (MET) Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by ix.urz.uni-heidelberg.de (8.8.8/8.8.8) with ESMTP id GAA27174 for ; Thu, 8 Feb 2001 06:15:13 +0100 Received: from trmail.triumf.ca (trmail.Triumf.CA [142.90.100.150]) by relay.uni-heidelberg.de (8.10.2+Sun/8.10.2) with ESMTP id f185FCu16798 for ; Thu, 8 Feb 2001 06:15:12 +0100 (MET) Received: from triumf.ca (mutant.Triumf.CA [142.90.112.22]) by trmail.triumf.ca (8.10.2/8.10.2) with ESMTP id f185F5206697 for ; Wed, 7 Feb 2001 21:15:06 -0800 Organization: TRIUMF References: <14968.6710.114015.220264@ux28.nets.de.eds.com> <200101292234.RAA14964@pluto.math.albany.edu> <14967.8829.903878.620595@istrati.zdv.uni-mainz.de> <200101310003.BAA02073@peano.cs.uni-dortmund.de> <14967.46479.253389.421142@istrati.zdv.uni-mainz.de> <14971.10163.320991.33744@istrati.zdv.uni-mainz.de> Return-Path: X-Mailer: Mozilla 4.76 [en] (X11; U; Linux 2.2.16-3 i686) X-Accept-Language: en Content-class: urn:content-classes:message Subject: Re: inputenc -> text+math Date: Thu, 8 Feb 2001 06:21:52 +0100 Message-ID: <3A822CF0.5D33FAA6@triumf.ca> X-MS-Has-Attach: X-MS-TNEF-Correlator: From: "Donald Arseneau" Sender: "Mailing list for the LaTeX3 project" To: "Multiple recipients of list LATEX-L" Reply-To: "Mailing list for the LaTeX3 project" Status: R X-Status: X-Keywords: X-UID: 3740 This is a multi-part message in MIME format. ------_=_NextPart_001_01C0918E.2516AB00 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Frank Mittelbach wrote: > where is the solution Donald? this should be the kind of problem you = like to > tackle, or not? I would have the inputenc active characters begin with \ifx\protect\typeset@protect \ifvmode \leavevmode \fi \ifmmode make math character \else make text character \fi \else \protect something \fi A) When \halign is expanding text looking for \omit, TeX is in inner vertical mode, so the \leavevmode would be executed (\unhbox\voidb@x), and the expansion stopped there. B) When an active character appears in vertical mode, it will start the paragraph (executing \everypar) before it makes font settings or begins a local group. C) When already in a paragraph, ligatures and kerns are preserved D) When moving, the character is protected for later processing. E) When \halign is expanding text looking for \omit, \protect had better be \typeset@protect! Strange implementations that subvert \halign making \protect be \noexpand during pre-expansion, and changing it to \relax in every alignment template need no sympathy. The pedantic may point out "bugs" with this approach, that I don't think are worth consideration, when the alignment template contains text: {>{f}l} licker\\ lame\\ risky (except with inputenc characters) Of course there are probably serious bugs because I am an idiot :-) Donald Arseneau asnd@triumf.ca ------_=_NextPart_001_01C0918E.2516AB00 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Re: inputenc -> text+math

Frank Mittelbach wrote:
> where is the solution Donald? this should be the = kind of problem you like to
> tackle, or not?

I would have the inputenc active characters begin = with

\ifx\protect\typeset@protect
  \ifvmode \leavevmode \fi
  \ifmmode
    make math character
  \else
    make text character
  \fi
\else
  \protect something
\fi

A)  When \halign is expanding text looking for = \omit, TeX is
in inner vertical mode, so the \leavevmode would be = executed
(\unhbox\voidb@x), and the expansion stopped = there.

B)  When an active character appears in vertical = mode, it will
start the paragraph (executing \everypar) before it = makes font
settings or begins a local group.

C)  When already in a paragraph, ligatures and = kerns are preserved

D)  When moving, the character is protected for = later processing.

E)  When \halign is expanding text looking for = \omit, \protect had
better be \typeset@protect!  Strange = implementations that subvert
\halign making \protect be \noexpand during = pre-expansion, and
changing it to \relax in every alignment template = need no sympathy.

The pedantic may point out "bugs" with this = approach, that I don't
think are worth consideration, when the alignment = template contains
text:

{>{f}l}
 licker\\
 lame\\
 risky

(except with inputenc characters)

Of course there are probably serious bugs because I am = an idiot :-)



Donald = Arseneau           = ;            =    asnd@triumf.ca

------_=_NextPart_001_01C0918E.2516AB00--