On 2012-07-19, ralston wrote:

> I've got 10 years experience and 200 documents using LaTex with heavy
> math.  Like everyone else I paste a clot of \newcommands into my Latex
> preamble without looking at it.

> My student has recommended Lyx, which I appreciate has many great
> features.  I really want to like LyX.  What a great concept.  And
> yet... I find LyX math macros an absolutely horror. Why construct LyX
> to ignore macros in an imported LaTex preamble?  Why defeat the most
> popular usage, and why not write something to properly automate the
> import? 

Because (La)TeX is a macro language that is miles more difficult to
machine-parse than, say, XML.

This is why the focus is on *generating* (writing/editing) documents that
can be typeset with LaTeX (and/or HTML, Docbook, ...). LyX is *not* a "LaTeX
editor".

Depending on your needs, existing documents and willingness to change
habits, LyX may boost your productivity or be not the tool of your choice.

> It's a fact that exchanging LaTex with collaborators and opening old
> files needs to be automated.  Yet Lyx wants me to paste macros by hand
> into every document, or else create subsidiary file systems I don't
> understand with no examples of what to do.  

I don't understand where LyX wants you to paste macros by hand...

> Why not automate that? 

This is a task too difficult to be done completely automatically. LyX did
improve and specific suggestions for further improvement are welcome.

> Once I create a macro it won't update (for me!) in an imported LaTeX
> document, and the error messages are too non-specific to debug.

The math-macros are really just for math-mode commands. This is why LyX
does not convert preamble definitions to "math-macros" - is just does not
know whether they are math-mode or text-mode (or both). (See your list below
for a mix of math-mode and text-mode commands.)

Also, math-macros are document specific - defining a math-macro in one
document does not make it available in other ones. This is why my
documents include a file of commonly used math macros -- just like I
\input a file with commonly used preamble definitions in my LaTeX
documents.

> Import also seems to forget a lot of small things like "^{}, _{} " and
> matrix formats that are real work to fix.

Yes, there are many non-supported ways to write things in LaTeX.

> I've only got about 10 macros to get running, but LyX has fought me all
> the way.  I hope I'm in the wrong and working with basic concept errors
> someone could straighten out... and why doesn't LyX post at least one
> completely running imported mathy FILE example, rather than abstract
> principles....while my excuse is a definite lack of interest in working
> with things that create more work than they save.  Frustrated by hours
> or wasted time, I probably seem cranky. 

I do understand your frustration. Please keep in mind that LyX is not an
enterprise solution promising "easy LaTeX for all" but a volunteer effort
to create a document processor that matches the expectations and ideals
of its developers with much input from the users. As such, it may be not
the right tool for you - at least it needs more patience for things that
might seem easy to you but are very complex from the point of a
programmer...

> In case I've not been too rude, here's some macros, which LyX gurus
> will not find profound; I will surely either convert with enthusiasm to
> LyX, or forbid all my students and contacts to ever touch it, depending
> on how the importing and exporting of latex with macros can be
> automated.

I hope you will come to a more tempered evaluation of the program.
Even if it is not the tool for you, it might be valuable for your
students.

> \newcommand{\ab}{\allowbreak} \newcommand{\bit}{\begin{itemize}}
> \newcommand{\eit}{\end{itemize}} \newcommand{\im}{\item}
> \newcommand{\be}{\begin{equation}} \newcommand{\ee}{\end{equation}}
> \newcommand{\ba}{\begin{eqnarray}} \newcommand{\ea}{\end{eqnarray}}
> \newcommand{\nn}{\nonumber} \renewcommand{\bf}{\textbf}

All of these are rather shortcut aliases for text mode. "math-macro" is not
the right thing to emulate them.
I would try to find out whether tex2lyx already can be configured to do a
back-replacement (e.g. \bf -> \textbf) before converting to LyX format or
write a simple search-and replace script to do this in a preprocessing step.

As you are not going to use these commands directly when writing in LyX,
there is no need for supporting the aliases.

> \newcommand{\ra}{\rightarrow} \newcommand{\NN}{\vec \nabla}
> \def\slasha#1{\setbox0=\hbox{$#1$}#1\hskip-\wd0\hbox 
> to\wd0{\hss\sl/\/\hss}}
> \def\slashb#1{\setbox0=\hbox{$#1$}#1\hskip-\wd0\dimen0=5pt\advance
> \dimen0 by-\ht0\advance\dimen0 by\dp0\lower0.5\dimen0\hbox
> to\wd0{\hss\sl/\/\hss}}

These are (as far as I can see) real math macros, hence it may be sensible
to define math-macros for them (if you want a "nice" look in LyX). However,
it is possible to use them "as is" in math insets - it just does not look so
nice with the red command name.

Günter

Reply via email to