Minipage-Breite an Inhalt anpassen

Tabellen und Grafiken erstellen und anordnen


niceguy_eddie
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: So 27. Jan 2013, 21:37

Minipage-Breite an Inhalt anpassen

Beitrag 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!

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4300
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag 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.

niceguy_eddie
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: So 27. Jan 2013, 21:37

Beitrag 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}

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4300
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag 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.

niceguy_eddie
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: So 27. Jan 2013, 21:37

Beitrag 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}

niceguy_eddie
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: So 27. Jan 2013, 21:37

Beitrag 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?

Antworten