Seite 1 von 2

Minipage verschoben ?!

Verfasst: Di 13. Sep 2011, 20:16
von cl10k
Hallo,
ich habe ein Problem mit Minipage. Ich versuche eine Tabelle und eine Grafik nebeneinander darzustellen, dabei treten allerdings zwei Probleme auf:

1. Die Minipage ist scheinbar nach rechts verschoben und ich habe nicht die geringste Ahnung warum (gut zu sehen im Beispiel mit dem zweispaltigen Blindtext in "Tabelle1")

2. Meine tatsächlich gewünschte Anordnung von Tabelle|Grafik passt in der vertikalen Ausrichtung überhaupt nicht. Beide Teile sollen zum oberen Rand ausgerichtet sein und "ordentlich" nebeneinander stehen.

Ich habe mit Absicht meine gesamte Preambel in diesem Beispiel gelassen, evtl findet von euch jemand einen Fehler. Kommentare zur Preambel sind also ebenfalls willkommen.

Das fertige Ergebnis und die Grafik befinden sich im Anhang.


Danke

lg Christian

PS: Wie sorgt man dafür, das die Codeumgebung meine Tabs richtig darstellt?
\documentclass[11pt,																								%Schriftgröße
							 BCOR=8mm,																						%Breite Bindekorrektur
							 DIV=12,																							%Faktor Satzspiegelberechnung (kleiner=schmaler, min=4)
							 headinclude=false,																		%Kopfzeile nicht in Textkörper einbeziehen
							 footinclude=false,																		%Fußzeile nicht in Textkörper einbeziehen
							 parskip=false,																				%Absatzmarkierung per Einzug
%							 titlepage=false,																			%manuelle Erstellung Titelseite
							 captions=nooneline,																	%keine zentrierten Captions
							 captions=belowtable,																	%Tabellenunterschriften
							 headings=normal,																			%Überschriftengröße: normal
							 numbers=noenddot,																		%kein Endpunkt bei Nummerierung
							]{scrreprt}																						%KOMA-Script-Report-Klasse


%-----LOKALISIERUNG
\usepackage[latin1]{inputenc}																	  		%deutsche Sonderzeichen direkt eingeben, russische Buchstaben
\usepackage[OT1,OT2,T1]{fontenc}																		%russische & lateinische Fonts
\usepackage[russian, ngerman]{babel}																%Latex Anpassung deutsche, russische Sprache


%-----SCHRIFTART
\usepackage{helvet}																									%Helvetica
\renewcommand{\familydefault}{\sfdefault}														%Schriftart als Standard für gesamtes Dokument
\usepackage[onehalfspacing]{setspace}																%1,5 facher Zeilenabstand
\KOMAoptions{DIV=last}																							%Satzspiegel neu berechnen (Berücksichtigung Schriftart, Zeilenabstand)



%-----WEITERE PAKETE
\usepackage[nofancy]{svninfo}																				%SVN Integration
\usepackage{bibgerm}																								%deutsche Bibliographie
\usepackage{blindtext}																							%Blindtext & komplexe Dokumentstruktur automatisch erstellen
\usepackage{lipsum}																									%lat. Blindtext automatisch erstellen
\usepackage{url}																										%URLs
\usepackage{tabularx}																								%Tabellen
\usepackage{graphicx}																								%Bilder
\usepackage{booktabs}																								%Tabellenlinien
\usepackage[automark]{scrpage2}																			%flexible Kopf-/Fußzeilen
\usepackage{hyperref}																								%Verweise


%-----KOMAEINSTELLUNGEN
\addtokomafont{caption}{\small}																			%Captions in \small
\addtokomafont{captionlabel}{\bfseries}															%Captionlabel in fett


%-----MAKROS
\renewcommand{\labelitemi}{$\bullet$}
\renewcommand{\labelitemii}{$\bullet$}
\renewcommand{\labelitemiii}{$\bullet$}
\renewcommand{\labelitemiv}{$\bullet$}

\begin{document}

\blindtext[1]

%Tabelle1
\begin{minipage}[t]{0.5\textwidth}
 \blindtext[1]
\end{minipage}
\begin{minipage}[t]{0.5\textwidth}
\blindtext[1]
\end{minipage}
\blindtext[1]


%Tabelle2
\begin{minipage}[t]{0.5\textwidth}
 \footnotesize
 \begin{tabularx}{\textwidth}{Xl}
  \multicolumn{2}{l}{\textbf{Blok DM-3}}		                 \\  
  Trägersystem							& Proton K	 \\
  Status								& aktiv	 \\
  Abmessung H$\times$D [m]	                        & 7,1$\times$3,7\\
	Schub [kN]								&	85,3					\\
	ISP [s]										& 361						\\
	Startmasse [kg]						& 17495					\\
	Trockenmasse [kg]					& 2440					\\
	Treibstoffmasse	[kg]			& 15055					\\
	Triebwerk									&	RD-58S +10V		\\
	Treibstoff								&	RP1/LOX				\\
	Tanks(BS/OX)							&	Torus/Bubble	\\
	TS Förderung							&	Pumpen				\\
	Wiederzündbarkeit					&	j							\\
	Infrastruktur							& j							\\
\end{tabularx}
\end{minipage}
\begin{minipage}[t]{0.5\textwidth}
		\includegraphics[width=\textwidth]{block-dm.PNG}
\end{minipage}

\blindtext[1]
\end{document}



Verfasst: Di 13. Sep 2011, 21:06
von Schweinebacke
Siehe http://www.komascript.de/signifikanteLeerzeichen. Du hast gleich vom ersten dort erwähnten Typ eine ganze Menge, beispielsweise zwischen dem Ende der tabular und dem Ende der minipage oder jeweils zwischen dem Ende der einen minipage und dem Anfang der nächsten minipage. Abhilfe ist unter dem Link ebenfalls zu finden.

Verfasst: Di 13. Sep 2011, 21:14
von cl10k
Danke für die Antwort!

In meinem Original tex Dokument stehen dort aber keine Leerzeichen, kann sein das ich die beim Übertrag ins Forum reingeschludert habe.

Ich nutze Texniccenter und lasse mir "Leerraumzeichen" einblenden. In beiden Tabellen gibt es keine nicht gewollten Leerzeichen.

Bild

Edit: Ich bin mir nicht sicher, ob ich den "Zeilenenden werden wie Leerzeichen behandelt" Passus richtig verstanden habe. Was sollte man denn ändern?

Verfasst: Di 13. Sep 2011, 22:14
von Schweinebacke
Zeilenenden sind Leerzeichen. Es spielt überhaupt keine Rolle, ob da zusätzliche Leerzeichen stehen. 0.5\ŧextwidth + 0.5\textwidth + 1 Leerzeichen > 1\textwidth oder? Damit hast Du eine overfull \hbox mit allen Konsequenzen.

Damit das Zeilenende kein Leerzeichen mehr ist, muss man das Zeilenende selbst auskommentieren, wie das in dem Beispiel am Ende der verlinkten Seite gezeigt wird.

Und wenn Du ein wirklich minimales Beispiel (siehe ¹) gemacht hättest, dann hätte ich das sogar ausprobiert und Dir gezeigt. Ich habe aber keine Lust, massenhaft überflüssige Zeilen und Bilder zu kopieren und hier das Forum mit viel zu großen Beispielen zu fluten.

Verfasst: Di 13. Sep 2011, 22:28
von cl10k
Es tut mir leid, das ich deinem Anspruch auf Minimalität nicht nachgekommen bin. Mein Beispiel besteht aus der vollständigen Preambel meines Dokumentes, da ich nicht weiß ob der Fehler evtl dort liegt und zwei Minipagegruppen. So viel überflüssiger Code kann dort also nicht sein!

Ich glaube nicht das es Sinn macht den Code noch weiter zu reduzieren. Mit dem Bild (es ist nur eines - also bitte nicht übertreiben) hast du natürlich Recht.

Ich habe mich bemüht meinen Code auf ein relevantes Maß zu beschränken und mein Problem klar anhand zweier Beispiele zu formulieren. Mit nur 6 Post fehlt mir einfach auch eine gewisse Erfahrung hier im Forum.
Vielleicht solltest du einmal deine Attitüde gegenüber Anfängern überdenken.

Verfasst: Di 13. Sep 2011, 22:51
von Schweinebacke
Du scheinst da etwas die Perspektive verloren zu haben: Wer will denn hier eigentlich etwas von wem? Und wer schlägt sich für wen die Nacht um die Ohren?

Verfasst: Di 13. Sep 2011, 23:13
von cl10k
Schade das du deinen ursprünglichen Text editiert hast!

Zu den nun nicht mehr vorhandenen Argumenten:

Nein das ist nicht zuviel verlangt! Wenn du mal eine Sekunde versuchst meinen Eingangsbeitrag sachlich zu betrachten, fällt dir sicherlich auf das ich mich bemüht habe der Richtlinie für Minimalbeispiele zu entsprechen und ja(!) natürlich kann man das Beispiel noch straffer und besser formulieren.

ABER mich stört deine Art. Ein Forum hat den Anspruch erfahrene und weniger erfahrene Nutzer zusammenzubringen, damit Letztere dazulernen.

Dafür Bedarf es keiner Polemik und keiner Übertreibung - beides Stilmittel der du dich gerade bedienst. Lernen ist immer ein schrittweiser Prozeß - du musst Neulingen auch die Chance geben diese Schritte nacheinander zu erlernen! Hättest du deine Kritik weniger schroff formuliert wäre alles in Ordnung...

Nein, ich habe die Perspektive nicht verloren. Ich bitte DICH um gar nichts, noch weniger verlange ich das du dir die Nacht um die Ohren schlägst. Du solltest lernen, dich weniger Übertreibungen zu bedienen.

Es wäre mir recht, wenn der Ausflug in das gute Benehmen damit beendet wäre! Ich werde mein Minimalbeispiel überarbeiten, auf deine belehrende Art lege ich bei der Lösung des Problems allerdings keinen Wert.

Danke und eine geruhsame Nacht

EDIT: Hier also eine gekürzte Version, Problematik bleibt bestehen:
\documentclass[11pt,
				BCOR=8mm,
				DIV=12,
				headinclude=false,
				footinclude=false,
				parskip=false,
				captions=nooneline,
				captions=belowtable,
				headings=normal,
				numbers=noenddot,
				]{scrreprt}


%-----LOKALISIERUNG
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[onehalfspacing]{setspace}
\KOMAoptions{DIV=last}

\usepackage{blindtext}
\usepackage{tabularx}


\begin{document}
\blindtext[1]

%Tabelle1
\begin{minipage}[t]{0.5\textwidth}
\blindtext[1]
\end{minipage}
\begin{minipage}[t]{0.5\textwidth}
\blindtext[1]
\end{minipage}
\blindtext[1]


%Tabelle2
\begin{minipage}[t]{0.5\textwidth}
\footnotesize
\begin{tabularx}{\textwidth}{Xl}
\multicolumn{2}{l}{\textbf{Überschrift}}\\
	Text&Text\\
	Text&Text\\
	Text&Text\\
	Text&Text\\
	Text&Text\\
\end{tabularx}
\end{minipage}
\begin{minipage}[t]{0.5\textwidth}
\rule{\textwidth}{5cm}
\end{minipage}

\blindtext[1]
\end{document}

Verfasst: Mi 14. Sep 2011, 08:16
von Xenara
Bei einem Minimalbeispiel geht es per Definition darum, den Fehler ohne überflüssigen Code zu zeigen.
Das geschieht durch Auskommentieren der nicht benötigten Pakete/Definitionen, man schaut einfach, was kann man alles weglassen, und der Fehler tritt immernoch auf. Oft kann man das Problem so bereits selbst lösen, ich gehe bei meinen Dokumenten auch immer so vor, wenn mal was nicht läuft.
Und das ist eigentlich jedem Anfänger zuzutrauen. Für Helfer ist es einfach tierisch mühsam, wenn er erstmal die Arbeit des Fragenden machen muss, bevor er irgendwas sinnvolles dazu beitragen kann. Ausserdem schleicht sich dann schnell der Gedanke ein, dass der Fragende einfach zu faul war, das selbst zu machen.

Wieauchimmer, dein zweites Beispiel ist schon wesentlich besser. Ein kurzes Überfliegen der Präambel im ersten Code hat übrigens keine Schnitzer gezeigt, sieht ziemlich ok aus.

Zu deinem Problem:
Bei der vermeintlich verschobenen minipage schlägt einfach der automatische Zeileneinzug zu. Den verhindert man durch \noindent.

Die Ausrichtung von Tabelle und minipage ist etwas tricky. Das hat afaik mit den Grundlinien zu tun, an denen ausgerichtet wird. Da bin ich auch noch nicht so ganz durchgestiegen. Ich habe aber einen Befehl aus der l2picfaq etwas umgebogen, sodass er jetzt das tun sollte, was du willst:
\documentclass[11pt,
            BCOR=8mm,
            DIV=12,
            headinclude=false,
            footinclude=false,
            parskip=false,
            captions=nooneline,
            captions=belowtable,
            headings=normal,
            numbers=noenddot,
            ]{scrreprt}


%-----LOKALISIERUNG
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[onehalfspacing]{setspace}
\KOMAoptions{DIV=last}

\usepackage{blindtext}
\usepackage{tabularx}

\usepackage{graphicx}

% Aus l2picfaq, leicht abgewandelt
% neuer Befehl: \includegraphicstotab[..]{..}
% Verwendung analog wie \includegraphics
\newlength{\myx} % Variable zum Speichern der Bildbreite
\newlength{\myy} % Variable zum Speichern der Bildhöhe
\newcommand\includegraphicstotab[2][\relax]{%
% Abspeichern der Bildabmessungen
\settowidth{\myx}{\includegraphics[{#1}]{#2}}%
\settoheight{\myy}{\includegraphics[{#1}]{#2}}%
% das eigentliche Einfügen
\vspace{-.5\baselineskip}%
\parbox[tt][1\myy][c]{\myx}{%
\includegraphics[{#1}]{#2}}%
}% Ende neuer Befehl


\begin{document}
\blindtext[1]

%Tabelle1
\noindent%
\begin{minipage}[t]{0.5\textwidth}
\blindtext[1]
\end{minipage}%
\begin{minipage}[t]{0.5\textwidth}
\blindtext[1]
\end{minipage}
\blindtext[1]



%Tabelle2
\begin{minipage}[t]{0.5\textwidth}
\footnotesize
\begin{tabularx}{\textwidth}[t]{Xl}
\multicolumn{2}{l}{\textbf{Überschrift}}\\
   Text&Text\\
   Text&Text\\
   Text&Text\\
   Text&Text\\
   Text&Text
\end{tabularx}%
\end{minipage}%
\begin{minipage}[t]{0.5\textwidth}
%\rule{\textwidth}{5cm}
\includegraphicstotab[width=\textwidth, height=5cm]{Testbild}
\end{minipage}\par\bigskip

\blindtext[1]
\end{document} 

Verfasst: Mi 14. Sep 2011, 08:21
von sommerfee
cl10k hat geschrieben: EDIT: Hier also eine gekürzte Version, Problematik bleibt bestehen:
Die Lösung steht doch schon hier: http://www.golatex.de/viewtopic,p,32530.html#32530 Warum klickst du nicht auf den Link von Schweinebacke und liest dir den Inhalt durch?

Und dann fehlt da ggf. zusätzlich noch ein \noindent vor den minipages, ansonsten greift der Absatzeinzug.

Und ich muß gestehen, dein Problem nicht beachtet zu haben, weil mir das Beispiel zu lang war. Wenn ich zuviel an einem Quelltext selber ändern muß, um das Problem wirklich auf das Problem zu reduzieren, so daß ich es analysieren kann, habe ich oft auch keine Lust dazu. Und dann stehe ich vor der Frage: Einen Hinweis diesbezüglich geben oder nicht geben? Aber wie man auch immer antwortet, es ist eigentlich immer falsch, deswegen lasse ich es, und viele andere auch, und deswegen antworten viele Leute gar nicht und der Fragesteller bleibt alleine.
Mein Beispiel besteht aus der vollständigen Preambel meines Dokumentes, da ich nicht weiß ob der Fehler evtl dort liegt
Genau dafür ist doch das Basteln eines minimalbeispieles da, um herauszufinden, woran es liegt, um das Problem so gut es geht einzukreisen! Wenn man die Präambel verkürzt und das Problem ist immer noch da, dann lag es nicht an den gelöschten Zeilen. Wenn es dann plötzlich weg ist, dann lag es an einer der gelöschten Zeilen usw. Genau das steht aber auch auf minimalbeispiel.de. Auch hier gilt: Anklicken und Lesen! Ist das denn wirklich zu viel verlangt?

Wenn du das nicht machst, dann muß das (es sei denn das Problem ist offensichtlich) der Helfende machen, denn der erste Schritt ist es, das Problem einzukreisen. Und dies muß jeder Helfende tun, wenn der Fragestellende aus Faulheit oder was-auch-immer es nicht gemacht hat.

Der zweite Schritt ist dann die Analyse des eingekreisten Problemes. Hier helfen wir gerne. Schritt eins ist aber etwas, was genauso gut der Hilfesuchende machen kann.

So, jetzt bin ich auch mindestens ein Oberlehrer etc., das ist mir egal, ich bitte darum diesbezügliche Kommentare zu verkneifen, ich mag sie nicht mehr hören. Sinnlose Minimalbeispiel- und Oberlehrerdiskussionen hatten wir wirklich schon zu genüge.

Verfasst: Mi 14. Sep 2011, 09:27
von cl10k
@Xenara

Danke für deine Mühe! Auf \noindent hätte ich auch selbst kommen können :oops:

Das die Ausrichtung der beiden Minipages so tricky ist, schockiert mich etwas! Ich werde mir deinen Ansatz zu Gemüte führen aber auch mal schauen ob ich nicht eine Alternative finde (es gibt ja noch ein paar Pakete in diesem Zusammenhang).

@sommerfee:

Ist es denn zuviel verlangt die Notwendigkeit eines vernünftigen Minimalbeispieles (die ich vollkommen verstehe!) auf eine respektvolle Art und Weise zu kommunizieren? Außerhalb eines Forums würde doch niemand derart unhöflich mit anderen reden. Warum dann also hier? Möchtest du das deine Kinder von ihren Lehrern auf diese Art behandelt werden?

Zu dem Link von Schweinebacke schrieb ich, das ich den Ansatz Zeilenenden=Leerzeichen nicht verstanden habe bzw. mir nicht vorstellen kann, das das komplette auskommentieren jedes Zeilenendes die Lösung sein kann. Darum bat ich darum das nochmal im Detail zu erklären
Ich bin mir nicht sicher, ob ich den "Zeilenenden werden wie Leerzeichen behandelt" Passus richtig verstanden habe. Was sollte man denn ändern?