Tabelle nach Satzende, Problem mit Paket float Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


Sebastian

Tabelle nach Satzende, Problem mit Paket float

Beitrag von Sebastian »

Guten Abend zusammen,

ich habe folgendes Problem und bitte um Eure Mithilfe:

Ich habe bei Tabellen die Anforderung, dass diese im Text nach einem Satz (bzw. zwischen zwei Sätzen) eingefügt werden. In keinen Fall soll ein Satz durch die Tabelle unterbrochen werden.

Nun ist das Ganze mit der Positionierung ja so eine Sache. Im Grund reicht mir eine Positionierung über [!htb] aus, hier werden aber, wie gesagt, die Tabellen direkt in einem Satz eingefügt.

Die andere Möglichkeit über die Benutzung des Paketes "float" und den Parameter [H] liefert prima Ergebnisse, was die Positionierung am Ende eines Satzes betrifft. Allerdings werden so die Zeilen der Tabelle wesentlich höher, was nicht erwünscht ist!

Meine Fragen wären daher optional:

1. Gibt es eine andere Möglichkeit Tabellen nach Ende eines Satzes einzufügen?

2. Wieso vergrößert die Nutzung des Parameters [H] die Zeilenhöhe und wie lässt sich dies vermeiden?


Ich hoffe dass Ihr mir helfen könnt und sage schonmal Danke

Sebastian

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

Offensichtlich sollten deine Tabellen nicht gleiten. Warum packst du dann die Tabellen überhaupt in eine Gleitumgebung?
Zu 1. Ja lass die Gleitumgebung weg. Dann ist die Tabelle genau da wo sie steht.
2. Macht es das? siehe [2]
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


Sebastian

Beitrag von Sebastian »

Hallo bloodworks,

danke für deine Antwort. Habs mir fast gedacht mit dem Beispiel. Wollt es aber nach Möglichkeit umgehen.
Trotzdem hier das Beispiel:
 
\documentclass[12pt,halfparskip,BCOR0pt,DIV12]{scrartcl}

\usepackage[utf8]{inputenc}     	
\usepackage[T1]{fontenc}          		
\usepackage[ngerman]{babel}       	
\usepackage[intlimits]{amsmath}  		
\usepackage{mathptmx} 				
\usepackage{scrpage2}           
\usepackage{enumerate}         
\usepackage{titlesec}              		
\usepackage[a4paper,left=2.5cm, right=2.5cm,top=2.5cm, bottom=2cm, headsep=0.865cm]{geometry}
\usepackage{setspace}			
\usepackage{booktabs}		
\usepackage{mdwtab}				
\usepackage[labelfont=it, skip=-12pt, justification=raggedright,singlelinecheck=false, margin={2mm,0mm}]{caption}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage{array} 
\usepackage{float}
\usepackage{capt-of}
\usepackage{microtype}

\raggedbottom
\setlength{\parskip}{6pt}
\setstretch{1.4}
\numberwithin{equation}{section}
\numberwithin{table}{section}
\renewcommand*\thetable{\thesection.\arabic{table}}

\pagestyle{scrheadings}
\clearscrheadfoot
\ohead{\normalfont \begin{small} \textsc{\pagemark}\end{small}}
\automark{section}
\setheadsepline{0.8pt}

\renewcommand\tabularxcolumn[1]{m{#1}}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\setlength{\intextsep}{4mm}
\setlength{\tabcolsep}{0.75mm}


\begin{document}
Text Text Text Text Text Text Text TextText Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text. Text Text. Text Text Text Text Text Text. 
Text Text Text Text Text Text Text TextText Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text. Text Text. Text Text Text Text Text Text.
Text Text Text. Text Text. Text Text Text. Text Text. Text Text Text. Text Text.\\
\begin{minipage}{16.3cm}
\begin{center}
\begin{tabularx}{16.3cm}{!{\vline[1.5pt]}l!{\vline[1.5pt]}C!{\vline[1.5pt]}}
\noalign{\hrule height 1.5pt}
Test 		& Test					\\\noalign{\hrule height 1.5pt}
Test		& Test					\\\noalign{\hrule height 0.5pt}
Test		& Test					\\
\noalign{\hrule height 1.5pt}
\end{tabularx}
 \end{center}
\captionof{table}{\textit{Minipage}\label{Minipage}}
\end{minipage}\vspace*{5.8mm}
Text Text Text. Text Text.
Text Text Text Text Text Text Text TextText Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text. Text Text. Text Text Text Text Text Text. Text Text Text. Text Text.
Text Text Text Text Text Text Text TextText Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text. Text Text. Text Text Text Text Text Text. 
Text Text Text Text Text Text Text TextText Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text. Text Text. Text Text Text Text Text Text.
Text Text Text. Text Text. Text Text Text. Text Text. Text Text Text. Text Text.
\begin{table}[!htb]
\begin{center}
\begin{tabularx}{16.3cm}{!{\vline[1.5pt]}l!{\vline[1.5pt]}C!{\vline[1.5pt]}}
\noalign{\hrule height 1.5pt}
Test 		& Test					\\\noalign{\hrule height 1.5pt}
Test		& Test					\\\noalign{\hrule height 0.5pt}
Test		& Test					\\
\noalign{\hrule height 1.5pt}
\end{tabularx}
 \end{center}
\caption{\textit{Table}\label{Table}}
\end{table}\vspace*{5.8mm}
Text Text Text. Text Text.
Text Text Text Text Text Text Text TextText Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text. Text Text. Text Text Text Text Text Text. Text Text Text. Text Text.
Text Text. Text Text Text Text Text Text. 
Text Text Text Text Text Text Text TextText Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text. Text Text. Text Text Text Text Text Text.
Text Text Text. Text Text. Text Text Text. Text Text. Text Text Text. Text Text.
\begin{table}[H]
\begin{center}
\begin{tabularx}{16.3cm}{!{\vline[1.5pt]}l!{\vline[1.5pt]}C!{\vline[1.5pt]}}
\noalign{\hrule height 1.5pt}
Test 		& Test					\\\noalign{\hrule height 1.5pt}
Test		& Test					\\\noalign{\hrule height 0.5pt}
Test		& Test					\\
\noalign{\hrule height 1.5pt}
\end{tabularx}
 \end{center}
\caption{\textit{Table mit Float}\label{Tablefloat}}
\end{table}\vspace*{5.8mm}
Text Text Text. Text Text.
Text Text Text Text Text Text Text TextText Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text. Text Text. Text Text Text Text Text Text. 

\end{document}
Ich habe drei Tabellen hier eingefügt. Die erste mit Minipage (also ohne Gleitumgebung) liefert zu hohe Zeilen sowie falsche Abstände zum Text.

Die mittlere Tabelle ist genauso, wie sie sein soll, mit der Ausnahme, dass die Tabelle nicht am Ende eines Satzes erfolgt, sonder diesen unterbricht.

Die dritte Tabelle mithilfe des Float Paketes ist vom Text her richtig positioniert und die Abstände stimmen. Allerdings ist auch hier die Zeilenhöhe zu hoch.

Ich hoffe dies kann die Problematik genauer beschreiben.

Jut Nacht

Sebastian

Sebastian

Beitrag von Sebastian »

Hallo!

Ich habe heute lange herumprobiert und gesucht, aber immer noch keine Lösung für mein Problem gefunden.
Steh ich irgendwie auf dem Schlauch, so schwer kann das doch nicht sein?

Also ich wäre über weitere Anregungen Dankbar!

Gibt es Probleme mit dem Minimalbeispiel?

Habt Dank für Teilen eures Wissens

Seb

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

Hier mal eine Arbeitsgrundlage für dich:
\documentclass[12pt,parskip=half,BCOR=0pt,DIV=12]{scrartcl} 

\usepackage[latin1]{inputenc}         
\usepackage[T1]{fontenc}                 
\usepackage[ngerman]{babel}           
\usepackage[intlimits]{amsmath}         
\usepackage{mathptmx}             
\usepackage{scrpage2}           
\usepackage{blindtext}         
             

%\usepackage{setspace}         
\usepackage{booktabs}       
       \usepackage{calc}
\usepackage[labelfont=it,skip=0pt,  justification=raggedright,singlelinecheck=false, margin={2mm,0mm}]{caption} 
%\setlength{\abovecaptionskip}{\baselineskip}
%\setlength{\belowcaptionskip}{\baselineskip}
\usepackage{tabu} 

\usepackage{microtype} 



\numberwithin{equation}{section} 
\numberwithin{table}{section} 
\renewcommand*\thetable{\thesection.\arabic{table}} 

\pagestyle{scrheadings} 
\clearscrheadfoot 
\ohead{\normalfont \begin{small} \textsc{\pagemark}\end{small}} 
\automark{section} 
\setheadsepline{0.8pt} 


\newcolumntype{C}{>{\centering\arraybackslash}X} 
%\setlength{\intextsep}{4mm} 
%\setlength{\tabcolsep}{0.75mm} 


\begin{document} 
\blindtext Weiterer Satz.\\[\intextsep]
\begin{minipage}{\textwidth} 
\centering
\begin{tabu} to \textwidth {lC} \toprule % wenn du schon booktabs einbidest, dann nützen wir das auch
Test       & Test               \\
Test      & Test               \\
Test      & Test               \\ \bottomrule
\end{tabu}
\captionof{table}{\textit{Minipage}} \label{Minipage}% Tabellen haben im Übrigen normalerweise eine Überschrift % Abb. eine Unterschrift
\end{minipage}\\[\intextsep] 
 extText Text Text Te \blindtext
\begin{table}[!htb] 
\centering
\begin{tabu} to \textwidth {lC} \toprule % wenn du schon booktabs einbidest, dann nützen wir das auch
Test       & Test               \\
Test      & Test               \\
Test      & Test               \\ \bottomrule
\end{tabu}
\caption{\textit{Table}}\label{Table}%
\end{table}
Text Text Text. Text Text. 
Text Text Text Text Text Text Text TextText Text Text Text Text Text Text Text Text Text Text Text Text 

\end{document} 
Dein Minimalbeispiel enthält im übrigen sehr viel unnötiges und unbrauchbares. Warum zB stellst du den Satzspiegel erst via KOMA Skript ein um dann via grometry ihn wieder umzustellen? Das macht doch keinen Sinn. Das gleiche bei parskip. Lass das ruhig KOMA machen. Das macht das dann schon recht sinnvoll. capt-of brauchst du net. tabularx und array zu landen macht auch keinen Sinn, da tabularx array von selber lädt. Ich würde eh zu tabu raten.
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


Sebastian

Beitrag von Sebastian »

Hallo bloodworks,

vielen Dank für die nochmalige Hilfe!
Das war mir gar nicht so bewusst, das da einige Pakete mehr oder weniger doppelt oder gar veraltet sind.
Das ganze ist entstanden, um, wie so oft der Fall, den ganzen Bestimmungen des Instituts Folge leisten zu können, die nur eine Word-Vorlage haben, aber ganz genaue Formatvorstellungen.
Naja jetzt funktioniert es soweit. Beizeiten muss ich dann wohl nochmal darüberschauen.

Nun mein Lösungsansatz, den ich vorhin mehr durch Zufall gefunden habe:

Mithilfe des Paketes
\usepackage{placeins}
kann der Befehl
\FloatBarrier
vor die Tabelle gestellt werden.
Ich gebe zu, es ist nicht elegant, aber es erfüllt seinen Zweck.
Und das ist mir im Moment lieber, als dass ich die Abstände in der Minipage o.Ä. ändere.

Danke nochmal für den Ansatz!

Seb


Antworten