Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Probleme mit fancyhdr

  1. #1
    Registrierter Benutzer Avatar von Raute50
    Registriert seit
    08.01.2005
    Ort
    GÖttingen
    Beiträge
    39

    Probleme mit fancyhdr

    Hi Ho,

    ich arbeite gerade an meiner Diplomarbeit und versuche mit fancyhdr ein ansprechendes Layout zu generieren.

    Mein Ziel ist es auf geraden Seiten links oben den Namen der section und rechts oben den Namen der subsection lesen zu koennen und auf ungeraden Seiten links oben den Namen der chapter.
    Desweiteren soll den Seitenzahlen unten auftauchen, jeweils auf geraden Seiten rechts und auf ungeraden Seiten links.
    Der Rest sollte frei bleiben.
    Nur leider waren meine Experimente erfoglos ... Desweiteren konnte ich online keine Loesung dazu finden. Bei der Recherche in dem Dokument "Page layout in LaTeX" habe ich folgendes gefunden:
    Code:
    \usepackage{fancyhdr}
    \pagestyle{fancyplain}
    % E Even page
    % O Odd page
    
    % L Left field
    % C Center field
    % R Right field
    
    % H Header
    % F Footer
    \fancyhead{} % clear all header fields
    % % \fancyhead{LE}{\thesubsection}
    % \fancyhead{RE}{\thesection\ #1}}
    \fancyfoot{} % clear all footer fields
    \fancyfoot[LE,RO]{\thepage}
    \fancyfoot[LO,CE]{From: K. Grant}
    \fancyfoot[CO,RE]{To: Dean A. Smith}

    Edit: Ich weis nicht, ob das hier wichtig ist, aber der Vollstaendigkeit halber hier meine Dokumentenklasse:
    Code:
    \documentclass[german,
    leqno,
    centertags,
    letterpaper,
    12pt,
    twoside,
    openright,
    onecolumn]
    {book}
    Dieses konnte ich leider nicht zu dem Ergebnis modifizieren, welches mir vorschwebt.

    Ich hoffe hier etwas Hilfe zu bekommen !!!



    In diesem Sinne ...

    #50
    Geändert von Raute50 (09-02-2008 um 15:46 Uhr) Grund: Zum besseren Verstaendnis

  2. #2
    Registrierter Benutzer Avatar von localghost
    Registriert seit
    01.11.2006
    Ort
    Braunschweig
    Beiträge
    3.413

    Arrow Grundgerüst

    Als Anregung hier mal eine ausbaufähige Basis. Fehlende Optionen in der Dokumentklasse sind bei book voreingestellt.
    Code:
    \documentclass[
    12pt,
    letterpaper,
    leqno
    ]
    {book}
    \usepackage[T1]{fontenc}
    \usepackage[latin1]{inputenc}
    \usepackage[ngerman]{babel}
    \usepackage[centering]{geometry}
    \usepackage{blindtext,fancyhdr}
    
    % Festlegung des Seitenstils (fancyhdr)
    \pagestyle{fancy}
    \fancyhf{}
    \fancyfoot[LO,RE]{\thepage}
    %\fancyfoot[LE]{\bfseries Titel}
    %\fancyfoot[RO]{\scshape Institut}
    \fancyhead[LE]{\sffamily\nouppercase{\rightmark}}
    \fancyhead[RO]{\sffamily\nouppercase{\leftmark}}
    \renewcommand{\headrulewidth}{0.5pt}
    \renewcommand{\footrulewidth}{0.5pt}
    \addtolength{\headheight}{2pt}
    %\addtolength{\footheight}{2pt}
    
    \begin{document}
      \Blinddocument
    \end{document}
    Einige Dinge machen mich allerdings nachdenklich.
    1. Du schreibst auf letterpaper. (Absicht oder Versehen? *grübel*)
    2. Die Seitenzahlen stehen immer innen. (Man könnte sie beim Durchblättern nicht sehen.)
    3. Der Platz in der Kopfzeile würde für Abschnitt und Unterabschnitt kaum ausreichen. (Zwei Zeilen sind nicht ratsam). Zur Realisierung fällt mir auch gerade nichts ein.

    geometry ist bei mir nötig, um auch wirklich ein PDF-Dokument im Format letterpaper zu erzeugen. blindtext ist nur dazu gedacht, um längere Textpassagen (oder wie hier gleich ein ganzes Dokument) zu erzeugen.


    MfG
    Thorsten
    TeX und LaTeX, Fragen und Antworten – TeXwelt

    ¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
    ² System: openSUSE 13.1 (Linux 3.11.10), TeX Live 2013, TeXworks 0.5 (r1351)

  3. #3
    Registrierter Benutzer Avatar von Raute50
    Registriert seit
    08.01.2005
    Ort
    GÖttingen
    Beiträge
    39
    Zitat Zitat von localghost Beitrag anzeigen
    Einige Dinge machen mich allerdings nachdenklich.
    1. Du schreibst auf letterpaper. (Absicht oder Versehen? *grübel*)
    2. Die Seitenzahlen stehen immer innen. (Man könnte sie beim Durchblättern nicht sehen.)
    3. Der Platz in der Kopfzeile würde für Abschnitt und Unterabschnitt kaum ausreichen. (Zwei Zeilen sind nicht ratsam). Zur Realisierung fällt mir auch gerade nichts ein.

    geometry ist bei mir nötig, um auch wirklich ein PDF-Dokument im Format letterpaper zu erzeugen. blindtext ist nur dazu gedacht, um längere Textpassagen (oder wie hier gleich ein ganzes Dokument) zu erzeugen.


    MfG
    Thorsten
    Ok ... eine Sache kann ich erklaeren .. ich habe mich vertan ...
    Zitat Zitat von Raute50 Beitrag anzeigen
    Mein Ziel ist es auf geraden Seiten links oben den Namen der section und rechts oben den Namen der subsection lesen zu koennen und auf ungeraden Seiten links oben den Namen der chapter.
    Desweiteren soll den Seitenzahlen unten auftauchen, jeweils auf geraden Seiten LINKS und auf ungeraden Seiten RECHTS.
    Der Rest sollte frei bleiben.
    In diesem Sinne ...

    #50
    SO wuerde ich es gern haben ... also die Seitenzahlen aussen ....

    Das mit dem letterpaper ist so direkt keine Absicht. Habe vor langer Zeit mal ein Dokument bekommen, an dem ich mich seit dem orientiere und das beinhaltete die Option letterpaper. Dort sollte bestimmt DINA4 stehen ...

    Habe auch schon darueber nachgedacht, dass das dann mit dem Platz eng werden koennte ... aber ich habe generell versucht kurze Namen fuer die Kopfzeile zu waehlen, so dass zwei Informationen fuer Abschnitt und Unterabschnitt passen sollten ...
    Notfalls kann ich das dann wieder aendern ... nur das hinzubekommen habe ich bislang noch nicht geschafft!

    Edit : Blindtext kann ich nicht nutzen ...
    Fehlermeldung: ! LaTeX Error: File `blindtext.sty' not found.


    Edit: So ganz komme ich damit nicht voran. In Deinem Beispiel ist nur der Chapter-Name und der Section-Name zu lesen. Desweiteren ist der Strich am Ende stoeren. Ok .. diesen konnte ich durch das Auskommentieren der % \renewcommand{\headrulewidth}{0.5pt} % \renewcommand{\footrulewidth}{0.5pt} Zeilen beheben .. aber leider ist mein Problem dadurch nicht geloest ...

    In diesem Sinne ..

    #50
    Geändert von Raute50 (09-02-2008 um 18:12 Uhr)

  4. #4
    Registrierter Benutzer Avatar von localghost
    Registriert seit
    01.11.2006
    Ort
    Braunschweig
    Beiträge
    3.413

    Arrow Änderungen

    Zitat Zitat von Raute50 Beitrag anzeigen
    Ok ... eine Sache kann ich erklaeren .. ich habe mich vertan […] SO wuerde ich es gern haben ... also die Seitenzahlen aussen […]
    Dazu einfach etwas vertauschen.
    Code:
    \fancyfoot[LE,RO]{\thepage}
    Genauer steht das alles in der Anleitung zu fancyhdr.
    Zitat Zitat von Raute50 Beitrag anzeigen
    […] Dort sollte bestimmt DINA4 stehen […]
    Na, ja. Zumindest steht dann da etwas ähnliches.
    Code:
    \documentclass[
    12pt,                     % Schriftgröße
    a4paper,                  % Papierformat
    leqno                     % Nummerierung von Formeln links
    ]
    {book}
    Vielleicht schaust Du dir auch mal die Klasse scrbook aus dem KOMA-Script-Bündel an. Die erleichtert so einiges.
    Zitat Zitat von Raute50 Beitrag anzeigen
    […] Habe auch schon darueber nachgedacht, dass das dann mit dem Platz eng werden koennte ... aber ich habe generell versucht kurze Namen fuer die Kopfzeile zu waehlen, so dass zwei Informationen fuer Abschnitt und Unterabschnitt passen sollten ... nur das hinzubekommen habe ich bislang noch nicht geschafft! […]
    Ich bisher auch nicht. Da müsste mal jemand anders ran.

    Zitat Zitat von Raute50 Beitrag anzeigen
    […] Edit : Blindtext kann ich nicht nutzen ...
    Fehlermeldung: ! LaTeX Error: File `blindtext.sty' not found. […]
    Dann musst Du es installieren.
    Geändert von localghost (09-02-2008 um 18:30 Uhr) Grund: Ergänzung.
    TeX und LaTeX, Fragen und Antworten – TeXwelt

    ¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
    ² System: openSUSE 13.1 (Linux 3.11.10), TeX Live 2013, TeXworks 0.5 (r1351)

  5. #5
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.859
    Moin moin,
    Zitat Zitat von Raute50 Beitrag anzeigen
    Mein Ziel ist es auf geraden Seiten links oben den Namen der section und rechts oben den Namen der subsection lesen zu koennen und auf ungeraden Seiten links oben den Namen der chapter.
    afaik sind drei Gliederungsebenen auch nicht vorgesehen -- der Name \markboth deutet schon darauf hin ... versuch es etwa so:
    Code:
    \documentclass[
    12pt,
    a4paper,
    leqno
    ]
    {book}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage[ngerman]{babel}
    \usepackage{blindtext,fancyhdr}
    \newcommand\mysecmark{}
    \newcommand\thesecnumdepth{\arabic{secnumdepth}}
    \AtBeginDocument{%
      \renewcommand\sectionmark[1]{%
        \renewcommand\mysecmark{%
          \ifnum\thesecnumdepth > 0 \thesection\ \fi#1}%
        \markright{\mysecmark\hfill~}%
      }
      \renewcommand\subsectionmark[1]{%
        \markright{\mysecmark\hfill%
          \ifnum\thesecnumdepth > 1 \thesubsection\ \fi#1}%
      }
    }
    % Festlegung des Seitenstils (fancyhdr)
    \pagestyle{fancy}
    \fancyhf{}
    \fancyfoot[LE,RO]{\thepage}
    \fancyhead[CE]{\sffamily\nouppercase{\rightmark}}
    \fancyhead[LO]{\sffamily\nouppercase{\leftmark}}
    \addtolength{\headheight}{5pt}
    
    \begin{document}
    \chapter{Kap}
    \section{Abschnitt}
    \blindtext[12]
    \subsection{U-Abschnitt}
    \blindtext[24]
    \end{document}
    Komm jetzt aber nicht auf die Idee, irgendwo nach einer \section so etwas wie \chapter{foo} \subsection{bar} zu wollen; in dem Fall darfst Du Dich selbst darum kümmern, \mysecmark entsprechend zu löschen.

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  6. #6
    Registrierter Benutzer Avatar von Raute50
    Registriert seit
    08.01.2005
    Ort
    GÖttingen
    Beiträge
    39
    Hi Ho ...

    zunächst ein Mal: VIELEN DANK für Deine Hilfe!
    Deine Lösung ist beinah perfekt. Zum Einen musste ich die Seiten nur austauschen und zum anderen habe ich folgendes Problem:
    Beginnt zum Beispiel auf Seite 34 eine neue SECTION in einem neuen CHAPTER so steht dieses oben an der korrekten Stelle. Aber wenn auf der selben Seite eine SUBSECTION beginnt, so wird die oben das erste Mal 2 Seiten später erwähnt und nicht schon auf der besagten Seite 34.



    Code:
    \fancyhead[CO]{\sffamily\nouppercase{\rightmark}}
    \fancyhead[LE]{\sffamily\nouppercase{\leftmark}}



    Ausserdem verstehe ich Deinen folgenden Kommentar nicht ganz:
    Komm jetzt aber nicht auf die Idee, irgendwo nach einer \section so etwas wie \chapter{foo} \subsection{bar} zu wollen; in dem Fall darfst Du Dich selbst darum kümmern, \mysecmark entsprechend zu löschen.
    Bekomme ich das von Dir angedeutete Problem vielleicht einfach nicht, wenn ich immer die Hierarchie Chapter->Section->Subsection befolge und nie in einem neuen Chapter zuerst eine Subsection beginne, bevor ich eine Section begonnen habe ... Denn das mache ich ... und bislang konnte ich kein richtiges Problem feststellen.


    Das obige ist nicht sooooo schlimm, so dass ich bei der Version bleibe, sollte ich nichts zum Lösen finden ...


    Noch mal vielen Dank und einen schönen Abend !!!



    In diesem Sinne ..

    #50

  7. #7
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.859
    Moin moin,
    Zitat Zitat von Raute50 Beitrag anzeigen
    Beginnt zum Beispiel auf Seite 34 eine neue SECTION in einem neuen CHAPTER so steht dieses oben an der korrekten Stelle. Aber wenn auf der selben Seite eine SUBSECTION beginnt, so wird die oben das erste Mal 2 Seiten später erwähnt und nicht schon auf der besagten Seite 34.



    Code:
    \fancyhead[CO]{\sffamily\nouppercase{\rightmark}}
    \fancyhead[LE]{\sffamily\nouppercase{\leftmark}}
    ich behaupte einfach mal: auf Seite 34 kannst Du so gar keinen Abschnitt in der Kopfzeile bekommen, da sollte vielmehr das Kapitel auftauchen; wenn \section und \subsection auf Seite 34 starten, sollten auch beide in der Kopfzeile ab Seite 35 zu sehen sein...
    Erstelle also bitte ein Minimalbeispiel, das den von Dir beschriebenen Fehler reproduziert.
    Zitat Zitat von Raute50 Beitrag anzeigen
    Bekomme ich das von Dir angedeutete Problem vielleicht einfach nicht, wenn ich immer die Hierarchie Chapter->Section->Subsection befolge und nie in einem neuen Chapter zuerst eine Subsection beginne, bevor ich eine Section begonnen habe ... Denn das mache ich ... und bislang konnte ich kein richtiges Problem feststellen.
    Solange Du die Hierarchie einhältst ist das auch OK; damit wollte ich lediglich darauf hinweisen, daß besagter \mysecmark andernfalls ungewollte Ergebnisse produzieren könnte -- genauer: wohlmöglich den letzten Abschnitt des vorherigen Kapitels mit nun auch noch falscher Nummer ausgeben. ;-)

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  8. #8
    Registrierter Benutzer Avatar von Raute50
    Registriert seit
    08.01.2005
    Ort
    GÖttingen
    Beiträge
    39
    Hi Ho ...

    ja ja ... habe mich wieder in den Seiten vertan ... keine Ahnung, warum mir das immer passiert ?!

    Hier nun das hoffentlich hilfreiche Minimalbeispiel :
    Code:
    \documentclass[
    12pt,
    a4paper,
    leqno
    ]
    {book}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage[ngerman]{babel}
    \usepackage{fancyhdr}
    \newcommand\mysecmark{}
    \newcommand\thesecnumdepth{\arabic{secnumdepth}}
    \AtBeginDocument{%
      \renewcommand\sectionmark[1]{%
        \renewcommand\mysecmark{%
          \ifnum\thesecnumdepth > 0 \thesection\ \fi#1}%
        \markright{\mysecmark\hfill~}%
    }
      \renewcommand\subsectionmark[1]{%
        \markright{\mysecmark\hfill%
          \ifnum\thesecnumdepth > 1 \thesubsection\ \fi#1}%
    }
    }
    % Festlegung des Seitenstils (fancyhdr)
    \pagestyle{fancy}
    \fancyhf{}
    \fancyfoot[LE,RO]{\thepage}
    \fancyhead[CO]{\sffamily\nouppercase{\rightmark}}
    \fancyhead[LE]{\sffamily\nouppercase{\leftmark}}
    \addtolength{\headheight}{5pt}
    
    \begin{document}
    
    \chapter{Minimalbeispiel}
    \newpage
    Moin moin,
    Zitat:
    Zitat von Raute50 Beitrag anzeigen
    Beginnt zum Beispiel auf Seite 34 eine neue SECTION in einem neuen CHAPTER so steht dieses oben an der korrekten Stelle. Aber wenn auf der selben Seite eine SUBSECTION beginnt, so wird die oben das erste Mal 2 Seiten spaeter erwaehnt und nicht schon auf der besagten Seite 34.
    
    Code:
    \begin{verbatim}
    \fancyhead[CO]{\sffamily\nouppercase{\rightmark}}
    \fancyhead[LE]{\sffamily\nouppercase{\leftmark}}
    \end{verbatim}
    
    ich behaupte einfach mal: auf Seite 34 kannst Du so gar keinen Abschnitt in der Kopfzeile bekommen, da sollte vielmehr das Kapitel auftauchen; wenn \begin{verbatim}\section\end{verbatim} und \begin{verbatim}\subsection\end{verbatim} auf Seite 34 starten, sollten auch beide in der Kopfzeile ab Seite 35 zu sehen sein...
    Erstelle also bitte ein Minimalbeispiel, das den von Dir beschriebenen Fehler reproduziert.
    Zitat:
    Zitat von Raute50 Beitrag anzeigen
    Bekomme ich das von Dir angedeutete Problem vielleicht einfach nicht, wenn ich immer die Hierarchie Chapter->Section->Subsection befolge und nie in einem neuen Chapter zuerst eine Subsection beginne, bevor ich eine Section begonnen habe ... Denn das mache ich ... und bislang konnte ich kein richtiges Problem feststellen.
    Solange Du die Hierarchie einhaeltst ist das auch OK; damit wollte ich lediglich darauf hinweisen, da{\ss} besagter \begin{verbatim}\mysecmark\end{verbatim} andernfalls ungewollte Ergebnisse produzieren koennte -- genauer: wohlmoeglich den letzten Abschnitt des vorherigen Kapitels mit nun auch noch falscher Nummer ausgeben. ;-)
    
    MfG
    
    \newpage
    \section{new section}
    Hier beginnt eine neue \textit{section} ...
    
    und es folgt Text und so ....
    
    \subsection{new subsection}
    
    In der obersten Zeile ist davon noch nichts zu sehen ....
    
    Es wird lediglich die \textit{new section} aufgefuehrt!
    
    \newpage
    Oben sollte wieder das Kapitel stehen 
    
    \newpage
    und nun sind beide Namen zu lesen ...
    
    Perfekt waere alles, wenn ich schon 2 Seiten eher sowohl \textit{new section} als auch \textit{new subsection} lesen koennte ...
    
    \end{document}
    Das jetzige Aussehen ist schon nah dran an meinem Wunsch. Wenn es sich nicht verbesseren laesst, bin ich schon ziemlich dankbar!
    Sollten aber die letzten Prozent dieser Aufgabe noch geloest werden koennen, waere ich total dankbar!

    In diesem Sinne ...

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •