Seite 1 von 1

Minipage-Breite an Inhalt anpassen

Verfasst: So 17. Mär 2013, 02:42
von niceguy_eddie
Hallo,

Gibt es eine Möglichkeit die Breite einer Minipage an ihren Inhalt anzupassen?

Ich habe versucht, die 2. Minipage einfach kleiner als alle möglichen Bilder zu machen, dann fängt die 3. aber nicht hinter den Bildern an und ragt zudem über die Zeile hinaus. Außerdem funktioniert in dem Fall die vertikale Textzentrierung auf der 3. Seite nicht.

Am Ende soll also folgendes dabei rauskommen:
Beschriftung (Breite fest) --- Bild (Breite variabel) --- Text (auf der übrigen Breite der Zeile, außerdem vertikal zentriert)
\documentclass[10pt,a4paper,twocolumn,twoside,landscape]{scrreprt}
\usepackage[landscape]{geometry}
\usepackage[ngerman]{babel}
\usepackage{selinput}
\SelectInputMappings{
              adieresis={ä},
              germandbls={ß},
             }
\usepackage[T1]{fontenc}
\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
\usepackage{parskip}
\usepackage{microtype}
\usepackage[demo]{graphicx}

\begin{document}

\begin{minipage}[t]{0.09\linewidth}
\vspace{0pt}
N111
\end{minipage}
\begin{minipage}[t]{0.01\linewidth}
\vspace{0pt}
\includegraphics[scale=0.837]{plank}
\end{minipage}
\begin{minipage}[c]{\linewidth}
Die linke Hand spielt den Grundton, die rechte Oktave, Terz und Quinte; für sich allein genommen greift sie Grundstellung, 1. und 2. Umkehrung des Dreiklanges. Die Oktave ist zugleich auch \textbf{Bass-Verdopplung}.
\end{minipage}

\newpage

Test

\end{document}
Danke für eure Ideen!

Verfasst: So 17. Mär 2013, 11:25
von u_fischer
Es gibt das Paket varwidth, aber ich würde bei dem Bild die minipage einfach weglassen und es mit \raisebox in der Höhe verschieben.

Verfasst: Mo 18. Mär 2013, 08:50
von niceguy_eddie
Varwidth ist genau das richtige! Danke. Nunmehr geht aber der Text der 3. Mini-Seite über die Seitengrenze hinweg, sowohl mit Minibox, als auch mit Varwidth. Außerdem ist er nach wie vor über dem Bild, statt zentriert (trotz Option c).

Leider bringt das graphicx-Paket im Demo-Modus nichts das gleiche Ergebnis, deshalb ist das überarbeitete Beispiel ohne das Bild leider nicht mehr ausführbar.
\documentclass[10pt,a4paper,twocolumn,twoside,landscape]{scrreprt}
\usepackage[landscape]{geometry}
\usepackage[ngerman]{babel}
\usepackage{selinput}
\SelectInputMappings{
              adieresis={ä},
              germandbls={ß},
             }
\usepackage[T1]{fontenc}
\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
\usepackage{parskip}
\usepackage{microtype}
\usepackage{varwidth}
\usepackage{graphicx}

\begin{document}

\begin{minipage}[t]{0.09\linewidth}
\vspace{0pt}
N111
\end{minipage}
\begin{varwidth}[t]{\linewidth}
\vspace{0pt}
\includegraphics[scale=0.837]{6.png}
\end{varwidth}
\begin{varwidth}[c]{\linewidth}
Die linke Hand spielt den Grundton, die rechte Oktave, Terz und Quinte; für sich allein genommen greift sie Grundstellung, 1. und 2. Umkehrung des Dreiklanges. Die Oktave ist zugleich auch \textbf{Bass-Verdopplung}.
\end{varwidth}

\newpage

Test

\end{document}

Verfasst: Mo 18. Mär 2013, 09:42
von u_fischer
Nein, so wird das nicht gehen, die letzte minipage/varwidth muss schon die korrekte (Rest)-Breite haben. D.h. du müsstest die als \linewidth-0.9\linewidth-Breite Bild berechnen.

Nimm statt all dieser Minipages eine tabularx.

Verfasst: Mo 18. Mär 2013, 10:47
von niceguy_eddie
Mit tabularx war die vertikale Formatierung wieder vollkommen dahin. Habe es aber jetzt auch mit Minipages geschafft. Danke für die Hilfe!

Zum Nachlesen:
\documentclass[10pt,a4paper,twocolumn,twoside,landscape]{scrreprt}
\usepackage[landscape]{geometry}
\usepackage[ngerman]{babel}
\usepackage{selinput}
\SelectInputMappings{
              adieresis={ä},
              germandbls={ß},
             }
\usepackage[T1]{fontenc}
\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
\usepackage{parskip}
\usepackage{microtype}
\usepackage{graphicx}

\begin{document}
\newlength{\myx}
\newlength{\Text}

\settowidth{\myx}{\includegraphics[scale=0.837]{6.png}}
\setlength{\Text}{\linewidth}
\addtolength{\Text}{-0.09\linewidth}
\addtolength{\Text}{-\myx}
\begin{minipage}[t]{0.09\linewidth}
\vspace{0pt}
N111
\end{minipage}
\begin{minipage}[t]{\myx}
\vspace{0pt}
\includegraphics[scale=0.837]{6.png}
\end{minipage}
\begin{minipage}[t][][c]{\Text}
Die linke Hand spielt den Grundton, die rechte Oktave, Terz und Quinte; für sich allein genommen greift sie Grundstellung, 1. und 2. Umkehrung des Dreiklanges. Die Oktave ist zugleich auch \textbf{Bass-Verdopplung}.
\end{minipage} 

\newpage

Test

\end{document}

Verfasst: Do 28. Mär 2013, 20:04
von niceguy_eddie
Ich habe doch noch mal eine Frage: Ab einer bestimmten Breite des Bildes wird die letzte Minipage in die nächste Zeile verschoben. Weiß jemand, woran das liegt, und was ich dagegen tun kann?