<h3>Allgemeine Syntax</h3>
Beginnen möchte ich mit der allgemeinen Syntax der Umgebung `minipage` und des Makros `\parbox`.
**`minipage`**
\begin{minipage}[vpos][height][innerpos]{width}
Text
\end{minipage}
**`\parbox`**
\parbox[vpos][height][innerpos]{width}{content}
Die einzelnen Argumente bedeutet:
bedeuten:
- `vpos`: Ausrichtung der `minipage` oder `parbox` zur umliegenden Grundlinie. Erlaubte Werte sind `t` für top, `c` für center und `b` für bottom. Default: `c`
- `height`: Spezifiziert die Höhe der `minipage` oder `parbox`
- `innerpos`: Ausrichtung des Inhaltes der `minipage` oder `parbox` Erlaubte Werte sind `t` für top, `c` für center und `b` für bottom. Default: `t`
- `width`: Die Breite der `minipage` oder `parbox`
Hier ein kleines Beispiel, dass die Anwendung zeigt:
\documentclass{article}
\usepackage{lipsum}
\begin{document}
A\hrulefill\begin{minipage}{5cm} \lipsum[2] \end{minipage}
\fbox{\begin{minipage}[t][10cm][b]{5cm} \lipsum[2] \end{minipage}}
\end{document}
<h3>Unterschiede</h3>
Ich möchte die Unterschiede in Listenform darstellen. Zu jedem Unterschied wird ein Minimalbeispiel bereitgestellt.
- Bereits im ersten Satz ist ein wesentlicher Unterschied genannt worden. `minipage` ist eine Umgebung und `parbox` ein Anweisung. Das hat unmittelbar zur Folge, dass Innerhalb von `parbox` keine Verbatim-Anweisungen funktionieren:
\documentclass{article}
\begin{document}
\begin{minipage}{5cm} \verb+5cm+ \end{minipage}%worked
%\parbox{5cm}{\verb+5cm+}%doesn't worked
\end{document}
- Die Umgebung `minipage` stellt einen eigenen Fußnotenzähler und Ausgabealgorithmus für Fußnoten zur Verfügung. `\parbox` hat keinen eigenen Mechanismus hierfür.
\documentclass{article}
\begin{document}
\begin{minipage}{5cm} Text\footnote{footnote}\end{minipage}
\parbox{5cm}{Text\footnote{footnote}}
\end{document}
Allerdings erlaubt `\parbox` die Kombination von `\footnotemark` und `\footnotetext`
- Innerhalb von `minipage` und `parbox` werden `\parskip` und `\parindent` ignoriert. Allerdings wurde bei `minipage` der Hook `\@minipagerestore` eingebaut, der durch den Benutzer geändert werden kann:
\documentclass{article}
\begin{document}
\fbox{\begin{minipage}{5cm} Text\par Text Text\end{minipage}}
\fbox{\parbox{5cm}{Text\par Text Text}}
\end{document}
Es ist kein Absatzeinzug zu erkennen.
- Innerhalb diverser Definitionen des LaTeX-Kernels ist der Test `\if@minipage` eingebaut worden. Bspw. bei den Anweisungen für Listen, bei der Anweisung `\addvspace`, `\addpenalty`. Somit kommt der `minipage` eine besondere Bedeutung zu. Basierend auf den obigen Test ergeben sich somit Unterschiede, die das nachstehende Beispiel zeigen soll. Der Abstand einer Liste zur obigen Kante wird bei `minipage` nicht gesetzt. `addvspace` fügt ebenfalls keinen Abstand hinzu, wenn es als erstes in einer `minipage` ausgeführt wird.
\documentclass{article}
\begin{document}
\fbox{\begin{minipage}{5cm}\begin{itemize}\item Text\end{itemize}\end{minipage}}
\fbox{\parbox{5cm}{\begin{itemize}\item Text\end{itemize}}}
\fbox{\begin{minipage}{5cm}\addvspace{2cm}Text\par\addvspace{2cm}Text \end{minipage}}
\fbox{\parbox{5cm}{\addvspace{2cm}Text\par\addvspace{2cm}Text}}
\end{document}
Abstand zum Rahmen beachten.
- Die Umgebung `minipage` setzt zudem den internen Zähler `\@listdepth` auf 0. Normalerweise können Listen nur bis zur fünften Ebene (start bei 0) verschachtelt werden. Da innerhalb von `minipage` dieser Zähler auf 0 gesetzt wird, sind also weitere Verschachtelungen möglich.
\documentclass{article}
\begin{document}
\begin{list}{L}{}
\item Text
\begin{list}{L}{}
\item Text
\begin{list}{L}{}
\item Text
\begin{list}{L}{}
\item Text
\begin{list}{L}{}
\item Text
\begin{list}{L}{}
\item Text
% \begin{list}{L}{}%error
% \item Text
% \end{list}
\end{list}
\end{list}
\end{list}
\end{list}
\end{list}
\end{list}
\begin{list}{L}{}
\item Text
\begin{list}{L}{}
\item Text
\begin{list}{L}{}
\item Text
\begin{list}{L}{}
\item Text
\begin{list}{L}{}
\item Text
\begin{list}{L}{}
\item Text
\begin{minipage}{6cm}
\begin{list}{L}{}
\item Text
\begin{list}{L}{}
\item Text
\end{list}
\end{list}
\end{minipage}
\end{list}
\end{list}
\end{list}
\end{list}
\end{list}
\end{list}
\end{document}
<h3>Fazit</h3>
Der Unterschied zwischen `minipage` und `parbox` ist im Schwerpunkt auf Fußnoten und Verbatim einzugrenzen. Solltest du also nur einfachen Text nutzen, macht es keinen Unterschied.