PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Position in einer minipage



CPPeter
28-03-2005, 00:43
Hallo,

simple Sache, aber für mich als Anfänger ein Problem:
Ich möchte eine Grafik innerhalb einer minipage am oberen Rand (genau: oben links) ausrichten und habe folgendes codiert:



\begin{minipage}[t]{0.1\textwidth}
\includegraphics{myPic.eps}
\vfill
\end{minipage}\hfill
\begin{minipage}{0.9\textwidth}
Hier kommt Text rein
\end{minipage}\hfill


Klappt nur leider nicht. Die Grafik erscheint auf halber Höhe des (in Wirklichkeit längeren) Textes der rechten minipage.

Sicher ist die Lösung des Problems einfach...

Vielen Dank im voraus,
Peter

blubb
28-03-2005, 01:07
Ich habe gerade etwas Probleme dein Beispiel nachzuvollziehen.

Kannst du
Anbei ein Minimalbeispiel, das übersetzbar ist und keine Grafik braucht:

\documentclass[ngerman,a4paper,12pt]{scrartcl}
\usepackage{babel}
\usepackage[latin1]{inputenc}
\usepackage{blindtext}
\begin{document}
\fbox{
\begin{minipage}[t]{0.1\textwidth}
%\includegraphics{myPic.eps}
\rule{2pt}{2cm}
\end{minipage}}
\fbox{
\begin{minipage}[t]{0.9\textwidth}
\blindtext
\end{minipage}}
\end{document}

Zur Verdeutlichung habe ich die zwei minipages in eine fbox gepackt. Die \rule steht oben raus.
Wie sieht es mit deinem Bild aus?

CPPeter
28-03-2005, 14:40
Hallo blubb & besten Dank für deine Antwort.

Das Bild ragt ebenfalls oben raus.
Intuitiv bin ich davon ausgegangen, dass zwei nebeneinander positionierte minipages (eine mit Breite {0.1\textwidth und die andere mit {0.9\textwidth}) auf gleicher Höhe beginnen und zusammen 1.0\textwidth breit sind. Beide Annahmen erweisen sich als falsch. Ich komme auf über 100% Breite und wie dein Bsp schön zeigt, sind die minipages in der Höhe versetzt.

Gehe ich mit der Breite runter (Summe < 1.0), so findet sich rechts neben der minipage sinnloser Text.

Besten Gruß,
Peter

blubb
28-03-2005, 16:24
Ich hab noch etwas gebastelt:

\documentclass[ngerman,a4paper,12pt]{scrartcl}
\usepackage{babel}
\usepackage[latin1]{inputenc}
\usepackage{blindtext}
\begin{document}

Mit Text geht's:\par
\fbox{
\begin{minipage}[t]{0.6\textwidth}
\blindtext
\end{minipage}}
\fbox{
\begin{minipage}[t]{0.4\textwidth}
\blindtext
\end{minipage}}

Mit definierter ipos gehts auch:\par
\fbox{
\begin{minipage}[t][2cm][b]{0.5\textwidth}
%\includegraphics{myPic.eps}
\rule{2pt}{2cm}
\end{minipage}}
\fbox{
\begin{minipage}[t]{0.9\textwidth}
\blindtext
\end{minipage}}
\end{document}

Die Lösung erfordert aber eine Höhenangabe der Box. Wobei es möglich wäre, die Höhe des Bildes zu ermitteln.

blubb
28-03-2005, 16:27
Nachtrag (wo ich meine eigene Antwort gerade lese).

Mit Text klappt die Positionierung.
Also machen wir Text:

\documentclass[ngerman,a4paper,12pt]{scrartcl}
\usepackage{babel}
\usepackage[latin1]{inputenc}
\usepackage{blindtext}
\begin{document}

Mit Text geht's:\par
\fbox{
\begin{minipage}[t]{0.6\textwidth}
~\\
\rule{2pt}{2cm}
\end{minipage}}
\fbox{
\begin{minipage}[t]{0.4\textwidth}
\blindtext
\end{minipage}}
\end{document}

Jetzt ist das Bild um eine Zeile zu tief. das könnta man mit einer raise-box wieder korregieren.

Ist zwar furchtbares coding, aber immerhin eine Lösung.

CPPeter
02-04-2005, 12:39
Hi blubb,

sorry für die späte Antwort.
Das Einfügen von dem Dummytext ~\\ biegt die Höhe fast hin, wie dein Bsp zeigt.
Aber hast du eine Idee, warum die Gesamtbreite über 100% liegt?
Du brauchst bei deinem Bsp nur ein \blindtext vor das \end{document} einzufügen, um zu sehen, was ich meine.
0.4 plus 0.6 sollte doch eigentlich 1 ergeben, oder gibt es da noch unsichtbare Ränder? :confused: Falls ja, ließe sich bestimmt deren Breite verändern (z.B. auf Null).


\documentclass[ngerman,a4paper,12pt]{scrartcl}
\usepackage{babel}
\usepackage[latin1]{inputenc}
\usepackage{blindtext}
\begin{document}

Mit Text geht's:\par
\fbox{
\begin{minipage}[t]{0.6\textwidth}
~\\
\rule{2pt}{2cm}
\end{minipage}}
\fbox{
\begin{minipage}[t]{0.4\textwidth}
\blindtext
\end{minipage}}
\blindtext
\end{document}
Besten Dank & Gruß,
Peter

blubb
02-04-2005, 12:59
0.4 plus 0.6 sollte doch eigentlich 1 ergeben, oder gibt es da noch unsichtbare Ränder Zweimal ja.
Wobei ich die Ränder nicht auf null setzen würde, das wird vermutlich schlecht ausehen. Besser 0.35 und 0.55 nehmen.
-> Ausprobieren.

Zu den Längen: Das sind einige.
Such mal da.
http://www.uni-giessen.de/hrz/tex/cookbook/eighth.html

In dem Beispiel von mir wurden \fboxes verwendet.Die haben zumindest mal ein \fboxsep das auf null gesetzt werden müsste.
Dann hören die Zeilen nicht mit % auf, d.h. es werden verschiedene Leerzeichen eingefügt. (Das Problem hat man gerne bei Makrodefinitionen. Das gibt es im Forum inzwischen einige Hinweise).

Ich meine, das miniboxes auch noch einen Innen-Abstand haben, finde aber gerade nichts dazu.
Blubb

CPPeter
03-04-2005, 11:41
ok, jetzt habe ich mir eine Lösung zusammengebastelt, mit der ich gut leben kann. Die Summe der Breite liegt halt unter 100%.
Vorher hatte ich noch vergessen, ein \\ hinter die minipage anzufügen, sodass das erste Wort ("Ein") des nächsten Absatzes rechts daneben erschien. Da der Text in der minipage ebenfalls mit "Ein" beginnt, sah es auf den ersten Blick so aus, als würde eine Breite <100% nicht korrekt unterstützt werden.

Vielen Dank noch mal,
Peter