[OS X TeX] \newcommand\eal{\end{align}

Thu Nov 18 02:06:53 EST 2010

Ross,

That does help.

D.

On Nov 17, 2010, at 10:58 PM, Ross Moore wrote:

> Hi David,
>
> On 18/11/2010, at 5:06 PM, David Arnold wrote:
>
>> All,
>>
>> A colleague of mine asked why this won't compile.
>>
>> \documentclass[12pt]{article}
>> \usepackage{amsmath,amssymb}
>>
>> \newcommand{\bal}{\begin{align*}}
>> \newcommand{\eal}{\end{align*}}
>
> First the dogma:
>
> Definitions of this kind are prone to disasters.
> You should stick to the markup that is already defined,
> and not make such silly shorthands.
> Use editor templates if there is a need to reduce typing.
>
>
> Now the technical reason why it fails:
>
>  The error message is:
>
>>>> Runaway argument?
>>>> \frac {3.5}{4.2} &= \frac {35}{42}\\ &= \frac {5}{6} \eal
>>>> ! Paragraph ended before \align* was complete.
>>>>                   \par
>
>
> The problem is that the tokens in an alignment need to be processed
> *twice* before the display can be created. The first pass is for
> measuring widths (e.g., related to how much space for any \tag ,
> even if there is not one being used) and working out the space
> between columns in the alignment.
>
> To do this, the code needs to read ahead to where the environment
> finishes, *without* expanding macros. When the \end{align*} is
> wrapped up inside \eal  then this step can only fail.
>
>
> If there was only a single pass over the code, then the \end{align*}
> would be found as \eal  was being expanded. But that is not good
> enough for code, as here, that wants to capture the whole environment
> unambiguously, before proceeding with the finer details.
>
> Not that many of the alignments in amsmath.sty  work this way.
> Furthermore, if the output needs to be further encapsulated,
> (e.g. for Tagged PDF) so that it has a chance of working on
> mobile devices, where the size of the output screen is variable,
> then proper unambiguous markup of the input is vital.
>
>
>>
>> \begin{document}
>>
>> \bal
>> 	\frac{3.5}{4.2} &= \frac{35}{42}\\
>> 	&= \frac{5}{6}
>> \eal
>>
>> \end{document}
>>
>> I just didn't have a good answer to give to him.  Can some expert out there explain?
>>
>> Thanks.
>>
>> David
>
>
> Hope this helps,
>
> 	Ross
>
> ------------------------------------------------------------------------
> Ross Moore                                       ross.moore at mq.edu.au
> Mathematics Department                           office: E7A-419
> Macquarie University                             tel: +61 (0)2 9850 8955
> Sydney, Australia  2109                          fax: +61 (0)2 9850 8114
> ------------------------------------------------------------------------
>
>
>
> ----------- Please Consult the Following Before Posting -----------
> TeX FAQ: http://www.tex.ac.uk/faq
> List Reminders and Etiquette: http://email.esm.psu.edu/mac-tex/
> List Archive: http://tug.org/pipermail/macostex-archives/
> TeX on Mac OS X Website: http://mactex-wiki.tug.org/
> List Info: http://email.esm.psu.edu/mailman/listinfo/macosx-tex
>