Dans un environnement multicol, j'essaie d'inclure le sommaire dans une minipage (peut-être le meilleur choix : vous me le direz), encadrée et en couleur, et sans indentation. Résultat : le sommaire ne s'étend pas sur la colonne suivante.

Ouvrir dans l'éditeur Overleaf
\documentclass{scrartcl}
     \frenchspacing 
     \usepackage{multicol,lipsum}
     \usepackage{fancybox} % paramétrage des boîtes
     \usepackage{color}

\begin{document}

\title{Titre}
\date{}
\maketitle

    \begin{multicols}{3}

    \noindent \fcolorbox{black}{lightgray}{
         \begin{minipage}{0.9\columnwidth}
            \begin{flushleft}
                \tableofcontents
            \end{flushleft}
        \end{minipage}
    }

    \lipsum[1]
    \section*{Section 1}
    \lipsum[2]
    \section*{Section 2}
    \lipsum[3]
    \section*{Section 3}
    \lipsum[4]
    \section*{Section 4}
    \lipsum[5]
    \section*{Section 5}
    \lipsum[6]
    \section*{Section 6}
    \lipsum[7]
    \end{multicols} 
    \end{document}

Overleaf refuse la compilation de ma boîte…

Posée 31 Mai, 00:53

fred02840's gravatar image

fred02840
2.2k1567
Taux d'acceptation : 12%

Modifiée 31 Mai, 00:59

(31 Mai, 01:52) touhami touhami's gravatar image

Ce n'est pas seulement Overleaf. La compilation de cet nonE-M-nonC montre bien que le problème vient de la couleur lightgray qui n'est pas définie par le package color (d'où le « nonC »), accessoirement obsolète ; si c'est xcolor qui est chargé à la place, ça compile. Par ailleurs, c'est un « nonE » car il ne met pas en évidence le problème rencontré : les sections étoilées ne figurent pas dans la table des matières, et même si on les remplace par des sections étoilées, celles-ci ne sont pas assez nombreuses pour constater que le sommaire ne s'étend pas sur la colonne suivante.

(06 Jui, 01:23) denis ♦♦ denis's gravatar image

Comme son nom l'indique, minipage ne peut pas contient de texte qui dépasse (...) une page, voire une colonne. Il faut alors recourir aux boites plus sophistiquées : tcolorbox, framed... Toutefois, l'interaction entre ces boites (extensions) avec certains éléments de LaTeX, multicols entre autres, est très faible. La solution proposée ici est loin d'être optimale, bien qu'elle peut être satisfaisante dans la plupart des cas. Par fois, il faut intervient manuellement pour donner des indictions.

Voici un exemple qui montre deux limitations :

Ouvrir dans l'éditeur Overleaf
\documentclass[french]{article}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{multicol}
\usepackage[many]{tcolorbox}

\usepackage{mwe}

\begin{document}
%Expérience 1
\lipsum[1]
\begin{tcolorbox}[breakable]
\begin{multicols}{2}
\lipsum[1-8]
\end{multicols}
%Expérience  2
\end{tcolorbox}
\lipsum[1]
\begin{multicols}{2}
\lipsum[1]
\begin{tcolorbox}[breakable]
\lipsum[2]
\end{tcolorbox}
\lipsum[3]
\end{multicols}
\lipsum[1]
\end{document}

Voici, maintenant, la solution proposée. Elle se base sur l'option breakable des boites tcolorbox :

Ouvrir dans l'éditeur Overleaf
\documentclass[french]{article}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{multicol}
\usepackage[many]{tcolorbox}

\usepackage{mwe}

\begin{document}
\lipsum[1]
\begin{multicols}{2}
\lipsum[1]
\begin{tcolorbox}[breakable,colframe=black,colback=red,boxrule=.4pt,arc=0pt]
\lipsum[2]
\end{tcolorbox}
\lipsum[3]
\end{multicols}
\lipsum[1]
\end{document}
Lien permanent

Publiée 31 Mai, 11:41

touhami's gravatar image

touhami
6.2k27
Taux d'acceptation : 56%

Modifiée 11 Jui, 02:22

@touhami Peut-être serait-il instructif de mettre en lumière ce qui fait marcher les choses ici (l'option breakable).

(06 Jui, 01:27) denis ♦♦ denis's gravatar image

@denis O.K. je vais essayer d'ajouter une petite explication.

(06 Jui, 01:35) touhami touhami's gravatar image
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.

Mots-clés de la question :

×5
×5
×3
×2
×2

Question posée : 31 Mai, 00:53

Question vue : 179 fois

Dernière mise à jour : 11 Jui, 02:22