PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Abstand verringern



cecile
01-03-2008, 21:38
Hallo,

ich möchte gerne die Abstände vor und nach den Chapter (large), Section (normalsize) und Subsection (normalfont) Überschriften verringern.

Für \chapter hat es funktioniert.
\renewcommand*{\chapterheadstartvskip}{\vspace*{-25pt}}
\renewcommand*{\chapterheadendvskip}{\vspace*{-3pt}}

Bei \section und \subsection bin ich noch nicht wirklich weiter gekommen. Muss ich zwangsläufig das titlesec Packet nutzen? In den Erläuterungen steht, dass es für "casual user" nicht optimal ist. Gibt es für die Abstandsbestimmung noch andere Möglichkeiten?

Für Hinweise bin ich sehr dankbar.

Stefan_K
01-03-2008, 21:50
Hallo Cecile,

der Text Deiner Frage lässt auf die Dokumentklasse scrbook oder scrreprt schließen. Es wäre einfacher, wenn Du die Klasse nennst, oder i.A. ein Minimalbeispiel mit angibst.
Bei scrbook und scrreprt sind die Definitionen für section und subsection gleich, also brauche ich nicht weiter rückfragen.
Du kannst die beiden Makros so redefinieren:
\makeatletter
\renewcommand\section{\@startsection{section}{1}{\ z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@
plus 1fil}\fi
\raggedsection\normalfont\sectfont\size@section}%
}
\renewcommand\subsection{\@startsection{subsection }{2}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@
plus 1fil}\fi
\raggedsection\normalfont\sectfont\size@subsection
}%
}
\makeatother

Hierbei stehen noch die Voreinstellungen drin. Jeweils die 2. und 3. Zeile der Makro-Redefinition enthalten die betreffenden Abstände, davor und danach - dort kannst Du andere Werte eintragen.

Viele Grüße,

Stefan

cecile
02-03-2008, 10:08
Hallo Stefan,

vielen Dank für deine Antwort.
Danke auch für den Hinweis mit dem Minibeispiel. Werde ich in Zukunft machen.
Ich habe noch einmal ein paar Fragen:

Ich habe zwecks Nachfragen (da das Ändern der Abstände bei mir nicht funktioniert hat) ein Minibeispiel gebaut.


\documentclass[a4paper, 12 pt, DIV10, oneside]{scrbook}

\usepackage[a4paper,right=3cm,left=2.5cm,top=2.5cm,bottom=3cm]{geometry}
\usepackage{setspace}
\usepackage{scrpage2}
\onehalfspacing

\usepackage{mathptmx}

\usepackage[latin1]{inputenc}

\usepackage[T1]{fontenc}

\addtokomafont{sectioning}{\rmfamily}
\addtokomafont{chapter}{\large}
\addtokomafont{section}{\normalsize}
\addtokomafont{subsection}{\normalsize}

\renewcommand*{\chapterheadstartvskip}{\vspace*{-25pt}} \renewcommand*{\chapterheadendvskip}{\vspace*{-3pt}}


%Abstand vor und nach Section/Subsection zu Text verringern
\makeatletter
\renewcommand\section{\@startsection{section}{1}{\ z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@
plus 1fil}\fi
\raggedsection\normalfont\sectfont\size@section}%
}
\renewcommand\subsection{\@startsection{subsection }{2}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@
plus 1fil}\fi
\raggedsection\normalfont\sectfont\size@subsection
}%
}
\makeatother


\begin{document}

\chapter{Einführung}
Abstand zwischen Text und Überschriften soll verkleinert werden.
\section{Ebene 2}
Abstand zwischen Text und Überschriften soll verkleinert werden.
\subsection{Ebene 3}
Abstand zwischen Text und Überschriften soll verkleinert werden.
\subsection{Ebene 3 weitere}
In der Regel drücken sich in der Reiseintensität die soziodemographischen und sozioökonomischen Einflussfaktoren aus. Für die Wahl des Zielgebietes und die jeweiligen Aktivitäten sind psychologische Einflussfaktoren verantwortlich.
\chapter{Einführung}
Abstand zwischen Text und Überschriften soll verkleinert werden
\section{Ebene 2 weitere}
Abstand zwischen Text und Überschriften soll verkleinert werden.
\subsection{Ebene 3 weitere}
Abstand zwischen Text und Überschriften soll verkleinert werden.


\end{document}

Allerdings erscheinen die Abstände hier kleiner als bei meinem richtigen Dokument. Dürfte ich das Beispiel einmal zeigen? Und wenn ich ganz ehrlich bin, verstehe ich auch nicht so ganz wo und ich ich die Abstände in Zeile 2 und 3 ändern muss.

Muss ich eigentlich das titlesec Package laden?

Vielen Dank.

Schöne Grüße
Cecile.

rais
02-03-2008, 11:41
Moin moin,


Allerdings erscheinen die Abstände hier kleiner als bei meinem richtigen Dokument.

dann machst Du in Deinem `richtigen Dokument' irgend etwas anders...


Dürfte ich das Beispiel einmal zeigen?
Das solltest Du sogar, wenn der Effekt nachvollziehbar sein soll.;)


Und wenn ich ganz ehrlich bin, verstehe ich auch nicht so ganz wo und ich ich die Abstände in Zeile 2 und 3 ändern muss.

z. B. bei \section:


\renewcommand\section{\@startsection{section}{1}{\ z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%<--Abstand zum vorherigen Text
{2.3ex \@plus.2ex}%<--Abstand zum nachfolgenden Text
{\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@
plus 1fil}\fi
\raggedsection\normalfont\sectfont\size@section}%
}

jeweils mit Grundwert \@plus Streckbarkeit \@minus Stauchbarkeit.


Muss ich eigentlich das titlesec Package laden?

Nö, bei diesem Ansatz nicht.

MfG

cecile
02-03-2008, 13:34
Hallo,

danke zunächst für die Hinweise.

Ich habe meine Präambel zur Veranschaulichung einmal mit dem Minibeispiel von vorher verbunden.

In meinem gesamten Projekt binde ich die Präambel dann nach Festlegung der Dokumentenklasse mit \include ein und binde die einzelnen Kapitel und Verzeichnisse ebenfalls mit include ein.




\documentclass[a4paper,
12 pt,
DIV10,
oneside
]{scrbook}


\usepackage[a4paper,right=3cm,left=2.5cm,top=2.5cm,bottom=3cm]{geometry}
\usepackage{setspace}

%Zusätzliche Packete
\usepackage[
automark,
headsepline,
ilines
]{scrpage2}

\usepackage{mathptmx}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

\onehalfspacing

\addtokomafont{sectioning}{\rmfamily}
\addtokomafont{chapter}{\large}
\addtokomafont{section}{\normalsize}
\addtokomafont{subsection}{\normalfont}

\renewcommand*{\chapterheadstartvskip}{\vspace*{-25pt}}
\renewcommand*{\chapterheadendvskip}{\vspace*{-3pt}}

\makeatletter
\renewcommand\section{\@startsection{section}{1}{\ z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.1ex}%
{\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@
plus 1fil}\fi
\raggedsection\normalfont\sectfont\size@section}%
}
\renewcommand\subsection{\@startsection{subsection }{2}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@
plus 1fil}\fi
\raggedsection\normalfont\sectfont\size@subsection
}%
}
\makeatother

\pagestyle{scrheadings}
\clearscrheadfoot %Kopf- und Fußzeile werden gelöscht
\ofoot{\pagemark} %Seitenzahl wird in die Fußzeile außen geschrieben
\ohead{\headmark}
\setkomafont{pagehead}{\normalfont\small}

\renewcommand*{\chapterpagestyle}{scrheadings}

\setkomafont{disposition}{\normalcolor\bfseries}

\frenchspacing

\usepackage[ngerman]{babel}
\usepackage[babel,german=quotes]{csquotes}
\usepackage{natbib}

\usepackage[nooneline]{caption}
\addto\captionsngerman{%
\renewcommand{\figurename}{Abb.}%
\renewcommand{\tablename}{Tab.}%
}
\captionabove
\setkomafont{captionlabel}{\bfseries}
\setkomafont{caption}{\bfseries}


\usepackage{url}
\usepackage{graphicx}

\begin{document}

\chapter{Einführung}
Abstand zwischen Text und Überschriften soll verkleinert werden.
\section{Ebene 2}
Abstand zwischen Text und Überschriften soll verkleinert werden.
\subsection{Ebene 3}
Abstand zwischen Text und Überschriften soll verkleinert werden.
\subsection{Ebene 3 weitere}
In der Regel drücken sich in der Reiseintensität die soziodemographischen und sozioökonomischen Einflussfaktoren aus. Für die Wahl des Zielgebietes und die jeweiligen Aktivitäten sind psychologische Einflussfaktoren verantwortlich.
\chapter{Einführung}
Abstand zwischen Text und Überschriften soll verkleinert werden
\section{Ebene 2 weitere}
Abstand zwischen Text und Überschriften soll verkleinert werden.
\subsection{Ebene 3 weitere}
Abstand zwischen Text und Überschriften soll verkleinert werden.

\end{document}



Irgendwie bekomme ich es aber nicht so ganz hin, dass sich der Abstand verändert.

Vielen Dank auf jeden Fall.
Cecile.

Stefan_K
02-03-2008, 17:20
Hallo cecile,

Rainer hat die Stellen oben in Beitrag #4 kommentiert und blau markiert. Dort setze kleinere Zahlenwerte ein. Probier doch einfach mal. Beispielhaft verdeutlicht:
{2.3ex \@plus.2ex}%ändern zu:
{1.6ex \@plus.2ex}%

Viele Grüße,

Stefan

cecile
02-03-2008, 17:48
Hallo Stefan,

vielen Dank für eure Antworten.
Bin wirklich ein wenig ratlos. Es tut sich schlicht gar nichts. Probiere alles mögliche aus. Vertragen sich evt. bestimmte Packete nicht?

Viele Grüße
Verena

Stefan_K
02-03-2008, 19:26
Hallo Cecile,

was probierst Du denn überhaupt? Wenn ich in Deinem Beispiel so wie vorgeschlagen ändere, tut sich etwas:
\documentclass[a4paper,
12 pt,
DIV10,
oneside
]{scrbook}


\usepackage[a4paper,right=3cm,left=2.5cm,top=2.5cm,bottom=3cm]{geometry}
\usepackage{setspace}

%Zusätzliche Packete
\usepackage[
automark,
headsepline,
ilines
]{scrpage2}

\usepackage{mathptmx}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

\onehalfspacing

\addtokomafont{sectioning}{\rmfamily}
\addtokomafont{chapter}{\large}
\addtokomafont{section}{\normalsize}
\addtokomafont{subsection}{\normalfont}

\renewcommand*{\chapterheadstartvskip}{\vspace*{-25pt}}
\renewcommand*{\chapterheadendvskip}{\vspace*{-3pt}}

\makeatletter
\renewcommand\section{\@startsection{section}{1}{\ z@}%
{-0.6ex \@plus -1ex \@minus -.2ex}%
{0.2ex \@plus.1ex}%
{\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@
plus 1fil}\fi
\raggedsection\normalfont\sectfont\size@section}%
}
\renewcommand\subsection{\@startsection{subsection }{2}{\z@}%
{-0.6ex\@plus -1ex \@minus -.2ex}%
{0.2ex \@plus .2ex}%
{\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@
plus 1fil}\fi
\raggedsection\normalfont\sectfont\size@subsection
}%
}
\makeatother

\pagestyle{scrheadings}
\clearscrheadfoot %Kopf- und Fußzeile werden gelöscht
\ofoot{\pagemark} %Seitenzahl wird in die Fußzeile außen geschrieben
\ohead{\headmark}
\setkomafont{pagehead}{\normalfont\small}

\renewcommand*{\chapterpagestyle}{scrheadings}

\setkomafont{disposition}{\normalcolor\bfseries}

\frenchspacing

\usepackage[ngerman]{babel}
\usepackage[babel,german=quotes]{csquotes}
\usepackage{natbib}

\usepackage[nooneline]{caption}
\addto\captionsngerman{%
\renewcommand{\figurename}{Abb.}%
\renewcommand{\tablename}{Tab.}%
}
\captionabove
\setkomafont{captionlabel}{\bfseries}
\setkomafont{caption}{\bfseries}


\usepackage{url}
\usepackage{graphicx}

\begin{document}

\chapter{Einführung}
Abstand zwischen Text und Überschriften soll verkleinert werden.
\section{Ebene 2}
Abstand zwischen Text und Überschriften soll verkleinert werden.
\subsection{Ebene 3}
Abstand zwischen Text und Überschriften soll verkleinert werden.
\subsection{Ebene 3 weitere}
In der Regel drücken sich in der Reiseintensität...
\end{document}


Stefan

cecile
02-03-2008, 21:58
Hallo Stefan,

danke für deine Antwort.

Ich glaube, ich weiß mittlerweile, wo der Hacken lag/liegt.

In meiner /documentclass habe ich noch halfparskip festgelegt. Wenn ich das rausnehme verändern sich auch die Absätze. :)
Allerdings habe ich dann das Problem, dass der Text nach jedem Absatz recht eingerückt wird, was ich nicht möchte. Kann ich das irgendwie vermeiden?

Viele Grüße
Verena

Stefan_K
02-03-2008, 22:23
Hallo Verena,


Allerdings habe ich dann das Problem, dass der Text nach jedem Absatz recht eingerückt wird, was ich nicht möchte. Kann ich das irgendwie vermeiden?

ja, das geht mit
\setlength{\parindent}{0pt}

Viele Grüße,

Stefan

cecile
03-03-2008, 07:34
Hallo Stefan,

vielen vielen Dank.
Das Problem ist gelöst und ich bin um ein bisschen latex Wissen reicher.

Danke.
Viele Grüße
Cecile

MasterToaddy
13-03-2008, 23:52
Hallo Leute,

ich versuche gerade diesen Eintrag hier nachzuvollziehen um ihn selber umzusetzen. Dazu habe ich folgende Fragen:

1. Welchen Sinn macht es einen Grundwert mit Streckbarkeit und Stauchbarkeit gleichzeitig anzugeben? Würde das nicht gegeneinander arbeiten?

2. Die Minuse (-) bei den Abständen VOR den Überschriften sind notwendig, da die Überschrift als Bezugspunkt genohmen wird? Denn würde nicht ein \@minus -.2ex im mathematischangehauchten Sinne eine Streckung wie \@plus .2ex ergeben?

3. Kann mir jemand sagen wir groß die Grundwerte bei scrbook standardmäßig sind?

4. Aus meinem eigenen Experiment: Warum wird plötzlich der Text nach einer section eingerückt, wenn ich das "-" beim Grundwert vor dessen Überschrift entferne?
\makeatletter
\renewcommand\section{\@startsection{section}{1}{\ z@}%
{15mm \@plus -1mm \@minus -5mm}%%<--Abstand zum vorherigen Text
{10mm \@plus.3ex}%%<--Abstand zum nachfolgenden Text
{\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@
plus 1fil}\fi
\raggedsection\normalfont\sectfont\size@section}%
}
\makeatother

Danke für Eure Aufmerksamkeit
Toaddy

Stefan_K
14-03-2008, 00:14
Hallo Toaddy!


Das gibt LaTeX die Freiheit, in beiden Richtungen auszugleichen, je nachdem, wie es dem Layout gut tut. Eben elastisch in beide Richtungen.
Der Absolutwert bestimmt den Abstand. Ein negatives Vorzeichen bewirkt, dass der folgende Absatz nicht eingerückt wird.
für alle Gliederungsebenen? Schau doch mal in scrbook.cls auf Deinem Rechner (kpsewhich scrbook.cls zeigt Dir, wo) oder auf CTAN.
siehe 2.: bei nichtnegativem Wert findet der Einzug statt. Beim Folgeabstand wird das Vorzeichen auch benutzt, um zu unterscheiden, ob die Überschrift abgesetzt (positiv) oder eingebettet ist.
Einen Weblink habe ich nicht parat. Im LaTeX-Begleiter werden die Parameter für \@startsection ausführlich erklärt, die eigentliche Definition dieses Makros findest Du in latex.ltx.

Viele Grüße,

Stefan

MasterToaddy
16-03-2008, 10:00
Rasche Antwort, Respekt!

Antwort zu 1. und 2. und somit auch 4. habe ich wohl verstanden.
(Hab es jetzt so verstanden, dass

{5mm\@plus 1mm \@minus 4mm} eigentlich den gleichen Abstandsbereich abdeckt wie
{6mm \@minus 5mm} bzw.
{1mm\@plus 5mm} aber mit jeweils einem anderen bevorzugten Abstand (5, 6 bzw. 1mm).)
Danke.
Zu 3. danke für den Hinweis, wo ich es nachsehen kann, ist zwar für mich ein ziemlich großer Buchstabenwald, die Datei, aber damit kann man klarkommen.

Dennoch habe ich zwei Probleme mit dem von Stefan_K vorgeschlagenen Vorgehen:
1. Wenn alles funktioniert, dann müsste ich doch mit einem Grundwert von z.B. 5mm und einer Stauchung von 5mm auf 0mm kommen können, oder?

2. Beim Erstellen der PDF-Ausgabe erhalte ich plötzlich 117 neue Fehlermeldungen. Die Erste lautet:
Undefined control sequence.
<argument> \ifnum \scr@compatibility
>\@nameuse {scr@v@2.96}\setlength ...

Darauf folgen dann eine Masse von Meldungen des Typs

Missing number, treated as zero.

Weiß jemand woran das liegt? Meinem Gefühl nach behindert diese "zero" auch etwas die Abstandseinstellung.

Hier noch meine Präambel.


\documentclass[11pt, parskip, titlepage, bibtotoc]{scrreprt}%{scrbook}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
\usepackage{graphicx}
\usepackage{amssymb}
\usepackage{setspace}
\onehalfspacing
\usepackage{typearea}
\usepackage{geometry}
\geometry{left=3cm,right=3cm,top=2cm,bottom=1.5cm}
\usepackage{fancybox}
\usepackage{latexsym}
\usepackage[automark]{scrpage2}
\pagestyle{scrheadings}
\clearscrheadfoot
\ihead{\headmark}
\ohead{\pagemark}
\setheadsepline{0.4pt}
\usepackage{ulem}
\normalem
\usepackage{color}

\makeatletter
\renewcommand\section{\@startsection{section}{1}{\ z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@
plus 1fil}\fi
\raggedsection\normalfont\sectfont\size@section}%
}
\renewcommand\subsection{\@startsection{subsection }{2}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\setlength{\parfillskip}{\z@
plus 1fil}\fi
\raggedsection\normalfont\sectfont\size@subsection
}%
}
\makeatother

\usepackage{makeidx}
\makeindex

% Zum Einstellen des Textabstands vertikal zu den Kapitelüberschriften Chapter
\renewcommand*\chapterheadstartvskip{\vspace*{-1cm}}

\begin{document}
\chapter{Einführung}
Abstand zwischen Text und Überschriften soll verkleinert werden. (CHA)
\section{Ebene 2}
Abstand zwischen Text und Überschriften soll verkleinert werden. (SEC)
\subsection{Ebene 3}
Abstand zwischen Text und Überschriften soll verkleinert werden. (SUB)
\subsection{Ebene 3 weitere}
In der Regel drücken sich in der Reiseintensität... (SUB)
\end{document}

rais
16-03-2008, 11:05
Moin moin,


2. Beim Erstellen der PDF-Ausgabe erhalte ich plötzlich 117 neue Fehlermeldungen. Die Erste lautet:
Undefined control sequence.
<argument> \ifnum \scr@compatibility
>\@nameuse {scr@v@2.96}\setlength ...

das klingt nach einer alten KOMA-Version. Schau einfach mal nach:


\listfiles
\documentclass{scrreprt}
\begin{document}
\end{document}

Unter *File List* in Deiner .log sollte die von Dir verwendete KOMA-Version ablesbar sein.

MfG

voss
16-03-2008, 11:18
Antwort zu 1. und 2. und somit auch 4. habe ich wohl verstanden.
(Hab es jetzt so verstanden, dass


normalerweise nimmt man für derartige Dinge eines der Pakete,
beispielsweise titlesec ...

Herbert

MasterToaddy
16-03-2008, 12:18
Das ist sehr gut möglich:
ich denke,
*File List*
scrreprt.cls 2004/09/16 v2.9t LaTeX2e KOMA document class
scrlfile.sty 2004/09/16 v2.9t LaTeX2e KOMA package
size11.clo 2005/09/16 v1.4f Standard LaTeX file (size option)
typearea.sty 2004/09/16 v2.9t LaTeX2e KOMA package
***********
mit der Liste bin ich etwas veraltet. Werde heute noch eine neuere Version versuchen.

Danke schon mal,
Jungs ihr seid klasse und fix!!