PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kopfzeile des automat. Inhaltsverzeichnis nur auf letzter Seite verändert



akkordi
15-02-2014, 10:36
Hallo,

ich bin LaTex-Anfänger und schreibe meine Diplomarbeit damit. Nun kämpfe ich mit einem Formatierungsproblem: Alle meine Kopfzeilen werden in Kapitälchen rechts oben dargestellt, bei den Verzeichnissen habe ich versucht, diese manuell dort mit diesem Format unterzubringen. Leider funktioniert dies nur jeweils auf der letzten Seite des automatisch generierten Verzeichnisses.
Ich hoffe, ihr könnt mir weiterhelfen. Hier unten füge ich noch in MB ein (mit LyX gebaut), das extrem gekürzt ist. Es soll nur zeigen, welche Pakete ich verwende.


\documentclass[12pt,ngerman,liststotoc,bibtotoc,abstracton]{scrartcl}
\renewcommand{\sfdefault}{lmss}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage[a4paper]{geometry}
\geometry{verbose,tmargin=3cm,bmargin=3cm,lmargin= 4cm,rmargin=3cm}
\usepackage{fancyhdr}
\pagestyle{fancy}
\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{4}
\usepackage{color}
\usepackage{array}
\usepackage{float}
\usepackage{textcomp}
\usepackage{pdfpages}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{setspace}
\usepackage[authoryear]{natbib}
\usepackage{nomencl}
% the following is useful when we have the old nomencl.sty package
\providecommand{\printnomenclature}{\printglossary }
\providecommand{\makenomenclature}{\makeglossary}
\makenomenclature
\onehalfspacing

\makeatletter

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
\newcommand{\noun}[1]{\textsc{#1}}
%% Because html converters don't know tabularnewline
\providecommand{\tabularnewline}{\\}
%% A simple dot to overcome graphicx limitations
\newcommand{\lyxdot}{.}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\usepackage{ngerman}
\usepackage{fancyhdr}
\usepackage{amsmath}
\usepackage{caption}
\usepackage{color}
\usepackage{colortbl}
\usepackage[colorlinks,
pdfpagelabels,
pdfstartview = FitH,
bookmarksopen = true,
bookmarksnumbered = true,
linkcolor = black,
plainpages = false,
hypertexnames = false,
citecolor = black] {hyperref}
\usepackage[section]{placeins}

\captionsetup{font=small,labelfont=bf}

\numberwithin{equation}{section}

\pagestyle{fancy}
\headheight 14pt
\fancyhead[L]{}

\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}

\usepackage[hang]{footmisc}
\setlength{\footnotesep}{14pt}

\makeatother

\usepackage{babel}
\begin{document}
\noindent \thispagestyle{empty}




\setcounter{page}{1}
\pagenumbering{Roman} %Römische Seitenzahlen



\newpage{}

\markboth{\MakeUppercase{Abstract}}{}


\section*{Abstract}



Standardtext in Englisch

\newpage{}

\tableofcontents{}

\markboth{\MakeUppercase{INHALTSVERZEICHNIS}}{}



\newpage{}

\listoffigures


\markboth{\MakeUppercase{ABBILDUNGSVERZEICHNIS}}{}



\newpage{}

\listoftables


\markboth{\MakeUppercase{TABELLENVERZEICHNIS}}{}\n ewpage{}

\markboth{\MakeUppercase{SYMBOL- UND ABKÜRZUNGSVERZEICHNIS}}{}
\addcontentsline{toc}{section}{Symbol- und Abkürzungsverzeichnis}
\renewcommand{\nomname}{Symbol- und Abkürzungsverzeichnis}

\settowidth{\nomlabelwidth}{FeNATA}
\printnomenclature{}

\newpage{}

\pagenumbering{arabic}


\section{Einleitung und Problemstellung}


\end{document}


Vielen Dank für eure Hilfe!

Studi
15-02-2014, 11:12
\newpage braucht kein Argument, daher lasse {} dahinter weg. Besser wäre meist auch \clearpage, um ggf. aufgelaufene Abbildungen oder Tabellen auszugeben, bevor es "weitergeht".

Ansonsten: verwende \markboth vor dem Verzeichnis, nicht danach.

Studi

FelixT
15-02-2014, 11:19
Noch Tipps: schau mal Deine Präambel durch, Du lädst mehrere Pakete (color, fancyhdr, amsmath) doppelt.

Und lass das Paket ngerman weg, gib es besser als Option für babel an, das lädst Du ja schon, also passe die Zeile an: \usepackage[ngerman]{babel}.

Mit scrartcl würde ich übrigens scrpage2 verwenden statt fancyhdr, das ist kompatibler (auch KOMA-Script), scrpage2 ist auch im KOMA-Script-Handbuch dokumentiert (texdoc scrguide). Es gibt dafür auch einen Nachfolger (scrlayer-scrpage), doch k.A. ob das schon produktionsreif ist, ich habe das noch nicht verwendet.

Und GROSSBUCHSTABEN finde ich unmöglich. Das stammt vielleicht aus Schreibmaschinenzeiten. Heute hat man andere Möglichkeiten der Hervorhebung, wie Kapitälchen, Fettdruck, Kursiv, ... eine Kopfzeile sollte m.E. dezent hinter dem Text zurückstehen, nicht aufdringlich sein - man schaut sie ja nur an, wenn man suchend blättert, da würde ich keine SCHREIENDEN GROSSBUCHSTABEN nehmen. ;-)

Felix

akkordi
15-02-2014, 11:30
Vielen Dank für die schnellen Antworten, ich versuche alle Änderungstipps einzuarbeiten.

Der Tipp, den "\markboth"-Befehl vor die Erstellung des Inhaltsverzeichnisses zu stellen, lässt ihn völlig verblassen. Dadurch wird sogar die letzte Seite des Inhaltsverzeichnisses im normalen Style dargestellt. Als wie wenn ich den "\markboth"-Befehl gar nicht genannt hätte.

Gibts noch andere Lösungsvorschläge?

klops
17-02-2014, 08:08
Erklär doch bitte erst einmal, was Du genau mit fancyhdr erreichen willst. Wenn Du nämlich für die anderen Abschnitte keinen Kolumnentitel verwendest, dann ist es auch nicht sinnvoll für die Verzeichnisse einen zu verwenden. Wenn Du aber insgesamt automatische Kolumnentitel verwendest, dann am besten auch für die Verzeichnisse.

\MakeUppercase bringt auch nicht wirklich etwas, wenn Du dann selbst alles in VERSALIEN schreibst. Dann kannst Du \MakeUppercase auch gleich weglassen.

Wenn ich die ganzen \markboth für die Verzeichnisse weglasse und stattdessen gemäß KOMA-Script-Anleitung (http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf)
\let\MakeMarkcase\MakeUppercase verwende, dann haben die Verzeichnisse bereits Kolumnentitel in Versalsatz. Empfehlen würde ich das aber trotzdem nicht. AFAIR steht zu dem schlechten Versalsatz von \MakeUppercase auch eine Bemerkung in der KOMA-Script-Anleitung (http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf).

Im übrigen schließe ich mich dem Hinweis auf scrpage2 an und werfe noch ein scrlayer-scrpage dazu. Das ist seit KOMA-Script 3.12 wohl das Mittel der Wahl und dürfte mittel- bis langfristig scrpage2 ablösen.

Übrigens solltest Du auch mal auf Warnung von KOMA-Script achten. Du verwendest da einige Optionen, die mit Warnungen wie:
Class scrartcl Warning: You've used obsolete option `liststotoc'.
(scrartcl) Usage of this option indicates an old document and
(scrartcl) is deprecated.
(scrartcl) You should simply replace
(scrartcl) usage of option `liststotoc' by `listof=totoc'.
kommentiert werden. Neuere Versionen von KOMA-Script warnen auch vor der seit 20 Jahren überholten Verwendung von \sl. Dessen Verwendung wird übrigens von fancyhdr verbrochen, das sich offenbar darauf verlässt, dass alle Klassen diese veraltete Anweisung definieren, statt sauber auf die NFSS2-Anweisungen \slshape oder \textsl (ggf. zusammen mit der Kenel-Anweisung \normalfont) zu bauen …

Die ganzen \newpage lassen mich außerdem vermuten, dass Du mit scrreprt und \chapter besser bedient wärst als mit scrartcl und \section als oberste Ebene. Hier mal ein Beispiel mit scrreprt zum Vergleich. Den Versalsatz in den Kolumnentiteln habe ich ich mal drin gelassen, würde aber empfehlen, ihn abzuschalten. Da ich außerdem scrlayer-scrpage oder ersatzweise scrpage2 verwende, darf fancyhdr natürlich nicht mehr geladen werden:
\documentclass[headsepline,listof=totoc]{scrreprt}
\usepackage{blindtext}
\usepackage[english,ngerman]{babel}
\IfFileExists{scrlayer-scrpage}{%
\usepackage[markuppercase,automark]{scrlayer-scrpage}
}{%
\usepackage[markuppercase,automark]{scrpage2}
}
\clearscrheadfoot
\ohead{\headmark}
\ofoot{\pagemark}
\pagestyle{scrheadings}
\usepackage[intoc]{nomencl}
\renewcommand\nomname{Symbol- und Abkürzungsverzeichnis}% Leider hat nomencl
% keine orgendliche Multisprachunterstützung

\begin{document}
\selectlanguage{english}% Der Abstract und nur dieser soll Englisch werden
\chapter*{\abstractname}% Wenn das nichts ins Inhaltsverzeichnis soll, sonst
% mit \addchap und ohne \markboth
\markboth{\MakeMarkcase{\abstractname}}{}

\blindtext

\selectlanguage{ngerman}% Ab hier geht es Deutsch weiter
{\bfseries Zu Kapitelanffangsseiten, was auch die ersten Seiten der
Verzeichnisse betrifft siehe \verb|\chapterpagestyle| und das optionale
Argument von \verb|\ohead| in der \KOMAScript-Anleitung.}

\tableofcontents
\listoffigures
\listoftables


\cleardoublepage
\markboth{\MakeMarkcase{\nomname}}{\MakeMarkcase{\ nomname}}
\settowidth{\nomlabelwidth}{FeNATA}
\printnomenclature{}

\makeatletter
% Die folgenden Zeilen muss man nicht verstehen. Die produzieren
% lediglich eine Ladung Dummy-Kapitel mit Dummy-Abbildungen
% und Dummy-Tabellen für die Verzeichnisse.
% Die ganzen Einstellungen wurden natürklich bereits oben in
% der Dokumentpräambel vorgenommen.
\@whilenum \value{page}<100\do{%
\blinddocument
\begin{figure}
\centering
\rule{1cm}{1cm}
\caption{Minitestabbildung}
\end{figure}
\begin{table}
\centering
\captionabove{Testtabelle}
\begin{tabular}{llll}
Das & ist & eine & Testtabelle
\end{tabular}
\end{table}
}% Gleich eine Ladung Kapitel, Abbildungen und Tabellen
\makeatother

\end{document}

Wenn Du wirklich die römische Nummerierung des Vorderteils brauchst, solltest Du eventuell sogar scrbook verwenden und Dir \frontmatter in der KOMA-Script-Anleitung (http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf) anschauen. Ich würde es lassen, da das mal eine Erleichterung für den Setzer war, die LaTeX nicht benötigt.

akkordi
18-02-2014, 07:32
Hallo klops,

danke für Deine Antwort. Ich muss jedoch zugeben, vieles nicht verstanden zu haben, da ich ein totaler LyX-Amateur bin.
Die "optische" Aufbereitung ist meiner Meinung nach mittlerweile optimal, deswegen wollte ich nur noch den Fehler mit der Kopfzeile beheben.
Das alles weitere nicht gut codiert ist, weiß ich. Das werde ich in Zukunft ändern.

Weiß jemand trotzdem eine Lösung für das Kopfzeilenproblem? :eek:

klops
18-02-2014, 07:38
Inwiefern trotzdem? Löst der Code aus meinem vollständigen Minimalbeispiel das Problem denn nicht?
Was genau verstehst Du an der Lösung nicht, nachdem Du die verwendeten Anweisungen in der KOMA-Script-Anleitung (http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf) oder im KOMA-Script-Buch (http://www.dante.de/index/Literatur/KOMA-Script.html) nachgelesen hast?

akkordi
18-02-2014, 10:57
Ich komme ehrlich gesagt mit vielen Anweisungen nicht klar, die du verwendest. Diese einzeln zu nennen, würde den Rahmen sprengen.
Meine Frage ist eher, ob ich mit meinem vorhandenen Skript die Kopfzeilen wie oben gewünscht anpassen kann.
Für größer angelegte Änderungen fehlt mir höchstwahrscheinlich das Verständnis bzw. die Zeit.

klops
18-02-2014, 12:52
Ich komme ehrlich gesagt mit vielen Anweisungen nicht klar, die du verwendest.
Dann lies sie nach. Ich habe extra angegeben, wo Du sie findest!


eine Frage ist eher, ob ich mit meinem vorhandenen Skript die Kopfzeilen wie oben gewünscht anpassen kann.
Ja, natürlich. Die Schnelllösung dafür habe ich Dir im zweiten und dritten Absatz meiner ersten Antwort geliefert. Die bessere Lösung wäre, fancyhdr rauszuwerfen, meinen scrlayer-scrpage- bzw. scrpage2-Code zu verwenden, Option listof wie gezeigt zu verwenden und die Verzeichnisse wie angegeben einzubinden. Statt \chapter* ist natürlich bei scrartcl \section* zu verwenden.

Hast Du denn überhaupt irgendwas von dem, was ich Dir erklärt habe, ausprobiert? Ich vermute ja eher nicht …

u_fischer
18-02-2014, 13:17
Ich komme ehrlich gesagt mit vielen Anweisungen nicht klar, die du verwendest. Diese einzeln zu nennen, würde den Rahmen sprengen.
Meine Frage ist eher, ob ich mit meinem vorhandenen Skript die Kopfzeilen wie oben gewünscht anpassen kann.
Für größer angelegte Änderungen fehlt mir höchstwahrscheinlich das Verständnis bzw. die Zeit.


Du musst einfach \let\MakeMarkcase\MakeUppercase in die Präambel einfügen, \section*{Abstract} durch \addsec{Abstract} ersetzen, und die ganzen \markboth-Befehle rausschmeißen.

Füge bei nomencl die Option intoc hinzu:
\usepackage[intoc]{nomencl}

und ersetze den Kram bei \printnomenclature hiermit


\newpage
\renewcommand{\nomname}{Symbol- und Abkürzungsverzeichnis}
\markboth{\MakeMarkcase{\nomname}}{}
\settowidth{\nomlabelwidth}{FeNATA}
\printnomenclature{}

akkordi
18-02-2014, 20:54
Vielen Dank an alle, mein Problem hat sich gelöst. Danke klops für den "zweiten Absatz" - dieser Befehl ist die Zwischenlösung.