Espace insécable à la fin d'un environnement

Démonstrator
Modifié (16 Apr) dans LaTeX
J'ai encore besoin de conseil sur un petit problème technique.
J'ai défini un environnement simple de preuve commençant par une flèche (peu importe) et surtout terminant par un carré de fin de preuve. Voyez plutôt : 

\newenvironment{Preuve}{ \color{gray} \small \qquad \rhd}{ \footnotesize{\blacksquare} \vspace{1 cm}}

(Les commandes qquad, rhd et blacksquare sont entre dollars dans mon texte original.) Problème : lorsque le texte arrive en toute fin de ligne, le carré final se retrouve à la ligne suivante.
Comment forcer une espace insécable à la fin de l'environnement ?


La pensée ne préexiste pas à la langue et à ses formes, car c’est en parlant, fût-ce en soliloquant, que je pense. — Hegel

Réponses

  • En principe, on utilise (tilde) \~.
    A voir si ça fonctionne avec le carré.
  • @rémi Dans le document, d'accord. Mais dans mon environnement, j'ai essayé de placer ce tilde à tous les endroits possibles de mon end_texte, sans succès.
    La pensée ne préexiste pas à la langue et à ses formes, car c’est en parlant, fût-ce en soliloquant, que je pense. — Hegel
  • rémi
    Modifié (15 Apr)
    En y réfléchissant, l'espace insécable est-elle la solution ?
    En feuilletant mes ouvrages, je vois "\mbox{Texte}    interdit le passage à la ligne entre les mots de Texte ou la coupure de ceux-ci en fin de ligne".
    Il y a peut-être quelque chose à tenter. Bon c'est des indications de bricoleur.
    Je vais continuer de feuilleter mes bouquins et je te dis si je trouve autre chose.
  • Bonjour,
    Quelque chose de ce genre ?
    \newenvironment{Preuve}{\par\noindent\color{gray}$\small \rhd$}{\phantom{}\hfill\footnotesize{$\blacksquare$}\vspace{1ex}\newline}
    
    \begin{document}
    
    \begin{Preuve}
        Une preuve
    \end{Preuve}
    Elle est finie.
    \end{document}
    
    Ou le carré final doit-il être collé au dernier mot de la preuve ?
  • @Karnaj Et oui, le carré final doit être collé au dernier mot (je trouve la solution "justifié tout à droite" vachement moins lisible, ce carré étant censé remplacer le "ce qu'il fallait démontrer" de fin de phrase).
    @rémi J'ai vu aussi ce mbox, mais je ne vois pas du tout comment l'intégrer pour mon problème.
    La pensée ne préexiste pas à la langue et à ses formes, car c’est en parlant, fût-ce en soliloquant, que je pense. — Hegel
  • Karnaj
    Modifié (16 Apr)
    Comme ça alors.
    \documentclass[french]{article}
    
    \usepackage{amssymb}
    \usepackage{xcolor}
    \usepackage{babel}
    \usepackage[babel=true]{microtype}
    
    \newenvironment{Preuve}{\par\noindent\color{gray}$\small \rhd$}{\unskip~\footnotesize{$\blacksquare$}\vspace{1ex}\newline}
    \newenvironment{test}{\par\noindent\color{gray}$\small \rhd$}{~\footnotesize{$\blacksquare$}\vspace{1ex}\newline}
    
    \begin{document}
        
    \begin{Preuve}
        Une preuve plus longue avec un mot à la fin qui sera mis à la ligne : maison.
    \end{Preuve}
    
    \begin{test}
        Une preuve plus longue avec un mot à la fin qui sera mis à la ligne : maison.
    \end{test}
    
    \begin{test} Une preuve plus longue avec un mot à la fin qui sera mis à la ligne : maison.\end{test}
    \end{document}
    
    L'environnement Preuve donne le résultat attendu, mais pas l'environnement test. J'ai mis le dernier exemple pour illustrer ce qui pose problème : le passage à la ligne avant \end{Preuve} est un signe d'espacement et donc on se retrouvait avec un caractère espace suivi d'un caractère espace insécable. Sans ce passage à la ligne, le symbole se retrouve bien collé au mot. Et avec \unskip on règle ça.
  • Démonstrator
    Modifié (25 Apr)
    @Karnaj Ah d'accord ! Je ne soupçonnais pas que l'espace dans le document joue le rôle crucial. Merci, c'est exactement ce qui me gênait.
    La pensée ne préexiste pas à la langue et à ses formes, car c’est en parlant, fût-ce en soliloquant, que je pense. — Hegel
  • Démonstrator
    Modifié (25 Apr)
    @Karnaj Puisque j'ai l'impression que vous savez y faire, dans le même style : avez-vous une idée pour que les environnements de preuve ne commencent jamais au haut d'une page mais suivent toujours directement ce qui précède ?
    La pensée ne préexiste pas à la langue et à ses formes, car c’est en parlant, fût-ce en soliloquant, que je pense. — Hegel
Connectez-vous ou Inscrivez-vous pour répondre.