PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabelle nicht unter Section sondern am Seitenanfang



Artifex
20-05-2010, 22:02
Hi,

ich habe ein Problem ;-( ich habe eine Tabelle gebaut und würde jetzt gerne die Tabelle unter einer SubSubsection starten lassen. Allerdings ignoriert latex das völlig und setzt die Tabelle an den Seitenanfang. Kann mir jemand sagen wieso?

\documentclass[12pt]{scrartcl}
% BEGIN PACKAGES
\usepackage[ngerman]{babel} % Deutsche Lokalisierung
\usepackage[applemac]{inputenc} % Automatische Erkennung von Umlauten
\usepackage[paper=a4paper,left=25mm,right=25mm,top=30mm,bottom =30mm]{geometry}
%\usepackage{graphicx} % Einbinden von Grafiken EPS, JPG...
\usepackage{array} % Tabellen
\usepackage{tabularx}
\usepackage{ifthen}
\usepackage{lscape}
\usepackage{lmodern}
\usepackage{capt-of}
\usepackage{graphics}
\usepackage[T1]{fontenc} % Cork Encoding einschalten
\usepackage{amsmath}
%\usepackage[]{subfig} %?
\usepackage{setspace} % Einstellung des Zeilenabstandes \onehalfspacing etc
\usepackage[scanall]{psfrag} % PSFrag - Font unter EPS-Abb. = TeX-font
\usepackage{textcomp} % ?
%\usepackage[final]{pdfpages}
\usepackage{longtable}
\usepackage{wrapfig}
\setcounter{tocdepth}{3}
\usepackage[pdftex]{graphicx}
\usepackage{booktabs} % fÔøΩr Tabellenliniendicke!
\usepackage{float} % Grafik kann von Text umflossen werden
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{marvosym}
%\usepackage{mdwlist}
\newlength{\tabitemtopsep}
\addtolength{\tabitemtopsep}{\baselineskip}
\newlength{\tabitembottomsep}
\addtolength{\tabitembottomsep}{\baselineskip}
\newenvironment{tabitemize}{%
\hbox{}\vspace{-\tabitemtopsep}\begin{list}{\textbullet}{%
\setlength{\labelsep}{0.0cm}%
\setlength{\leftmargin}{0.5em}%
\setlength{\topsep}{0.5ex}%
\setlength{\parsep}{0.5ex}% {0.5ex plus0.2ex minus0.1ex}%
\setlength{\itemsep}{0ex}}% {0ex plus0.2ex}}%
}{%
\hbox{}\vspace{-\tabitembottomsep}\end{list}%
}
\usepackage{rotating}
\usepackage{sidecap}
\sidecaptionvpos{figure}{t}
\setkomafont{disposition}{\normalfont\bfseries}
\usepackage{extramarks}
\usepackage{fancybox}
\usepackage{fancyhdr} \pagestyle{fancy}
\widowpenalty 10000
\clubpenalty 10000
\newcommand{\forloop}[5][1]{%
\setcounter{#2}{#3}%
\ifthenelse{#4}{#5\addtocounter{#2}{#1}%
\forloop[#1]{#2}{\value{#2}}{#4}{#5}}%
{}}
\newcounter{crcounter}
\newcommand{\compensaterule}[1]{%
\forloop{crcounter}{1}{\value{crcounter} < #1}%
{\vspace*{-\aboverulesep}\vspace*{-\belowrulesep}}}
\newcommand{\multirowbt}[3]{\multirow{#1}{#2}%
{\compensaterule{#1}#3}}
\setlength\headheight{23pt}
\lhead{\begin{tabular}[b]{l@{}}
\firstleftmark \end{tabular}}
%\rhead{\begin{tabular}[b]{l@{}}
%\thepage \end{tabular}}
%\chead{} \lfoot{} \cfoot{} \rfoot{}\fancyfoot[C]{}
\rhead{}
\lfoot{\jobname} \cfoot{} \rfoot{\thepage}
\renewcommand\headrulewidth{0.4pt}
\renewcommand\footrulewidth{0.4pt}
\renewcommand\sectionmark[1]
{\markboth{\thesection\ #1}{}}
\renewcommand\subsectionmark[1]
{\markright{\thesubsection\ #1}}
\makeatletter
\newenvironment{SCtopfig}{\SC@float[t]{figure}}{\endSC@float}
\makeatother
\usepackage[colorlinks=true,linkcolor=black]{hyperref}
%\usepackage{hyperref}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %
%%%%%%%%%%%%%%End Packages%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %
\begin{document}
\pagenumbering{arabic}
\onehalfspacing
\section{Projekt/Projektziele}
\subsection{Projektbeschreibung}
\subsubsection{Projektantrag/Projektsteckbrief}
\begin{table}
\small
\begin{tabular*}{1.0\textwidth}{@{\extracolsep{\fi ll}} p{16cm} }
\toprule
\textbf{Projektbezeichnung:} \\
XXX \\
\midrule
\textbf{Projektumfeld:} \\
XXX
\begin{tabular}{p{10mm}p{15cm}}
1. & XXX \\
\end{tabular} \\
\midrule
\begin{tabular}{p{3cm}p{15cm}}
\textbf{Projektstart:} & \textbf{Projektende:} \\
01.05.CCCX & 31.0X.XXXX \\
\end{tabular} \\
\bottomrule
\end{tabular*}
\end{table}
\end{document}

lockstep
20-05-2010, 22:22
Gleitobjekte verhalten sich standardmäßig so. Mit



\usepackage{flafter}


kannst du jedoch sicherstellen, dass Gleitobjekte nicht vor ihrem Auftreten im Quelltext platziert werden.

lockstep

P.S.: In diesem Fall war die Antwort einfach. Ein kniffligeres Problem hätte ich angesichts der Länge deines Beispiels ignoriert.

Artifex
20-05-2010, 22:28
jetzt habe ich aber einen ganz anderen Schmerz, er legt die Tabelle jetzt komplett ans Seitenende? Aber nicht direkt unter die subsubsection?

danke

lockstep
20-05-2010, 22:35
Du könntest \begin{table}[h] schreiben. Oder überhaupt auf die table-Umgebung verzichten.

lockstep

localghost
20-05-2010, 22:46
Du könntest \begin{table}[h] schreiben. [...]
Bekanntlich ist [h] alleine zu wenig und wird vom Compiler überschrieben.

\documentclass[ngerman,captions=tableabove]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{%
adieresis={ä},
germandbls={ß},
Euro{€}
}
\usepackage{babel}
\usepackage{blindtext}

\begin{document}
\section{Projekt/Projektziele}
\subsection{Projektbeschreibung}
\subsubsection{Projektantrag/Projektsteckbrief}

\begin{table}[!ht]
\caption{Platzhalter}\label{tab:dummy}
\centering
\rule{6.4cm}{3.6cm}
\end{table}

\blindtext
\end{document}


MfG
Thorsten

Artifex
20-05-2010, 22:49
ok fast perfekt. Wenn das mit dem h! hat funktioniert. Wenn ich jetzt allerdings nach

\end{table}
\newpage

mache, macht er mir keine neue Seite auf, sondern klatscht subsubsection 1.1.2 direkt untendrunter ohne eine neue Seite zu machen, wieso?

Ansonsten perfekt!

lockstep
20-05-2010, 23:06
Bekanntlich ist [h] alleine zu wenig und wird vom Compiler überschrieben.

Nun, hier zeigt [h] jedenfalls Wirkung.



\documentclass{article}

\begin{document}

\section{bla}

\subsection{blubb}

\subsubsection{foo}

\begin{table}[h]
\caption{A table}
\end{table}

\end{document}


lockstep

EDIT: Natürlich lasse ich mich gerne darüber aufklären, in welchen anderen (vielleicht recht häufigen) Situationen [h] versagt.

Artifex
20-05-2010, 23:10
ja das hat ja auch funktioniert, allerdings macht er mir unter dem ganzen Tabellenkram jetzt trotz der Befehle unten:

\end{table}
\newpage

keine neue Seite auf, sondern klatscht subsubsection 1.1.2 direkt untendrunter ohne eine neue Seite zu machen, wieso?

Ansonsten perfekt!

lockstep
20-05-2010, 23:19
Hier funktioniert es.



\documentclass{article}

\begin{document}

\section{bla}

\subsection{blubb}

\subsubsection{foo}

\begin{table}[!ht]
\caption{A table}
\end{table}

\newpage

\subsubsection{bar}

\end{document}


Das nächste Beispiel zu diesem Thema kommt übrigens nicht von mir.

lockstep

u_fischer
21-05-2010, 13:45
keine neue Seite auf, sondern klatscht subsubsection 1.1.2 direkt untendrunter ohne eine neue Seite zu machen, wieso?

Weil Gleitumgebungen nun mal gleiten. Wenn du nicht willst, dass deine Tabelle durch die Gegend hüpft, verwende nicht table sondern eine minipage + \captionof aus dem caption- oder capt-of-Paket.

http://www.tex.ac.uk/cgi-bin/texfaq2html?label=floats
http://www.tex.ac.uk/cgi-bin/texfaq2html?label=figurehere

Wenn du die Ausgabe der noch nicht platzierten Gleitumgebungen und nachfolgend einen Seitenwechsel erzwingen willst, benutze \clearpage statt \newpage.

Artifex
21-05-2010, 17:44
ihr seid die Besten. Es war eine Mischung von beidem. clearpage war perfekt! DANKE