Подтвердить что ты не робот

LyX - разрыв длинных линий формулы

Как я могу разбить длинные формулы в LyX на две (или более) строки? Я знаю, как писать несколько строк уравнений в одном "математическом ящике", но я ищу решение для разрыва строк даже в середине круглой скобки.

Я использую LyX 1.6.4, и в настоящее время, когда формула слишком велика, она ничего не делает (она просто не печатает последний ее сегмент, который находится за пределами страницы).

Возможно ли это в LyX?

4b9b3361

Ответ 1

Да, но вы должны сделать это вручную.

Отъезд:

Lyx имеет элемент управления "Вставка → Math → AMS multline environment", или вы можете использовать рекомендованные рекомендации, введя Latex напрямую, используя элемент "Вставить латекс".

Примечание по breqn

Майкл Даунс сделал некоторые необычные кодировки Tex с этим пакетом, но он недостаточно прочен для общего использования - он, в основном, несовместим с Amsmath, например, перерывы в трудно понятных способах и делает некоторые явно несостоятельные разрывы строк в формулах.

Автоматическая раскладка строк в формулах отображения была указана как одна из главных открытых проблем исследования в Tex.

Ответ 2

Если вы включили \usepackage {breqn} в LyX "Презентация LaTeX" (плюс следующий код), тогда стандартная среда "уравнения" (отображаемая формула) будет автоматически ломаться, как вы хотите.

% Add support for automatic equation breaking
\gdef\[email protected]@environ#1#2{
    \expandafter\let\csname [email protected]@#1\expandafter\endcsname\csname #1\endcsname
    \expandafter\let\csname [email protected]@#1\expandafter\endcsname\csname end#1\endcsname
    \expandafter\gdef\csname [email protected]@#1\endcsname{%
        \expandafter\let\csname #1\expandafter\endcsname\csname [email protected]@#1\endcsname%
        \begin{#2}%
    }
    \expandafter\gdef\csname [email protected]@#1\endcsname{%
        \expandafter\let\csname end#1\expandafter\endcsname\csname [email protected]@#1\endcsname%
        \end{#2}%
        \expandafter\let\csname #1\expandafter\endcsname\csname [email protected]@#1\endcsname%
        \expandafter\let\csname end#1\expandafter\endcsname\csname [email protected]@#1\endcsname%
    }
    \expandafter\let\csname #1\expandafter\endcsname\csname [email protected]@#1\endcsname
    \expandafter\let\csname end#1\expandafter\endcsname\csname [email protected]@#1\endcsname
}
\[email protected]@environ{equation}{dmath}
\[email protected]@environ{equation*}{dmath*}

Добавлено 2016-12-08:

Если вы хотите переопределить стандартную (ненумерованную) среду уравнений LyX, добавьте также следующее:

\DeclareRobustCommand\[{\begin{equation*}}
\DeclareRobustCommand\]{\end{equation*}}

Ответ 3

Возможно, вы захотите попробовать breqn. Он обеспечивает автоматическое прерывание линии для больших формул. Таким образом, нет необходимости вручную фиксировать разделители или выбирать точки останова. Конечно, это не настоящая функция LyX, но она делает именно то, что вы хотите.

Ответ 4

Вставить → Math-> Многострочная среда AMS

напишите свое уравнение и нажмите "Ctrl + Enter", где вы хотите разделить Затем щелкните правой кнопкой мыши по уравнению и выберите число целой формулы

Ответ 5

Совсем недавно мне пришлось решать ту же проблему. Мое простое решение (не знаю, если лучше) - использовать ctrl + enter для нескольких строк, а для проблемы с круглыми скобками вы можете использовать кнопку сразу после круглых скобок, скобок и фигурных скобок, которая открывает окно с этими и многими другими варианты и, что важно, возможность иметь разные варианты в одно и то же время (например, это). В частности, вы можете выбрать "none" и иметь только "(" или ")" для каждой строки, (как +/Это) Надеюсь, что это поможет.

Ответ 6

Мой способ "ломать длинные строки формул в ликсе" - использовать breqn по требованию. Этот метод продемонстрирован в этом сообщении.

В преамбуле LyX "LaTeX Preamble" поставьте следующие

\usepackage{amsmath}
\usepackage{etoolbox} 
\usepackage{breqn}

\newcommand{\breqnoverloadothers}
{% 
    \renewenvironment{equation}{\ignorespaces\begin{dmath}}{\end{dmath}\ignorespacesafterend}%
    \renewenvironment{equation*}{\ignorespaces\begin{dmath*}}{\end{dmath*}\ignorespacesafterend}%
    \renewenvironment{multline}{\ignorespaces\begin{dmath}}{\end{dmath}\ignorespacesafterend}%
    \renewenvironment{multline*}{\ignorespaces\begin{dmath*}}{\end{dmath*}\ignorespacesafterend}%

}

\newcommand\breqnundefineothers
{%  
    \renewenvironment{equation}{}{}%
    \renewenvironment{equation*}{}{}%
    \renewenvironment{multline}{}{}%
    \renewenvironment{multline*}{}{}%

}

\AtBeginEnvironment{dmath}{\breqnundefineothers}
\AtBeginEnvironment{dmath*}{\breqnundefineothers}

\AtBeginEnvironment{dgroup}{\def\breqnundefineothers{}\breqnoverloadothers}
\AtBeginEnvironment{dgroup*}{\def\breqnundefineothers{}\breqnoverloadothers}

В Lyx для длинных уравнений, для которых вы хотите применить breqn, просто 1) набирает уравнения, используя любую из вышеперечисленных сред математики, то есть уравнение/уравнение */multline/multline * и 2) surround уравнение (ы), использующее среду dmath или среду dgroup, например:

\begin{dmath}
    hit ctrl+shift+M to insert a long equation here, and number the equation
\end{dmath} 

или

\begin{dgroup}
    hit ctrl+shift+M to insert a long equation here, and number the equation
    hit ctrl+shift+M again to insert another long equation here, and number the equation
\end{dgroup} 

Теперь вы можете экспортировать в PDF и видеть, что длинные уравнения обрабатываются "автоматически" by breqn. Уравнения, не заключенные в dmath или dgroup, не будут влиять.

Создаются скриншоты, но у меня нет 10-точечной репутации для их загрузки.

Ответ 7

Я знаю, что это немного устарело, но кому-то все еще может понадобиться эта информация, как я не так давно. У меня недавно были схожие проблемы с этим, пробивая пронумерованную линию посередине. (ликсида 2.04 и выше). Я использовал массив lyx eqn. Поместите уравнение, все это в правый квадрат массива eqn (их два) В тот момент, когда вы хотите разбить уравнение, нажмите CTRL + Enter. Это разделяет ваше уравнение на две строки. Если у вас есть нумерованный массив уравнений, переключите верхнюю строку с помощью: Alt + M Shift + N, чтобы удалить номер уравнения, оставив вам только одно уравнение на двух строках.