PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kurzform in Headings



Wölkchen
30-06-2005, 14:57
Und schon wieder eine Frage:

Ich möchte in meinen Kopfzeilen (ich verwende fancy headings) z.T. Kurzformen der Überschriften verwenden, im Inhaltsverzeichnis aber die Langform haben. Ist das möglich?

Mit folgendem Befehl:
\section[Kurzform]{Langform}
erscheint die Kurzform ja sowohl im Inhaltsverzeichnis als auch in der Kopfzeile.

Daggi
01-07-2005, 07:10
Das kann ich mir nur vorstellen, wenn du für jedes Kapitel eine neue Kopfzeiel definierst und eben deinen Kurztitel nicht automatisch erstellen lässt, sondern über direkt reinschreibst in \fancyhead.

Daggi

suicidemachine
14-12-2006, 01:20
Ich hol dieses Uralt Thema mal nach oben, weil das gerade genau mein Problem ist....

Kann ich, wenn ich eine Kurzform im Header, die Langform aber in Text und Inhaltsverzeichnis haben will, dies wirklich nur darüber lösen, wenn ich für jede Seite ne Kopfzeile definiere? Das wird bei 120 Seiten dann doch etwas aufwändig...

Grüsse

Christian

rais
14-12-2006, 05:44
Moin moin,


Kann ich, wenn ich eine Kurzform im Header, die Langform aber in Text und Inhaltsverzeichnis haben will, dies wirklich nur darüber lösen, wenn ich für jede Seite ne Kopfzeile definiere? Das wird bei 120 Seiten dann doch etwas aufwändig...

Wieso? Bastel Dir doch Dein eigenes Makro...


\newcommand{\mychapter}[2][\empty]{%
\chapter{#2}% erstmal Langform auch in TOC/Head
\ifx\#1\empty\relax\else\markboth{#1}{#1}\fi %Kurzform in Head, wenn definiert
}%\mychapter[Kurzform nur im Header]{Langform}

so oder so ähnlich könnte so etwas schon aussehen ;)
Dann noch "\chapter[" durch "\mychapter[" ersetzen... d.h. teste
das Teil vorher lieber erst in einem Minimalbeispiel.
MfG,

suicidemachine
18-12-2006, 01:46
So, jetzt komme ich auch endlich mal dazu mir Deinen Vorschlag anzuschauen.
Also, der code sieht für mich ja eigentlich ganz logisch aus.

Leider stehe ich heute aber entweder auf dem Schlauch, oder es ist schon zu spät, oder ich stelle mich einfach zu doof an.
Ich verstehe nämlich nicht so ganz wo ich denn nun den Befehl \mychapter anwende...

Vorher hatte ich ja beispielsweise:
\subsection{dies_ist_ein_verdammt_langer_titel_der _nicht_in_die_Kopfzeile_passt}

Was genau muss ich jetzt also anders machen...
Wenn ich jetzt statt \subsection einfach \mychapter nehme, weiss das Inhaltsverzeichnis ja nicht, welche Gliederungseben ich gerade verwende.

Hoffe mein Problem wurde einigermaßen ersichtlich. Wenn nicht versuche ich es morgen ausgeschlafen noch mal...

Grüsse

Christian

rais
18-12-2006, 07:54
So, jetzt komme ich auch endlich mal dazu mir Deinen Vorschlag anzuschauen.
Also, der code sieht für mich ja eigentlich ganz logisch aus.

Leider stehe ich heute aber entweder auf dem Schlauch, oder es ist schon zu spät, oder ich stelle mich einfach zu doof an.
Ich verstehe nämlich nicht so ganz wo ich denn nun den Befehl \mychapter anwende...

Vorher hatte ich ja beispielsweise:
\subsection{dies_ist_ein_verdammt_langer_titel_der _nicht_in_die_Kopfzeile_passt}

Was genau muss ich jetzt also anders machen...
Wenn ich jetzt statt \subsection einfach \mychapter nehme, weiss das Inhaltsverzeichnis ja nicht, welche Gliederungseben ich gerade verwende.

Hoffe mein Problem wurde einigermaßen ersichtlich. Wenn nicht versuche ich es morgen ausgeschlafen noch mal...

Grüsse

Christian
Na, dann vllt lieber


\newcommand{\mysection}[2][\empty]{%
\section{#2}% erstmal Langform auch in TOC/Head
\ifx\#1\empty\relax\else\markboth{#1}{#1}\fi %Kurzform in Head, wenn definiert
}%\mysection[Kurzform nur im Header]{Langform}
\newcommand{\mysubsection}[2][\empty]{%
\subsection{#2}% erstmal Langform auch in TOC/Head
\ifx\#1\empty\relax\else\markright{#1}\fi %Kurzform in Head, wenn definiert
}%\mysubsection[Kurzform nur im Header]{Langform}
?
Dann halt \mysubsection[kurz]{lang} statt \subsection...
MfG,

suicidemachine
18-12-2006, 21:08
Supi - das klappt einwandfrei. Danke :)

Eine letzte Frage noch: kann man einstellen, das trotz Verwendung des neuen Befehls die Kapitel Nummerierung auch mit in der Kopfzeile angezeigt wird?

Grüsse

Christian

rais
18-12-2006, 21:34
Eine letzte Frage noch: kann man einstellen, das trotz Verwendung des neuen Befehls die Kapitel Nummerierung auch mit in der Kopfzeile angezeigt wird?

ist es denn irgendwie anders als bei Deinen bisherigen \section bzw. \subsection-Aufrufen?
MfG,

suicidemachine
18-12-2006, 21:54
Ja, ist anders. Jetzt steht, wenn ne subsection beginnt auf deren ersten Seite die Langform mit Kapitelangabe, auf den folgenden Seiten der subsection steht die Kurzform ohne Kapitelangabe.

Vorher: wenn eine Subsection beginnt steht in der Kopfzeile die Bezeichnung incl. Kapitelangabe.

rais
18-12-2006, 23:06
Ja, ist anders. Jetzt steht, wenn ne subsection beginnt auf deren ersten Seite die Langform mit Kapitelangabe, auf den folgenden Seiten der subsection steht die Kurzform ohne Kapitelangabe.

Dazu wäre es interessant zu erfahen, wie Du Deine Kopfzeilen gestaltest? Afaik sind bei Kapitelstartseiten die Kopfzeilen, wie soll ich sagen, außen vor...


Vorher: wenn eine Subsection beginnt steht in der Kopfzeile die Bezeichnung incl. Kapitelangabe.
ich versteh' nur "Bahnhof"...
Was ist denn nun: hast Du ``Kapitel´´, dann werden die mit \chapter{bla} deklariert... hast Du keine Kapitel, dann werden Deine Abschnitte mit \section{blubb} deklariert.
Standardmäßig werden bei kapitelführenden Klassen wie book/report/scrbook/scrreprt die Überschriften von \chapter & \section in die Kopfzeile geschrieben (wenn überhaupt), das scheint bei Dir aber nicht der Fall zu sein, da Du von \section und \subsection redest. Das klingt eher nach einer kapitellosen Klasse wie artilcle/scrartcl... aber was soll dann das Gerede von `Kapiteln´? :confused:
Vllt solltest Du mal ein Minimalbeispiel (http://www.minimalbeispiel.de) von dem, was Du hast erstellen, und dann nochmal nachfragen, was Du dort wie genau ändern kannst...
MfG,

suicidemachine
19-12-2006, 01:09
\RequirePackage{ifpdf}
\ifpdf
\documentclass[pdftex, a4paper, 12pt]{article}
\else
\documentclass[a4paper, 12pt]{article}
\fi
\usepackage{fancyhdr}
\usepackage[T1]{fontenc}
\usepackage{ae}
\usepackage{setspace}
\onehalfspacing
%
\ifpdf
\usepackage[pdftex]{graphicx}
\pdfcompresslevel=9
\else
\usepackage{url}
\usepackage[dvips]{graphicx}
\fi
\usepackage[pdftex,bookmarksopen,bookmarksnumbered,pdfborder=0 ,plainpages=false]{hyperref}
%

% setzen von kopf und fusszeile
\newcommand{\settopbottom}
{
\fancyhf{}
\fancyhead[LO]{\footnotesize\sc\nouppercase{\leftmark}}
\fancyhead[RO]{\footnotesize\sc\nouppercase{\rightmark}}
\fancyfoot[LO]{\footnotesize\sc Lehrstuhl für Wirtschaftsinformatik insb. Industrielle Anwendungssysteme}
\fancyfoot[RO]{\thepage}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
}
%
% setzen nur von fusszeile
\newcommand{\setbottom}
{
\pagestyle{fancy}
\fancyhf{}
\fancyfoot[LO]{\footnotesize\sc Lehrstuhl für Wirtschaftsinformatik insb. Industrielle Anwendungssysteme}
\fancyfoot[RO]{\thepage}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
}
%
\begin{document}
% Erstellung der Inhaltsverzeichnisse
\setbottom
\setcounter{tocdepth}{4}
\tableofcontents
\newpage
\settopbottom
%
\section{Test Section}
TExt
\newpage
%
\subsection{Test Subsection}
TEst
%
\end{document}


Ich hoffe das ist nicht zu viel Quellcode für ein Minimalbeispiel...
Wenn Du damit kompilierst, siehst du auf Seite 3 des PDF in der Kopfzeile was ich mit der Nummerierung meine...
Hoffe das ist jetzt etwas klarer geworden. Als ich von Kapiteln sprach habe ich nicht chapter gemein :-) Sondern einfach Gliederungspunkt 1 bzw. 1.1 im Inhaltsverzeichnis... Mein Fehler

Grüsse

rais
19-12-2006, 02:19
Ich hoffe das ist nicht zu viel Quellcode für ein Minimalbeispiel...
Wenn Du damit kompilierst, siehst du auf Seite 3 des PDF in der Kopfzeile was ich mit der Nummerierung meine...
Hoffe das ist jetzt etwas klarer geworden. Als ich von Kapiteln sprach habe ich nicht chapter gemein :-) Sondern einfach Gliederungspunkt 1 bzw. 1.1 im Inhaltsverzeichnis... Mein Fehler

Macht nix, das mit \mysubsection war mein Fehler... so wie es aussieht, wird pro Seite? nur der erste \markright beachtet... wenn Du in der \mysubsection-Definition \subsection* statt \subsection verwendest, dann sollte der Header passen (wenn auch nicht im TOC)... ah, einfach umdrehen sollte so tun:


\newcommand{\mysubsection}[2][\empty]{%
\ifx\#1\empty\relax\else\markright{#1}\fi %Kurzform in Head, wenn definiert
\subsection{#2}% erstmal Langform auch in TOC/Head

MfG,

suicidemachine
19-12-2006, 02:46
Hi,

auch auf die Gefahr hin dass Du mich jetzt steinigst...
Habe eben Deinen Code getestet. Das Problem hat sich jetzt aber einfach umgedreht. Sprich:
Auf der Seite auf der die subsection (bzw. mysubsection) das erste mal auftaucht steht die Kurzform in der Kopfzeile ohne Nummer. Auf den folgenden Seiten steht dann wieder ganz normal die Langform.
Wenn ich für \subsection \subsection* schreibe, wird wie Du ja schon gesagt hast \mysubsection nicht im TOC mit aufgenommen.

PS: Was zur Hölle macht man um die Uhrzeit eigentlich noch online :)

rais
19-12-2006, 03:14
Hi,

auch auf die Gefahr hin dass Du mich jetzt steinigst...

nur keine Panik:D


Habe eben Deinen Code getestet. Das Problem hat sich jetzt aber einfach umgedreht. Sprich:
Auf der Seite auf der die subsection (bzw. mysubsection) das erste mal auftaucht steht die Kurzform in der Kopfzeile ohne Nummer. Auf den folgenden Seiten steht dann wieder ganz normal die Langform.
Wenn ich für \subsection \subsection* schreibe, wird wie Du ja schon gesagt hast \mysubsection nicht im TOC mit aufgenommen.

versuch es erst mal so:


\newcommand{\mysubsection}[2][\empty]{%
\addtocounter{subsection}{1}
\ifx\#1\empty\relax\else\markright{\thesubsection~ #1}\fi %Kurzform in Head, wenn definiert
\addtocounter{subsection}{-1}
\subsection{#2}% erstmal Langform auch in TOC/Head

}%\mysubsection[Kurzform nur im Header]{Langform}



PS: Was zur Hölle macht man um die Uhrzeit eigentlich noch online :)
das frag ich mich auch gerade :D
gut's Nächtle (oder was davon übrig ist)
MfG,

suicidemachine
19-12-2006, 03:29
So, auch ich tummel mich immer noch online...
Habe den Code eben wieder getestet. Das Problem mit der Nummerierung im Head ist damit gelöst!!
Danke schon mal dafür.

Das andere Problem habe ich immer noch (das die Kurzform nur auf der Seite des ersten auftretens der \mysubsection auftaucht, nicht aber auf allen folgenden Seiten).

Werde da aber jetzt nicht mehr weiter dran rumbasteln, zumal meine Programmierkenntnisse mehr als zu wünschen übrig lassen.
Werde mir das morgen noch mal anschauen. Jetzt wird erst mal an der Diplomarbeit weiter geschrieben :)

Guts Nächtle

rais
19-12-2006, 09:41
Das andere Problem habe ich immer noch (das die Kurzform nur auf der Seite des ersten auftretens der \mysubsection auftaucht, nicht aber auf allen folgenden Seiten).

klar, auf den Folgeseiten greift dann die Funktion aus \subsection selbst...


\newcommand{\mysubsection}[2][\empty]{%
\addtocounter{subsection}{1}
\ifx\#1\empty\relax\else\markright{\thesubsection~ #1}\fi %Kurzform in Head, wenn definiert
\addtocounter{subsection}{-1}
\subsection{#2}% erstmal Langform auch in TOC/Head
\ifx\#1\empty\relax\else\markright{\thesubsection~ #1}\fi %Kurzform in Head, wenn
}%\mysubsection[Kurzform nur im Header]{Langform}
...hat aber noch den Haken, daß der Titel zu früh gesetzt werden kann: wenn z.B. die nächste subsection gestatet wird und diese auf die nächste Seite geschoben wird. Man kann sich dort zwar manuell mit \clearpage behelfen, aber so ganz Sinn der Sache ist das ja nu auch nicht.
Vllt hätte ich einfach etwas in der Art


\newcommand{\mysubsection}[2][\empty]{%
\refstepcounter{subsection}
\subsection*{\thesubsection #2}% erstmal Langform nur in der Überschrift
\addcontentsline{toc}{subsection}{\thesubsection #2} %TOC-Eintrag
\ifx\#1\empty\relax\else\markright{\thesubsection~ #1}\fi %Kurzform in Head, wenn definiert
}%\mysubsection[Kurzform nur im Header]{Langform}

basteln sollen :rolleyes:
MfG,

suicidemachine
19-12-2006, 21:52
So weit ich das überblicken kann, funktioniert das jetzt einwandfrei. Vielen vielen Dank für die Mühe.
Du ersparst mir einige schlaflose Nächte :D

Grüsse

Christian