Usage de breqn ? — Les-mathematiques.net The most powerful custom community solution in the world

Usage de breqn ?

Bonjour à tous
Je cherche un moyen de "forcer" un morceau de texte (contenant à la fois des maths en mode "inline" et du texte) à remplir exactement une ligne (pour des questions d'esthétique). Je cherche donc à ce que l'espacement entre les symboles de l'environnement "$" s'adapte automatiquement (y compris pour les virgules), ainsi que ceux de la partie texte. Plus précisément, voici un des exemples en question; je m'excuse par avance pour les marges qui déplaisent à certaines personnes (mais que j'aime bien), ainsi que pour le code qui n'est peut-être pas minimal (c'est un extrait d'un document bien plus gros qui utilise pas mal de packages et je ne les ai peut-être pas tous retirés):
\documentclass[a4paper,8pt]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{flexisym}
\usepackage{breqn}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{multicol}
\usepackage{mathtools}
\usepackage{amsthm}
\usepackage[francais]{babel}
\usepackage{enumitem}
\usepackage{graphicx}
\usepackage[left=2.8cm,right=2.9cm,margin=2cm]{geometry}


\theoremstyle{definition}
\newtheorem*{rems}{Remarques}

\allowdisplaybreaks[2]



\begin{document}

\begin{rems}
Soient $E$ un espace vectoriel sur $\mathbb{K}$ et $(n,p) \in ( \mathbb{N}^*)^2$. Soient également $( \lambda_1 , \ldots , \lambda_n ) \in \mathbb{K}^n$, \makebox[\linewidth][ s]{$(x, x_1 , x_2 , \ldots , x_n ,y_1 , y_2 , \ldots , y_n , x_{1,1} , x_{1,2} , \ldots , x_{1,p} , x_{2,1} , x_{2,2} , \ldots , x_{2,p} , \ldots, x_{n,1} , x_{n,2} , \ldots , x_{n,p}) \in E^{np+2n+1}$ et} \\ $\sigma \in \mathfrak{S}_n$.
\begin{enumerate}[wide, labelwidth=!, labelindent=0pt]
\item Blablabla

\item Blablabla

\item Blablabla
\end{enumerate}
\end{rems}

\end{document}

Je voudrais forcer la deuxième ligne de la remarque à occuper tout l'espace de la ligne (depuis le "$(x, x_1, ...$" jusqu'au "et". J'ai laissé la meilleure solution que j'ai trouvée pour le moment, mais l'espacement s'est fait automatiquement autour du symbole "$ \in $". Y a-t-il un moyen pour que l'espacement soit automatiquement ajusté pour les autres symboles (comme par exemple les virgules)?

J'ai trouvé un package breqn qui semble vouloir régler ce genre de question (j'ai gardé son introduction dans le code précédent même si je ne l'ai pas utilisé dans l'exemple), mais je n'ai pas compris comment lui demander de forcer un bout de code contenant des maths "inline" et du texte à occuper tout l'espace de la ligne (et les essais que j'ai faits sont pour le moment infructueux). Voici la documentation: https://www.ctan.org/pkg/breqn

Quelqu'un sait-il comment faire (avec ou sans breqn)?

Je vous remercie d'avance pour votre aide!

Réponses

  • Bonjour,
    LaTeX Warning: Unused global option(s):
        [8pt].
    
    En lisant le TeXbook pp. 154 et 170 ou en utilisant \showoutput, on voit que l'espace après une virgule en mode maths (dont on n'a pas changé la classe Punct et qui est suivie d'un autre atome) est toujours un \thinmuskip, sauf dans les styles \scriptstyle et \scriptscriptstyle (indices, exposants...), où il disparaît. Avec ceci :
    \showthe\thinmuskip
    \showthe\thickmuskip
    
    on voit que :
    > 3.0mu.
    l.25 \showthe\thinmuskip
                            
    > 5.0mu plus 5.0mu.
    l.26 \showthe\thickmuskip
    
    Le \thickmuskip a une composante étirable, mais pas le \thinmuskip par défaut dans ce document. Il suffit de lui en donner une dans la formule en question :
    $ \thinmuskip=3mu plus 1mu\relax
      (x, x_1 , x_2 , \ldots , x_n ,y_1 ,
      y_2 , \ldots , y_n , x_{1,1} , x_{1,2} , \ldots , x_{1,p} , x_{2,1} ,
      x_{2,2} , \ldots , x_{2,p} , \ldots, x_{n,1} , x_{n,2} , \ldots , x_{n,p})
      \in E^{np+2n+1}$
    
    124832
Connectez-vous ou Inscrivez-vous pour répondre.
Success message!