Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 4

29 Jun '13, 13:05

Marco_D's gravatar image

Marco_D
43015

<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.
Klicke auf Einblenden/Ausblenden von Überarbeitungen 3

29 Jun '13, 10:17

Marco_D's gravatar image

Marco_D
43015

<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: - `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.
Klicke auf Einblenden/Ausblenden von Überarbeitungen 2

29 Jun '13, 10:16

Marco_D's gravatar image

Marco_D
43015

Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

29 Jun '13, 10:09

Marco_D's gravatar image

Marco_D
43015