Anzeige:
Ergebnis 1 bis 9 von 9

Thema: Subsection-Angabe in Kopfzeile wird verschluckt

  1. #1
    Registrierter Benutzer
    Registriert seit
    03.03.2008
    Beiträge
    82

    Subsection-Angabe in Kopfzeile wird verschluckt

    Hallo,

    mit diesem Code (aus dem zweiten LaTeX-Buch von Manuela Jürgens) sollte auf den ungeraden Seiten die Subsection rechts in der Kopfzeile stehen und bei geraden Seiten die Section:

    Code:
    \documentclass[twoside]{scrartcl}
    
    \pagestyle{myheadings}
    \renewcommand{\sectionmark}[1]{\markboth{Kapitel \thesection : #1}{}}
    \renewcommand{\subsectionmark}[1]{\markright{Unterkapitel \thesubsection}}
    
    \begin{document}
    \section{Abschnitt 1}
    \subsection{Unterabschnitt 1.1}
    \clearpage
    \section{Abschnitt 2}
    \subsection{Unterabschnitt 2.1}
    \clearpage
    \section{Abschnitt 3}
    \subsection{Unterabschnitt 3.1}
    \end{document}
    Wie man auf Seite 1 und 3 sieht, klappt das aber nicht. Wenn ich
    Code:
    \section{Abschnitt 3}
    auskommentiere, funktioniert es.

    Sprich, das \subsectionmark wird offensichtlich nicht nach \sectionmark ausgeführt. Ist das korrekt oder mache ich einen Fehler? Wie kriege ich denn ohne zusätzliches Paket das Unterkapitel an die Stelle, wenn ich auf der gleichen Seite ein \section habe? (Eine Lösung mit fancyhdr kenne ich bereits, mir geht's ums Verständnis.)

    Wenn das nicht geht, wäre ich an einer Erklärung zu diesem (in meinen Augen) Bug interessiert.

    Gruß
    Dee

    Syytem: Ubuntu 8.04, TeX-Live 2007-13

  2. #2
    Registrierter Benutzer Avatar von Stefan_K
    Registriert seit
    05.04.2007
    Ort
    Hamburg
    Beiträge
    3.534

    subsection in Kopfzeile

    Hallo Dee,

    \subsectionmark wird ausgeführt, Du würdest es sehen können, wenn Du weitere Seiten enfügst. Doch es gilt noch nicht auf der Seite, wo \section{Abschnitt 3} aufgerufen würde. Ein workaround wäre der Aufruf von \markright{Unterabschnitt 3.1} direkt nach \clearpage oder im \section-Parameter (mit zusätzlichem optionalen Parameter). Für \subsectionmark wäre zu dem Zeitpunkt der subsection-counter zu niedrig.

    Viele Grüße,

    Stefan


    --
    TeXblog

  3. #3
    Registrierter Benutzer
    Registriert seit
    03.03.2008
    Beiträge
    82
    Danke für die Erklärung. Aber wieso wird bei \subsection{Unterabschnitt 3.1} nicht \subsectionmark aufgerufen? Oder wieso dominiert das vorherige \sectionmark?

    Gruß Dee

  4. #4
    Registrierter Benutzer Avatar von Stefan_K
    Registriert seit
    05.04.2007
    Ort
    Hamburg
    Beiträge
    3.534

    \subsectionmark

    Es wird ja aufgerufen, nur gilt es für die folgenden Seiten und nicht für die bereits begonnene.

    Stefan

  5. #5
    Registrierter Benutzer
    Registriert seit
    03.03.2008
    Beiträge
    82
    Und warum gilt es erst für die folgende Seite? Oder warum gilt es doch wieder für die aktuelle, wenn das \sectionmark nicht gerufen wird?

    Hab grad mal das getestet:

    Code:
    \sectionmark{Abschnitt 3}
    \subsectionmark{Unterabschnitt 3.1}
    Auch mit diesem Direktaufruf auf Seite 3 wird das \subsectionmark ignoriert. Das gleiche passiert bei

    Code:
    \markboth{Kapitel \thesection : Abschnitt 3}{}
    \markright{Unterkapitel \thesubsection}
    Das heißt also seltsamerweise, dass \markright komplett ignoriert wird.

    Interessant wird, wenn man es andersrum schreibt:

    Code:
    \markright{Unterkapitel \thesubsection}
    \markboth{Kapitel \thesection : Abschnitt 3}{}
    Dann wird auch auf der Seite mit der \subsection die Kopfzeile korrekt angepasst.

    Für mich liest sich das fast so, als würde das Ändern der Kopfzeile von "unten" auf der Seite nach "oben" geparst. Kann das sein?

    Gruß Dee

  6. #6
    Registrierter Benutzer Avatar von bobmalaria
    Registriert seit
    28.11.2006
    Ort
    Düsseldorf
    Beiträge
    4.174
    hi,

    es wird einfach immer das hörere level dargestellt. auf einer seite auf der section und subsection beginnen ist, für mich logisch, der beginn der section wichtiger als der der subsection. deshalb wird ist sectionmark relevant. steht auf der folgeseite nur subsectiontext, wird eben die subsection ausgegeben. sollte auf seite zwei bereits eine neue section beginnen, dann sollte wieder die section in der kopfzeile erscheinen. eingroßes: oder?
    Mein Ball ist umgefallen

  7. #7
    Registrierter Benutzer
    Registriert seit
    03.03.2008
    Beiträge
    82
    Klingt logisch, aber auch nur, wenn \subsection auf \section folgt. Ist die Reihenfolge \subsection und auf der gleichen Seite eine \section klappt die Darstellung ja:

    Code:
    \subsection{Unterabschnitt 2.2}
    \section{Abschnitt 3}
    \subsection{Unterabschnitt 3.1}
    Sprich das \sectionmark, obwohl nach Deiner Aussage wichtiger, überschreibt mit \markboth _nicht_ das zuvor gesetzte \markright der \subsection{Unterabschnitt 2.2}, oder? Da wäre die Frage, wieso nicht, wenn Du mit Deiner Aussage recht hast (was ich nicht anzweifeln will, es passt nur noch nicht ganz zusammen).

    Gruß Dee

  8. #8
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    \markboth und \markright setzen beide eine Marke, die aus zwei Abteilen besteht. Dabei füllt \markboth beide Abteile ("both"=beide) neu, \markright füllt nur das rechte "Abteil" neu und übernimmt das linke Abteil von der vorherigen Marke.


    Im Kopf werden dann \leftmark oder \rightmark benutzt. Dabei fügt \leftmark, den Wert im linken Abteil der letzte Marke auf der Seite, \rightmark das rechte Abteil der ersten Marke. Wenn du auf einer Seite \sectionmark und dann \subsectionmark benutzt, dann befindet sich die subsection-Info im rechten Abteil der letzten Marke, wird also weder von \leftmark noch von \rightmark benutzt. Du kannst aber das Paket extramarks benutzen, um auch diesen Teil der Marke zu nutzen.

    Überleg dir aber gut, ob du wirklich section + subsection im Kopf haben willst. da kann es leicht zu verwirrenden Reihenfolgen kommen (chapter + section funktionieren gut, weil chapter immer eine neue Seite beginnt).

  9. #9
    Registrierter Benutzer
    Registriert seit
    03.03.2008
    Beiträge
    82
    Vielen Dank für die Erklärung. Ich glaube, ich habe es verstanden und kann es hoffentlich so weitergeben.

    Viele Grüße
    Dee

Lesezeichen

Berechtigungen

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