PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : fancyhdr - iffloatpage geht nicht



NicolasZiebarth
28-04-2008, 22:23
Hallo liebe Leute,

ich habe folgendes Problem: Ich versuche seit einiger Zeit erfolglos, die Kopfzeile sowie die "decorative line" auf Seiten mit Tabellen zu entfernen. Dazu benutze ich das Paket fancyhdr und den Befehl iffloatpage bzw. iftopfloat/ifbotfloat.

Leider scheint bei mir keiner dieser Befehle so wie im fancyhdr-Paket beschrieben zu funktionieren. Ich verstehe nicht wo das Problem liegt?

Ich arbeite mit MiKTeX und bin LaTex Anfänger. Wenn jemand einen Tip für mich hat, wäre ich ihm super dankbar!

Viele Grüße und danke schon einmal!

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[a4paper,12pt]{article}
\usepackage{a4}
\usepackage{latexsym}
\usepackage [format=hang, justification=raggedright, font=small, labelfont=bf] {caption}
\usepackage{graphicx}
\usepackage{setspace}
\usepackage{fancyhdr}
\usepackage{float}
\restylefloat{table}
\usepackage{lscape}
\usepackage{pdflscape}
\usepackage{amsmath}
\usepackage{mathrsfs}
\usepackage{subfigure}
\usepackage{epsfig}
\usepackage{hyperref}
\usepackage{longtable}
\usepackage{array}
\usepackage{dcolumn}
\usepackage{hhline}
\usepackage{multirow}
\usepackage{natbib}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{graphics}
\usepackage{eurosym}

\sloppy
\pagestyle{fancy}
\renewcommand{\headrulewidth}{\iftopfloat{0pt}{0.4 pt}}
% es funktioniert nicht, egal, ob ich iftopfloat, ifpagefloat oder ifbotfloat nehme
\begin{document}

\begin{table}[htbp]
\caption{\label{DiDsimple} Simple Difference-in-Differences Estimate}\centering\medskip
\begin{tabular}{l l l l l }\hline\hline
& 1996 & 1997 & Difference & Diff-in-Diff \\ \hline
Control group & 0.036 & 0.037 & 0.000 & -0.004 \\
Treatment group & 0.053 & 0.050 & -0.003 & \\ \hline
\end{tabular}
\end{table}

\end{document}

voss
28-04-2008, 23:02
ich habe folgendes Problem: Ich versuche seit einiger Zeit erfolglos, die Kopfzeile sowie die "decorative line" auf Seiten mit Tabellen zu entfernen. Dazu benutze ich das Paket fancyhdr und den Befehl iffloatpage bzw. iftopfloat/ifbotfloat.

Leider scheint bei mir keiner dieser Befehle so wie im fancyhdr-Paket beschrieben zu funktionieren. Ich verstehe nicht wo das Problem liegt?

\documentclass[a4paper,12pt]{article}
\usepackage{a4}% völlig veraltet
\usepackage{latexsym}
\usepackage [format=hang, justification=raggedright, font=small, labelfont=bf] {caption}
\usepackage{graphicx}
\usepackage{setspace}
\usepackage{fancyhdr}
\usepackage{float}
\restylefloat{table}% überflüssig
\usepackage{lscape} % entweder
\usepackage{pdflscape}% oder
\usepackage{amsmath}
\usepackage{mathrsfs}
\usepackage{subfigure}% veraltet
\usepackage{epsfig} % völlig veraltet
\usepackage{hyperref}
\usepackage{longtable}
\usepackage{array}
\usepackage{dcolumn}
\usepackage{hhline}
\usepackage{multirow}
\usepackage{natbib}
\usepackage{booktabs}
\usepackage{graphicx} % schon oben geladen
\usepackage{graphics} % schon durch graphicx geladen
\usepackage{eurosym}

\sloppy % typografisch völlig widersinnig
\pagestyle{fancy}
\renewcommand{\headrulewidth}{\iftopfloat{0pt}{0.4 pt}}
% es funktioniert nicht, egal, ob ich iftopfloat, ifpagefloat oder ifbotfloat nehme
\begin{document}

\begin{table}[t]% sonst ist es kein [t]-float
...

siehe alles in Rot

Herbert

NicolasZiebarth
28-04-2008, 23:56
Ganz herzlichen Dank für deine Hilfe!

NicolasZiebarth
29-04-2008, 23:59
Ich habe noch eine Nachfrage: Wodurch legt Latex denn fest, ob eine Seite eine float, eine topfloat oder bottomfloat Seite ist?

Ich habe nun folgenden Befehl verwendet

\renewcommand{\headrulewidth}{\iffloatpage{0pt}{0. 4pt}}

und möchte am Ende des gesamten Artikels alle Tabellen und Abbildungen hintereinander einfügen. Das klappt auch recht gut, allerdings erstellt Latex auf einigen Seiten die "decorative line" und auf anderen nicht und ich kann keine Systematik dahinter erkennen.

Ich habe sowohl einfache Tabellen der Form:



\newpage
\begin{table}
\caption{blabla}
\begin{center}
\begin{tabular}{l l l l l }


als auch longtables im Querformat:


\begin{landscape}
\begin{table}[t]
\begin{center}
\begin{longtable}{llllllll}


und die Abbildungen:



\begin{figure}[H] % mit here package
\caption{blabla}
\fbox{
\includegraphics[width=12cm]{inteff97_98fig1VII}}
\end{figure}


Ganz vielen Dank schon einmal im Voraus!

NicolasZiebarth
30-04-2008, 00:25
P.S. Wenn ich statt iffloatpage iftopfloat nehme, ändert sich gar nichts; wenn ich aber z.B. statt \begin{table}[t] \begin{table}[ht] angebe, erscheint die "decorative line" wieder.

voss
30-04-2008, 09:18
Ich habe noch eine Nachfrage: Wodurch legt Latex denn fest, ob eine Seite eine float, eine topfloat oder bottomfloat Seite ist?

Ich habe nun folgenden Befehl verwendet

\renewcommand{\headrulewidth}{\iffloatpage{0pt}{0. 4pt}}

und möchte am Ende des gesamten Artikels alle Tabellen und Abbildungen hintereinander einfügen. Das klappt auch recht gut, allerdings erstellt Latex auf einigen Seiten die "decorative line" und auf anderen nicht und ich kann keine Systematik dahinter erkennen.


Vielleicht sagst du erst einmal, was du mit der Linie überhaupt erreichen willst?
Soll sie auf den float-Seiten nicht sein oder nur nicht dann, wenn ein float oben
ist oder was?

Herbert

NicolasZiebarth
30-04-2008, 23:14
Also entweder würde ich gerne

a.) auf allen Seiten auf denen ausschließlich eine Tabelle oder Abbildung ist
KEINE Linie haben

oder, noch besser,

b.) nur auf Seiten mit Tabellen im Querformat keine Linie haben, weil ich finde, dass das blöd aussieht.

Oben der float oben ist oder woanders (wobei ich eben die Unterscheidung nicht ganz verstehe) ist mir egal; es geht eigentlich nur darum, dass die Seiten außer Tabellen oder Abbildung nichts enthalten und dann auch keine Linie haben sollen.

Beste Grüße und vielen Dank!

Nicolas

voss
30-04-2008, 23:24
Also entweder würde ich gerne

a.) auf allen Seiten auf denen ausschließlich eine Tabelle oder Abbildung ist
KEINE Linie haben

oder, noch besser,

b.) nur auf Seiten mit Tabellen im Querformat keine Linie haben, weil ich finde, dass das blöd aussieht.

Oben der float oben ist oder woanders (wobei ich eben die Unterscheidung nicht ganz verstehe) ist mir egal; es geht eigentlich nur darum, dass die Seiten außer Tabellen oder Abbildung nichts enthalten und dann auch keine Linie haben sollen.


du sagtest doch, dass alle Tabellen und Bilder ans Ende sollen, dann machst du
doch einfach \pagestyle{empty} an geeigneter Stelle und schon hast du keine Linie.

Herbert

NicolasZiebarth
01-05-2008, 21:02
Vielen Dank für den Tip! Ich hatte es vorher schon mit \thispagestyle{empty} versucht, aber diesselben Probleme wie mit iffloatpage gehabt, da der Befehl auf einigen Seiten nicht funktioniert hat (ich weiß immer noch nicht, an welche Stelle ich diesen Befehl auf einer Seite mit Tabelle idealerweise plaziere: vor \begin{table} oder danach?).

Mit \pagestyle{empty} war es zunächst auch so, dass nicht der gesamte Rest des Dokuments "empty" war (so wie es doch eigentlich sein sollte), sondern einige nachfolgende Seiten den übliche fancy-style hatten.

Nun habe ich aus einer Kombination von \pagestyle{empty/fancy} und \thispagestyle{empty/fancy} mein Wunschergebnis, nämlich nur auf Seiten im Querformat mit Tabelle keinerlei Kopf- und Fußzeile. Ist wahrscheinlich nicht sehr professional, aber ich bin nun glücklich damit.

Vielen Dank also nochmal für deine Hilfe!

Nicolas