On 6/19/20 9:47 PM, list_em...@icloud.com wrote:
On Jun 19, 2020, at 5:14 PM, Paul A. Rubin <parubi...@gmail.com> wrote:

On 6/19/20 7:34 PM, list_em...@icloud.com wrote:
On Jun 19, 2020, at 8:15 AM, Paul A. Rubin <parubi...@gmail.com> wrote:

On 6/19/20 7:51 AM, list_em...@icloud.com wrote:
I have tried mightily to get LyX to break long equations. I’ve studied multiple 
pages at stackexchange, both LaTeX and LyX, and can’t seem to get anything to 
work.

I have had luck in the past with the second large block of code at this page:

https://stackoverflow.com/questions/2904807/lyx-breaking-long-formula-lines

but today I have some problems with it.

First, it doesn’t work if the \text command appears inside my own LaTeX code that appears 
between \begin{dmath} and \end{dmath} or if I try to use the trick twice in the same 
document. (That’s a tentative analysis of the problem.) Specifically, LyX runs at 100% 
CPU eventually gives me a chance to abort and then follows up with this additional 
message: "The external program pdflatex finished with an error. It is recommended 
you fix the cause of the external program's error (check the logs)."

Plus, I now want to to apply the line breaking to a line within an aligned 
environment (Insert -> Math -> Aligned Environment in the menu system.) This is 
causing things to look even worse, even though I added two “aligned” lines to the 
referenced code block. (If you look at the code you’ll see the obvious places to add 
the lines.)

How do LyX-ers handle this? Is there “LyX” solution to breaking long equations? 
I’m OK with some ad hoc solution for now, or some ERT if it works.

Thanks,
Jerry


I've never used the breqn package, but with ordinary and AMS math environments, 
hitting Ctrl-Enter in the middle of a long formula will break it (inserting a 
line break, \\, in the LaTeX output). If that doesn't achieve what you want, 
perhaps you could post a minimal example and a specification of what the output 
should look like.

Paul

Thanks, Paul. I’m on a Mac so of course Control-Enter has no meaning. Usually this 
translates to Mac-speak as Command-Enter. When I do Command-Enter in my equation, 
which is unfortunately inside a align environment, it instead adds a row to the 
matrix that represents the align environment. Ditto for Shift-Command-Enter. These 
two commands in LyX are mapped as Insert -> Formatting -> Ragged Line Break and 
Justified Line Break, respectively but invoking the menu commands with the cursor in 
my equation has exactly the same effect: adding a row to the align matrix (above the 
row where the cursor is.) When (Shift-)Command-Enter is done to a non-align display 
equation a similar thing happens except now the non-align equation is converted to an 
align equation with a blank new row _below_ the original equation.

Right now I guess I would be pretty happy with merely a way to make 
Command-shift (Control-shift) do what is expected which is apparently break the 
equation instead of creating a new row.

Jerry

Jerry,

I just created an align environment with two equations, the left side of the 
first being ridiculously long. When I put the cursor somewhere toward the 
middle of the left side of the long equation and inserted a break (using 
Ctrl-Enter -- I'll get to the Mac part in a minute), it broke the equation and 
inserted a new row. So

     (x+x+x+x+...+x) =1
      y =2

(where the right column contained the equal signs and integers) became

     (x+x+x+...
     +x+x+x+x) =1
      y =2

where the right column is empty in the first row. See the attached minimal 
example. Is this not what you want?

Regarding the key mapping, if you can find an unused key combo that you have a chance of 
remembering, you can map it to "newline-insert newline" using Tools > Preferences... 
> Editing > Shortcuts. That's what Ctrl+Enter binds to for me.

Paul
Paul:

Thanks. The effect appears to work by adding another row to the matrix and 
filling it with the partial equation. In your example the new row is on top. If 
the long equation is moved to the RHS the new row is below.

I tried adding horizontal space to the second line of your broken equation but 
Latex seems to ignore it: when I click outside the math box and the equation is 
rendered, it is rendered without the horizontal space even though it was 
visible while in math editing mode.

About Mac key mappings: According to the status line in the document window, 
when I hit Command-Shift, it displays “(newline-insert newline;) and then icons 
for “Command” and “new line” which is an arrow thingy. So I’m going to assume 
that the key mapping is correct but that there is another problem, meaning…

…See my attached example. Attempting to break the line before the second 
exponential (1) doesn’t break the line, (2) adds a matrix row above, and (3) 
steals the = from the now-third row and puts it on the second row.

The failure to break with Command-Enter does not seem to be a function of the 
align environment since it also fails in a stand-alone equation but adding a 
new row creates a new align environment.

I notice that my long equation, as rendered by LyX in the LyX window, gets 
truncated on the right. I don’t know why—this does not happen in the document 
from which I am copying it.

Summary: Control-(or Command-)Shift doesn’t work on my equation.

Jerry



Jerry,

I messed with your example file and attached the result. The good news is that your formula is breakable. The bad news is that there is a bit of a PITA component to doing so.

The reason your attempt to break the formula failed was that it is enclosed in \left [ \right ], which apparently causes either LyX or LaTeX (I'm not sure which) to treat what is in between the brackets as unbreakable. The fix I came up with was to delete the bracketing, decide where I wanted to break the formula, then wrap the left half with just a left bracket and the right half with just a right bracket. You can do this using the "Insert delimiters" dialog (the "[ space ]" button on the tool bar), by unchecking the "Keep matched" box and then choosing the appropriate bracket on one side and "(None)" on the other. Once I'd done that, Ctrl+Return broke the line as expected.

I also put in a second version with IMO better balance, in which I did the same thing but moved the = sign to the left column.

Paul

Attachment: Line Break Success.lyx
Description: application/lyx

-- 
lyx-users mailing list
lyx-users@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-users

Reply via email to