On 2014-06-30, Jacob Bishop wrote:
> On Sun, Jun 29, 2014 at 1:52 AM, Georg Baum <[email protected]>
> wrote:
>> Unfortunately it is not possible to use unsupported math environments
>> in LyX without putting the whole formula in ERT or do some advanced
>> macro tricks.
This depends
* on the type of math environment:
It is possible to write \begin{foo} .... \end{foo},
it is possible to write \begin{foo}{c} .... \end{foo} where the second
opening bracket needs to be input as `Ctrl-l {`,
but I did not find a way to write unescaped `&` and `\` in math-mode.
* on the notation of "advanced":
if there is a compatible (in input requirements) math environment that
LyX supports and that is not used in the document, a simple
re-definition in the user-preable would do the trick.
>> The reason for this is that the native LyX format for
>> math formulas is LaTeX. This is implemented in such a way that
>> _everything_ is parsed, so it is not possible to have a true ERT in
>> mathed. The parser supports unknown commands somewhat (so they appear
>> in red), but not environments.
>> This is of course a problem and needs to be fixed, but up to now nobody
>> worked on it. If it does not exist already please file a bug report at
>> http://www.lyx.org/trac/wiki/BugTrackerHome to support unknown
>> environments
>> in math.
> I fully agree with Georg that it is not currently possible to use
> unsupported math environments in LyX without using ERT or macro tricks.
> I also agree that this is a problem that should be fixed (although I
> can't immediately think of an easy way to fix it)
As defining an array/multiline type of equation for LyX is a nontrivial
task, there will be no easy way. I can imagine several ways:
* simple hack: ERT for math: allow unescaped special characters like \ and &
this would still provide a LyX-rendering for the "normal" content of the
unsupported environment.
* Define math environments in LyX-layout rules instead of hard-coded. Then,
a LyX-module can add support for new math environments.
* math-macro with "inheritance": base math macros on existing commands and
environments, allowing to change name and maybe some more aspects.
Günter