Sie sind hier

Kapitelnummer in Kopfzeile ändern

Hi,

ich möchte mit LaTex ein größeres Dokument schreiben, und bin bisher in LaTex noch sehr unerfahren. Das Dokument wird einseitig und für die Kopfzeile verwende ich scrheadings. Ich habe alles so konfiguriert, dass in der Kopfzeile die subsections stehen. Wenn nun aber die section beginnt, und ich einleitende Worte schreibe, so dass die subsection erst auf der nächsten Seite beginnt, steht in der Kopfzeile z.B. "3.2.0 blablabla". Ich möchte aber, dass dort dann nur "3.2 blablabla" steht. Gibt es die Möglichkit, das man irgendwo anweist, dass wenn subsection nicht verfügbar ist section genommen werden soll?
Ich hoffe, dass mir jemend behilflich sein kann,

Ciao
Blaubart

Bild von Markus Kohm

Eigentlich könnte man das schon machen, aber genau genommen, sollte nie automatisch 3.2.0 nummeriert werden. Also vermute ich ein größeres Problem, zu dem mir aber die Informationen fehlen.

Was könnte da falsch gelaufen sein? Wie kann ich den Fehler beheben?

Bild von Markus Kohm

Ohne Infos kann ich dazu nichts sagen. Also mach mal ein vollständiges Minimalbeispiel nach Anleitung und erkläre dazu genau, was, wie anders sein soll.

Hallo,

ich hoffe ich habe mein Beispiel weit genug minimalisiert. Kurz zur Beschreibung des Fehlers:
1. Wenn ich, wie im Beispiel auf Seite 2, eine neue Section (1.2) aufmache, aber noch keine Subsection (1.2.1), wird der Titel der vorherigen Subsection (1.1.1) genommen, und die Nummer z.B. 1.2.0 vorangestellt.
2. Wenn ich, wie im Beispiel auf Seite 3, auf einer Seite zwei Subsections habe, dann wird der Titel der ersten Subsection (1.2.1) und die Nummer der zweiten Subsection (1.2.2) verwendet.

Hier das Minimalbeispiel dazu:

\documentclass[12pt,oneside,a4paper]{scrreprt}
%============================================
% Pakete, die notwendig sind
%============================================
\pagenumbering{arabic}
\usepackage[ngerman]{babel} % deutsche Umlaute
\usepackage[applemac]{inputenc} % deutsche Sonderzeichen
\usepackage{scrpage2} %KOMA-Skript
\pagestyle{headings}
\pagestyle{scrheadings}
\clearscrheadfoot %alle Standard-Werte und Formatierungen raus
\setcapindent{0mm} % keine Einr¸ckung bei \caption
\setheadsepline{.4pt} % Trennlinie zw. Kopf und Text
\automark{chapter} %Gliederungstiefe im Head
\ihead{\headmark} %Titel links
\ohead{\pagemark} %Seitenzahlen rechts
\cfoot{}
\chead{}
\usepackage{setspace} % Festlegen Zeilenabstand
%
\renewcommand{\familydefault}{\sfdefault} % Arial/Helvetica für das ganze Dokument
\renewcommand{\rmdefault}{phv} % phv ist Adobe Font, daher keine Probleme bei Betrachtung
\renewcommand{\sfdefault}{phv}
\renewcommand{\ttdefault}{phv}
%
% ============================================================================
% Definitonen der beschreibenen Blattgroesse...
% ============================================================================
%
\pagestyle{plain}
\textheight240mm
\textwidth160mm
\evensidemargin2mm
\oddsidemargin2mm
\topmargin-10mm
\topskip1mm
\footskip15mm
\setlength{\parindent}{0.0mm}
%
% ============================================================================
\renewcommand{\MakeUppercase}[1]{#1} % Kopfzeilen nicht in gross!!
%
%==========================
% Beginn des Dokuments
%==========================
\begin{document}
% ============================================================================
% Hier geht die eigentliche Arbeit los...
% ============================================================================
%
\onehalfspacing % 1,5 facher Zeilenabstand
%
\newpage % neue Seite beginnen
%
\automark{subsection}
\pagestyle{scrheadings}
%
%
%
% Hier beginnt der eigentlich individuelle Teil!
%==============================================
%
% Kapitelbezeichnung
%
\chapter{Chapter 1}
%
\section{Section 1}
\subsection{Subsection 1}
Das Erstellen eines Minimalbeispiels ist eine Methode zur Fehlererkennung und -behebung, sowie zum Bestimmen der Ursache eines bestimmten Verhaltens. Minimalbeispiele müssen möglichst klein und lauffähig sein, d.h. sie besitzen den Grundaufbau eines (La)TeX-Dokuments und sind ohne Ergänzen von Elementen ausführbar.
Das Minimalbeispiel muss vollständig und lauffähig sein, damit
der Fragende nicht aus Unkenntnis, Informationen, die für die Diagnose wichtig sind, weglassen kann,
der Antwortende das Beispiel einfach per Kopieren Einfügen übertragen und ausprobieren kann.
Das Minimalbeispiel muss klein sein,
damit der Antwortende sich nicht durch lange, unwichtige Codezeilen quälen muss,
weil dadurch die möglichen Fehlerquellen eingegrenzt werden,
weil man kurze Beispiele gut posten kann,
weil sich viele Probleme, wie fehlende Klammern, falsche Syntax, vergessene Schriftumschaltbefehle usw., während der Minimierung von selbst erledigen,
weil man bei kleinen Dokumenten nicht so schnell den Überblick verliert.
Selbst Anfänger sollten mit dem Erstellen keine Probleme habe, da hierfür nur ein wenig Geduld und gesunder Menschenverstand nötig sind. Meistens findet man das Problem selbst und spart sich die Frage in de.comp.text.tex schlichtweg. Nach dieser kurzen Erläuterung kommt dann eine Auflistung der Werkzeuge, gefolgt von einigen Beispielen. Dabei werden verschiedene Problemquellen (fehlerhafte Paketoptionen, Paketkombinationen, Syntaxfehler etc.) separat behandelt. Bei komplexeren Fällen sind natürlich alle Schritte gleichzeitig auf das Dokument anzuwenden.
2 Die Werkzeuge
Um ein Minimalbeispiel zu erstellen, gilt vor allem ein Prinzip: Teilen und (und besser be-)herrschen. Teilen kann man auf verschiedene Arten, auch abhängig von der Struktur des Dokuments. Zuerst sollte auch der Befehl in das Dokument aufgenommen werden, damit alle verwendeten Dateien (Pakete, Klassen etc.) inkl. Versionsnummer in der Log-Datei auftauchen. Diese Informationen können für die Antwortenden wichtig sein und sollten nicht fehlen.
Für das »richtige Leben« gilt immer: Backup anfertigen und dann an einer Kopie arbeiten, um nicht schon vorhandenes Material zu vernichten!
2.1 Verschieben des Endes
Eine Datei
Ist der gesamte Quelltext auf eine Datei konzentriert ist folgendes sinnvoll. Durch geschicktes Verschieben des Befehls in Richtung Beginn des Textes hilft, das Problem grob einzukreisen. Dabei bewegen wir uns blockweise nach oben. Damit sind logische Blöcke gemeint, also Absätze, Umgebungen (gekennzeichnet durch) usw. Dabei bleibt der Originaltext erhalten, wir müssen nur immer eine einzige Zeile einfügen (jedesmal übersetzen lassen) und bekommen einen Anhaltspunkt, in welchem Block der Fehler liegt. Nun noch alles von bis zum Beginn des gefundenen Blocks löschen; tritt der Fehler dann immer noch auf, liegt das Problem genau dort.
%
\section{Section 2}
Das Erstellen eines Minimalbeispiels ist eine Methode zur Fehlererkennung und -behebung, sowie zum Bestimmen der Ursache eines bestimmten Verhaltens. Minimalbeispiele müssen möglichst klein und lauffähig sein, d.h. sie besitzen den Grundaufbau eines (La)TeX-Dokuments und sind ohne Ergänzen von Elementen ausführbar.
Das Minimalbeispiel muss vollständig und lauffähig sein, damit
der Fragende nicht aus Unkenntnis, Informationen, die für die Diagnose wichtig sind, weglassen kann,
der Antwortende das Beispiel einfach per Kopieren Einfügen übertragen und ausprobieren kann.
Das Minimalbeispiel muss klein sein,
damit der Antwortende sich nicht durch lange, unwichtige Codezeilen quälen muss,
weil dadurch die möglichen Fehlerquellen eingegrenzt werden,
weil man kurze Beispiele gut posten kann,
weil sich viele Probleme, wie fehlende Klammern, falsche Syntax, vergessene Schriftumschaltbefehle usw., während der Minimierung von selbst erledigen,
weil man bei kleinen Dokumenten nicht so schnell den Überblick verliert.
Selbst Anfänger sollten mit dem Erstellen keine Probleme habe, da hierfür nur ein wenig Geduld und gesunder Menschenverstand nötig sind. Meistens findet man das Problem selbst und spart sich die Frage in de.comp.text.tex schlichtweg. Nach dieser kurzen Erläuterung kommt dann eine Auflistung der Werkzeuge, gefolgt von einigen Beispielen. Dabei werden verschiedene Problemquellen (fehlerhafte Paketoptionen, Paketkombinationen, Syntaxfehler etc.) separat behandelt. Bei komplexeren Fällen sind natürlich alle Schritte gleichzeitig auf das Dokument anzuwenden.
2 Die Werkzeuge
Um ein Minimalbeispiel zu erstellen, gilt vor allem ein Prinzip: Teilen und (und besser be-)herrschen. Teilen kann man auf verschiedene Arten, auch abhängig von der Struktur des Dokuments. Zuerst sollte auch der Befehl in das Dokument aufgenommen werden, damit alle verwendeten Dateien (Pakete, Klassen etc.) inkl. Versionsnummer in der Log-Datei auftauchen. Diese Informationen können für die Antwortenden wichtig sein und sollten nicht fehlen.
Für das »richtige Leben« gilt immer: Backup anfertigen und dann an einer Kopie arbeiten, um nicht schon vorhandenes Material zu vernichten!
2.1 Verschieben des Endes
Eine Datei
Ist der gesamte Quelltext auf eine Datei konzentriert ist folgendes sinnvoll. Durch geschicktes Verschieben des Befehls in Richtung Beginn des Textes hilft, das Problem grob einzukreisen. Dabei bewegen wir uns blockweise nach oben. Damit sind logische Blöcke gemeint, also Absätze, Umgebungen (gekennzeichnet durch) usw. Dabei bleibt der Originaltext erhalten, wir müssen nur immer eine einzige Zeile einfügen (jedesmal übersetzen lassen) und bekommen einen Anhaltspunkt, in welchem Block der Fehler liegt. Nun noch alles von bis zum Beginn des gefundenen Blocks löschen; tritt der Fehler dann immer noch auf, liegt das Problem genau dort.%
\subsection{Subsection 2}
%
\subsection{Subsection 3}
%
\end{document}
% == EOF ====

Bild von Markus Kohm

Davon abgesehen, dass mir nicht klar ist, warum Du denkst, dass das ganze von der gewählten Schrift abhängt, dass Du \MakeUppercase (nicht nur aber auch für das Minimalbeisiel) umdefinieren musst, etc. ist mir ziemlich klar, wo das Problem liegt. Mir ist aber noch nicht klar, wie die falsche Nummer grundsätzlich zu korrigieren wäre. Mir ist aber klar, was Du vermutlich suchst, nämlich:

\renewcommand*{\chaptermark}[1]{\@mkboth{}{}}
\renewcommand*{\sectionmark}[1]{\@mkboth{}{}}

Hi,
verstehe ich deine Antwort richtig, dass du zwar weißt wie der Fehler zustande kommt, jedoch noch keine Idee hast wie ich ihn beheben kann? Ich arbeite erst seit etwa 4 Wochen mit LaTex und hab bisher kaum Erfahrung. Daher weiß ich nicht, was ich mit

\renewcommand*{\chaptermark}[1]{\@mkboth{}{}}
\renewcommand*{\sectionmark}[1]{\@mkboth{}{}}

anfangen soll. Könntest du mir dass etwas ausführlicher erklären?

Danke

Bild von Markus Kohm

Ich weiß noch nicht, wie ich den Fehler der falschen Nummer beheben soll. Ich weiß aber, wie Du erreichen kannst, was Du nach meiner Vermutung suchst. Du packst die von mir genannten Zeilen eingerahmt von \makeatletter und \makeatother hinter Deine \automark{subsection}-Anweisung. Näheres zu \makeatletter und \makeatother ist in der De-TeX-FAQ zu finden. Einen Link auf die De-TeX-FAQ gibt es in den Grundlageninfos.

Erst mal Danke für die bisherige Hilfe. Ich hab die folgenden Zeilen eingefügt:

\makeatletter
\renewcommand*{\chaptermark}[1]{\@mkboth{}{\thechapter\ #1}}
\renewcommand*{\sectionmark}[1]{\@mkboth{}{\thesection\ #1}}
\renewcommand*{\subsectionmark}[1]{\@mkboth{}{\thesubsection\ #1}}
\makeatother

Nun steht oben immer die richtige Nummer und der dazugehörige Titel. Also beide Probleme sind damit erschlagen.

Comments for "Kapitelnummer in Kopfzeile ändern" abonnieren