Je souhaite mettre la légende d'une image sur deux colonnes pour gagner en place et en clarté.

Tout fonctionne parfaitement sans l'extension caption, mais dès que celle-ci est ajoutée tout le texte se place uniquement dans la colonne de gauche.

Ouvrir dans l'éditeur
\documentclass{article}

\usepackage{graphicx}
\usepackage{multicol}
\usepackage{lipsum}
\usepackage{mwe}
\usepackage{caption}

\begin{document}

\begin{figure}[hbtp]
\centering
\includegraphics[width=\linewidth]{example-image.pdf}
\begin{multicols}{2}
\caption[]{\lipsum[1-2]}
\end{multicols}
\end{figure}

\end{document}

Je n'ai rien trouvé sur le net, toutes mes recherches à propos de légende et de colonnes multiples aboutissant à des problèmes de placement des figures au sein de document sur plusieurs colonnes.

Posée 24 Mar '16, 16:04

Namrod's gravatar image

Namrod
243212
Taux d'acceptation : 20%


Voici une solution. Elle consiste à définir un nouveau format, de manière à y inclure un environnement multicols. Pour que ça fonctionne, il faut choisir l'option singlelinecheck qui désactive le centrage du contenu de caption. Normalement, ce ne devrait pas être un problème, dans la mesure où \caption occupera toute la largeur de la page dans un environnement multicols.

Démo pour les amateurs de la première Renaissance italienne :

Ouvrir dans l'éditeur
\documentclass{article}
\usepackage[showframe]{geometry}%
 \usepackage{graphicx}
 \usepackage{multicol}
\usepackage{lipsum}

\usepackage{caption}
\DeclareCaptionFormat{twocol}{\vspace*{-\baselineskip}\begin{multicols}{2}#1#2#3\end{multicols}}

\begin{document}

\begin{figure}[hbtp]
  \centering\captionsetup{singlelinecheck=false, format=twocol, labelfont=bf}
  \includegraphics[width=\linewidth]{Piero_di_Cosimo_1}
  \caption[]{\lipsum[1-2]}
\end{figure}

\end{document}

Rajoutis:

Cela fonctionne encore pour une fgure qui n'occupe pas toute la largeur du texte si on la place dans l'environnement measuredfigure (défini par l'extension threeparttable) :

Ouvrir dans l'éditeur
\begin{figure}[hbtp]
  \centering\captionsetup{singlelinecheck=false, format=twocol, labelfont=bf}
\begin{measuredfigure}
  \includegraphics[width=0.75\linewidth]{loupnorstein2}
  \caption[]{\lipsum[1-2]}
\end{measuredfigure}
\end{figure}
Lien permanent

Publiée 24 Mar '16, 20:48

Bernard's gravatar image

Bernard
3.7k15
Taux d'acceptation : 36%

Modifiée 25 Mar '16, 22:16

denis's gravatar image

denis ♦♦
4.8k49

Les deux colonnes s'équilibrent-elles automatiquement ?

(25 Mar '16, 16:48) pluton pluton's gravatar image

Il semble que ça s'équilibre (autant que faire se peut) par la grâce de l'environnement multicols. Je n'ai testé que ce cas, tout de même.

(25 Mar '16, 16:59) Bernard Bernard's gravatar image

La Renaissance italienne suivie par Le Conte des contes de Youri Norstein ? Bravo.

(25 Mar '16, 22:33) Pathe ♦♦ Pathe'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 :

×16
×14
×3

Question posée : 24 Mar '16, 16:04

Question vue : 2,577 fois

Dernière mise à jour : 25 Mar '16, 22:33