Ich habe zwei minipage-Umgebungen nebeneinander, in der ersten ist Text und in der zweiten eine Grafik. Beide sind mit [t] top-ausgerichtet. Jedoch ist die erste Textzeile mit der Unterkante der Grafik auf einer Linie.

Wie kann ich beide top ausrichten, also vertikal an ihren Oberkanten?

Beispiel:

Open in writeLaTeX
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage[demo]{graphicx}
\begin{document}
\begin{minipage}[t]{.5\textwidth}%
  \blindtext
\end{minipage}%
\begin{minipage}[t]{.5\textwidth}%
  \includegraphics[width=\textwidth]{test}%
\end{minipage}
\end{document}

Vertikale Ausrichtung falsch

gefragt 30 Mär '14, 12:27

Student's gravatar image

Student
5807779104
Akzeptiert-Rate: 82%


Neben Clemens' Paketlösung und Elkes systematischen Korrigieren klappt auch der "Trick", einfach nur

Open in writeLaTeX
\vspace{-\ht\strutbox}

direkt vor \includegraphics einzufügen. Grund: ursprünglich ist die Grundlinie aka baseline der Grafik unten, daher ist die Unterkante der Grafik mit der Grundlinie der 1. Zeile ausgerichtet. Ein einfaches \vspace{0pt} und schon ist die Grundlinie wieder oben (in meinem TeX Blog mal erwähnt), wir versetzen aber noch um -\ht\strutbox, damit es nicht an der Grundlinie der 1. Textzeile ausgerichtet wird, sondern an dessen Oberkante.

So ergänzt:

Open in writeLaTeX
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage[demo]{graphicx}
\begin{document}
\begin{minipage}[t]{.5\textwidth}%
  \blindtext
\end{minipage}%
\begin{minipage}[t]{.5\textwidth}%
  \vspace{-\ht\strutbox}\includegraphics[width=\textwidth]{test}%
\end{minipage}
\end{document}

Ausrichtung von Grafik und Text

Permanenter link

beantwortet 30 Mär '14, 19:55

stefan's gravatar image

stefan ♦♦
18.1k143048
Akzeptiert-Rate: 48%

bearbeitet 24 Mai '14, 18:32

esdd's gravatar image

esdd
17.7k254256

Die bequemste Variante ist wahrscheinlich das Paket adjustbox. Es bietet zahlreiche Optionen zum manipulieren und platzieren von Boxen (ain Bild ist nichts anderes). Es definiert zudem den Befehl \adjincludegraphics mit der gleichen Syntax wie \includegraphics, der aber zudem die Optionen von adjustbox erkennt. In diesem Fall etwa die Option valign=t:

Open in writeLaTeX
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage[demo]{graphicx}
\usepackage{adjustbox}
\begin{document}
\begin{minipage}[t]{.5\textwidth}
  \blindtext
\end{minipage}%
\begin{minipage}[t]{.5\textwidth}
  \adjincludegraphics[valign=t,width=\textwidth]{test}%
\end{minipage}
\end{document}

alt text

Permanenter link

beantwortet 30 Mär '14, 16:50

cgnieder's gravatar image

cgnieder
22.1k243463
Akzeptiert-Rate: 60%

Der Vorschlag von @Clemens ist sicher der praktischste, um die Oberkanten von Bild und Text aneinander auszurichten. Hier ist trotzdem eine Alternative für die kein zusätzliches Paket geladen werden muss. Mit \raisebox lässt sich die Abbildung einfach um ihre Gesamthöhe abzüglich der Höhe von \strutbox (siehe Was macht der Befehl strut?) nach unten verschieben:

Open in writeLaTeX
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage[demo]{graphicx}
\begin{document}
\noindent
\begin{minipage}[t]{.5\textwidth}
  \blindtext
\end{minipage}%
\begin{minipage}[t]{.5\textwidth}
  \raisebox{\dimexpr-\totalheight+\ht\strutbox\relax}{%
   \includegraphics[width=\linewidth]{test}%
  }
\end{minipage}
\end{document}
Permanenter link

beantwortet 30 Mär '14, 18:31

esdd's gravatar image

esdd
17.7k254256
Akzeptiert-Rate: 62%

Die zweite minipage ist hier übrigens eigentlich überflüssig. Stattdessen muss man dann aber natürlich die Breite der Grafik in .5\textwidth ändern.

(24 Mai '14, 19:03) Bes
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×68
×39
×23

gestellte Frage: 30 Mär '14, 12:27

Frage wurde gesehen: 53,018 Mal

zuletzt geändert: 24 Mai '14, 19:03