web-dev-qa-db-fra.com

LyX - Briser les longues lignes de la formule

Comment diviser des formules longues dans LyX en deux lignes (ou plus)? Je sais écrire plusieurs lignes d'équations dans une "boîte mathématique", mais je cherche une solution pour rompre les lignes, même au milieu d'une parenthèse. 

J'utilise LyX 1.6.4 et actuellement, lorsque la formule est trop grosse, elle ne fait rien (elle n'en affiche simplement pas le dernier segment, qui est "au-delà" de la page).

Est-ce possible dans LyX?

21
Amir Rachum

Oui, mais vous devez le faire à la main.

Check-out:

  1. Comment puis-je avoir des sauts de ligne dans mes longues équations LaTeX?
  2. Équations multilignes en latex

Lyx a un contrôle "Insérer -> Maths -> Environnement multi-lignes AMS", ou vous pouvez utiliser les solutions recommandées ci-dessus en entrant Latex directement à l'aide du contrôle Insérer un latex.

Note sur breqn

Michael Downes a codé Tex de manière extraordinaire avec ce paquet, mais il n'est pas assez robuste pour une utilisation générale - il est généralement incompatible avec Amsmath, par exemple, rompt de manière difficile à comprendre et crée des sauts de ligne manifestement peu solides dans les formules.

Les coupures de ligne automatiques dans les formules d'affichage étaient listées comme l'un des problèmes de recherche les plus en suspens de Tex .

5
Charles Stewart

Si vous incluez\usepackage {breqn} dans le "Préambule LaTeX" de LyX (plus le code suivant), l'environnement standard "d'équation" (Formule affichée) se cassera automatiquement comme vous le souhaitez.

% Add support for automatic equation breaking
\gdef\wrap@breqn@environ#1#2{
    \expandafter\let\csname breqn@oldbegin@#1\expandafter\endcsname\csname #1\endcsname
    \expandafter\let\csname breqn@oldend@#1\expandafter\endcsname\csname end#1\endcsname
    \expandafter\gdef\csname breqn@begin@#1\endcsname{%
        \expandafter\let\csname #1\expandafter\endcsname\csname breqn@oldbegin@#1\endcsname%
        \begin{#2}%
    }
    \expandafter\gdef\csname breqn@end@#1\endcsname{%
        \expandafter\let\csname end#1\expandafter\endcsname\csname breqn@oldend@#1\endcsname%
        \end{#2}%
        \expandafter\let\csname #1\expandafter\endcsname\csname breqn@begin@#1\endcsname%
        \expandafter\let\csname end#1\expandafter\endcsname\csname breqn@end@#1\endcsname%
    }
    \expandafter\let\csname #1\expandafter\endcsname\csname breqn@begin@#1\endcsname
    \expandafter\let\csname end#1\expandafter\endcsname\csname breqn@end@#1\endcsname
}
\wrap@breqn@environ{equation}{dmath}
\wrap@breqn@environ{equation*}{dmath*}

Ajouté le 08/12/2016:

Si vous souhaitez remplacer l'environnement d'équation LyX par défaut (non numéroté), ajoutez également les éléments suivants:

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

Vous voudrez peut-être essayer le paquet breqn . Il fournit une rupture de ligne automatique pour les grandes formules. De cette façon, il n'est pas nécessaire de fixer manuellement vos délimiteurs ou de choisir les points de rupture. Bien sûr, ce n’est pas une fonctionnalité de LyX, mais il fait exactement ce que vous voulez.

3
Pieter

Tout récemment, j'ai dû faire face au même problème. Ma solution simple (ne sais pas si c'est mieux) est d'utiliser ctrl + entrée pour plusieurs lignes et, pour le problème des parenthèses, vous pouvez utiliser le bouton situé juste après les parenthèses, les crochets et les accolades, ce qui ouvre une fenêtre avec ceux-ci et beaucoup d'autres. options et, surtout, possibilité d’avoir des choix différents en même temps, (comme ceci}. En particulier, vous pouvez choisir "aucune" et n’avoir que "(" ou ")" pour chaque ligne, (comme +/ceci) J'espère que cela vous aidera.

0
Pablo

Je sais que c'est un peu vieux, mais quelqu'un pourrait encore avoir besoin de cette information comme je ne l'avais pas fait il y a peu de temps. J'ai récemment eu des problèmes similaires, cassant une ligne numérotée au milieu. lyx 2.04 et supérieur). J'ai utilisé le tableau lyx eqn. Mettez l'équation, le tout dans la case de droite du tableau eqn (il y en a deux) Au moment où vous souhaitez rompre l'équation, appuyez sur CTRL + Entrée. Ceci divise votre équation en deux lignes. Si vous avez un tableau d’équations numéroté, basculez la ligne supérieure avec: Alt + M Maj + N pour supprimer le numéro d’équation, vous laissant ainsi une seule équation sur deux lignes.

0
Ejike

Ma façon de "casser les longues lignes de la formule dans lyx" est d’utiliser breqn à la demande. La méthode est démontrée dans ce post. 

Dans le "Préambule LaTeX" de LyX, mettez ce qui suit 

\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}

Dans Lyx, pour les longues équations pour lesquelles vous voulez appliquer breqn, il suffit de 1) composez les équations en utilisant l’un des environnements mathématiques surchargés ci-dessus, c’est-à-dire, équation/équation */multline/multline * et 2) entourez l’équation ( s) en utilisant l'environnement dmath ou l'environnement dgroup, comme:

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

ou 

\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} 

Vous pouvez maintenant exporter vers PDF et voir que les équations longues sont gérées "automatiquement" par breqn. Les équations non incluses dans dmath ou dgroup ne seront pas influencées.

Des captures d'écran sont générées mais je n'ai pas la réputation de 10 points pour les télécharger.

0
Peng Liu