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, 06:27

Student's gravatar image

Student
4802678103
Akzeptiert: 96%


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, 13:55

stefan's gravatar image

stefan ♦♦
5.9k12234

bearbeitet 24 Mai '14, 12:32

esdd's gravatar image

esdd
15.0k53651

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, 10:50

Clemens's gravatar image

Clemens
19.7k113160

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, 12:31

esdd's gravatar image

esdd
15.0k53651

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, 13:03) Bes
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×57
×26
×14

Frage gestellt: 30 Mär '14, 06:27

Frage wurde angeschaut: 23,734 Mal

Zuletzt aktualisiert: 24 Mai '14, 13:03