Eine Liste und eine Abbildung nebeneinander

Eine Liste und eine Abbildung nebeneinander

In mehreren Dokumenten muss ich eine Liste und eine Abbildung nebeneinander stellen.

Ich verwende dafür zwei Minipages-Umgebungen, aber da die Liste zu lang ist, muss ich sie aufteilen und außerhalb der minipage Umgebung fortsetzen (mit fortlaufender Nummerierung, daher die Verwendung der Schlüsselserien des enumitemPakets). Aber wie wir sehen können, ist die Trennung zwischen dem ersten Element in der enumerateUmgebung außerhalb minipage und dem letzten Element innerhalb minipageanders als die Trennung zwischen allen anderen Elementen.

Meine Frage lautet also: Gibt es eine Möglichkeit, eine gleichmäßige Trennung aller Elemente sicherzustellen?

Selbstverständlich bin ich für jeden Hinweis dankbar, wie dies anders und besser möglich ist.

\documentclass{article}

\usepackage{enumitem} 
\setlist[enumerate,1]{leftmargin=*,label=\arabic*.}
\setlist[enumerate,2]{leftmargin=*,itemsep=.3cm,label=(\alph*)}

\begin{document}

\begin{enumerate}
\item Algum texto com referencia a uma figura.

\begin{minipage}[t]{0.55\linewidth}
 Uma lista.
\begin{enumerate}[series=exercicio]
 \item primeiro item
 \item segundo item
 \item terceiro item
\end{enumerate}
\end{minipage}\hfill
\begin{minipage}[t][2cm][c]{0.35\linewidth}
 \centering
 \rule{50pt}{50pt}
\end{minipage}
\begin{enumerate}[resume*=exercicio]
 \item quarto item com bastante texto. mais texto e mais texto e mais
  texto
 \item quinto item
\end{enumerate}

\end{enumerate}

\end{document}

Bildbeschreibung hier eingeben

Antwort1

Sie können das Bild einfach überlagern und verwenden \rightskip. Leider \hangindentscheint das mit dem Artikel nicht zu funktionieren.

\documentclass{article}
\usepackage{mwe}
\usepackage{enumitem} 
\setlist[enumerate,1]{leftmargin=*,label=\arabic*.}
\setlist[enumerate,2]{leftmargin=*,itemsep=.3cm,label=(\alph*)}

\begin{document}

\begin{enumerate}
\item Algum texto com referencia a uma figura.

Uma lista.\hfill\llap{\raisebox{-\height}[0pt][0pt]{%
\begin{minipage}[t][2cm][c]{0.3\textwidth}% \linewidth is constantly changing here
 \centering
 \rule{50pt}{50pt}
\end{minipage}}}
\begin{enumerate}[series=exercicio]
 \par\rightskip=0.3\textwidth
 \item primeiro item.  Just to demonstrate the effect of \verb$\rightskip$ I am going to add more text here.
 \item segundo item.
 \par\rightskip=0pt
 \item terceiro item.
 \item quarto item com bastante texto. mais texto e mais texto e mais
  texto
 \item quinto item
\end{enumerate}

\end{enumerate}

\end{document}

Überlagerung

Antwort2

Verwenden Sie das Paket wrapfig:

\documentclass{article}

\usepackage{enumitem,wrapfig}
\usepackage{graphicx}

\begin{document}

\begin{wrapfigure}{r}{0.5\textwidth}
  \begin{center}
     \rule{50pt}{50pt}
  \end{center}
\end{wrapfigure}

Algúm texto que não é parte de uma lista.

\begin{enumerate}
\item Algum texto com referencia a uma figura.

 Uma lista.
  \begin{enumerate}
   \item primeiro item
   \item segundo item
   \item terceiro item
   \item quarto item com bastante texto. mais texto e mais texto e mais texto
   \item quinto item
  \end{enumerate}
\end{enumerate}

\end{document}

Bildschirmfoto

DerwrapfigDokumentationbeginnt mit dieser Warnung:

Sie dürfen wrapfigurein keiner Listenumgebung oder unmittelbar davor oder danach ein a angeben. Es ist in Ordnung, einer Liste zu folgen, wenn \pardazwischen eine Leerzeile ( ) steht.

Aus diesem Grund habe ich vor der Liste eine Textzeile hinzugefügt.

Ich schätze, Sie können ein wenig spielen, damit die Figur tatsächlich neben Ihren Listen angezeigt wird, aber die Listen können nicht die ersten oder einzigen Dinge sein, die die Figur umgeben.

Antwort3

Beim Layout von Text/Feldern wird ein Mindestabstand von \baselineskipzwischen zwei aufeinanderfolgenden Grundlinien oder \lineskipzwischen der unteren und oberen Begrenzung zweier Felder (je nachdem, welcher Wert größer ist) eingehalten.

Eine Möglichkeit, einen relativ konstanten Abstand zu erreichen, besteht darin, die Grundlinie der ersten Miniseite unten und die Grundlinie der zweiten Miniseite oben zu platzieren.

Eine andere Möglichkeit besteht darin, jede Miniseite mit einem \strut zu beginnen und zu beenden.

Im Fall von enumitem erzeugt das Hinzufügen von \strutoder \nullviel zu viel Platz zwischen den beiden Miniseiten. Stattdessen müssen Sie nur etwa 12pt Platz zwischen den Standard-Miniseiten hinzufügen (weniger, wenn Sie ein \strutan das letzte anfügen \item). Ich bin mir nicht sicher, wie enumitem genau auf diese 12pt kommt, aber das ist meine beste Vermutung.

Es ist zu beachten, dass der Text innerhalb einer Miniseite nicht gestreckt oder gestaucht wird, um an den unteren Rand der Seite zu passen. Sie müssen auch irgendwo ein verwenden \raggedbottomoder einfügen \vfiloder beide Miniseiten in ein gemeinsames einfügen \vbox.

Demo:

\documentclass{article}
\usepackage{paracol}
\usepackage{enumitem}

\begin{document}
\begin{paracol}{2}

\noindent
\begin{minipage}{\columnwidth}
\begin{enumerate}[series=test1]
\item One
\item Two
\end{enumerate}
\end{minipage}
\begin{minipage}{\columnwidth}
\begin{enumerate}[resume*=test1]
\item Three
\item Four
\end{enumerate}
\end{minipage}
\switchcolumn

\noindent
\begin{minipage}{\columnwidth}
\begin{enumerate}[series=test2]
\item One
\item Two\strut
\end{enumerate}
\end{minipage}
\vskip\partopsep\vskip\itemsep\vskip\parsep\noindent
\begin{minipage}{\columnwidth}
\begin{enumerate}[resume*=test2]
\item Three
\item Four
\end{enumerate}
\end{minipage}
\bigskip
\switchcolumn*

\noindent
\begin{minipage}{\columnwidth}
We need at least two lines here in order for this to work, so I hope that this is enough.
\end{minipage}
\begin{minipage}{\columnwidth}
We need at least two lines here in order for this to work, so I hope that this is enough.
\end{minipage}
\switchcolumn

\noindent
\begin{minipage}[b]{\columnwidth}
We need at least two lines here in order for this to work, so I hope that this is enough.
\end{minipage}
\begin{minipage}[t]{\columnwidth}
We need at least two lines here in order for this to work, so I hope that this is enough.
\end{minipage}
\bigskip
\switchcolumn*

\noindent
\begin{minipage}{\columnwidth}
We need at least two lines here in order for this to work, so I hope that this is enough.
\end{minipage}
\begin{minipage}{\columnwidth}
We need at least two lines here in order for this to work, so I hope that this is enough.
\end{minipage}
\switchcolumn

\noindent
\begin{minipage}{\columnwidth}
\strut
We need at least two lines here in order for this to work, so I hope that this is enough.
\strut
\end{minipage}
\begin{minipage}{\columnwidth}
\strut
We need at least two lines here in order for this to work, so I hope that this is enough.
\strut
\end{minipage}
\bigskip
\switchcolumn*


\end{paracol}
\end{document}

Minipage-Abstand

verwandte Informationen