Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 16

Thema: Abstände zwischen sections/subsections/...

  1. #1
    Registrierter Benutzer
    Registriert seit
    06.08.2010
    Beiträge
    8

    Question Abstände zwischen sections/subsections/...

    Hallo!

    Ich bin ein ziemlicher Latex-Neuling und bisher hat mich die passive Suche in diesem Forum immer gerettet (Danke!), aber bei diesem Problem bin ich mit der Suche gescheitert.

    Ich schreibe gerade an meiner Doktorarbeit (documentclass report) und hab die meisten Formatierungssachen mittlerweile einigermaßen im Griff. Jetzt findet aber meine Chefin, dass die Abstände, die Latex zwischen Überschrift und Text und zwischen den einzelnen Abschnitten macht, zu groß. Den Abstand zwischen Überschrift und Text habe ich schon erfolgreich durch eine Neudefinition der Befehle \section etc. erreicht, aber die Abstände zwischen verschiedenen Abschnitten sind zum Teil riesig wenn viele kurze Abschnitte mit neuen Überschriften hintereinanderkommen. Zum Teil wird dann auch der verkleinerte Abstand zwischen Überschrift und Text wieder über den Haufen geworfen. Über Vorschläge wie ich das Problem angehen könnte, wäre ich wirklich sehr dankbar!

    Viele Grüße
    Sonni

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

    du kannst das paket titlesec vermutlich verwenden. wie es sich mit deinen umdefinitionene verträgt musst du mal sehen...

    aber eventuell sind diese auch nicht mehr nötig wenn du dieses paket verwendest. schaue in der doku in den abschnitt 3.2 Spacing.
    beachte allerdings, dass abstände vor und nach überschriften sog. rubber-längen sind. hier sind abstände erlaubt die sich leicht ändern können, je nachdem wieviel text auf der seite ist. im groben kannst du aber folgendes machen

    Code:
    \titlespacing*{commandi{left}{beforesep}{aftersep}[right]
    
    %bei section z.b.
    \titlespacing{\section}{0pt}{*4}{*1.5}
    die werte *4 und *1.5 beziehen sich auf die vordefinierten längen

    Code:
    %aus titlesec.sty
    \beforetitleunit=1ex\@plus.3ex\@minus.06ex
    \aftertitleunit=1ex\@plus.1ex
    du kannst also einfach den multiplikator *4->*10 ändern, oder die länge an sich redefinieren. das ein oder andere sollte zum gewünschten ziel führen.

    für dich als anfänger also im gesamten beispiel

    Code:
    \documentclass{report}
    
    \usepackage{titlesec}
    \titlespacing{\section}{0pt}{*2}{*1.5}
    \usepackage{lipsum}%random text
    \begin{document}
    
    \chapter{The one}
    Some text goes here. Maybe I should write just about one line or so. Does not matter in the end anyway. Just have a look on what is going on below
    \section{Blub di bla bumm bang}
    \lipsum %random text
    \end{document}
    gruss
    Geändert von bobmalaria (06-08-2010 um 11:07 Uhr)
    Mein Ball ist umgefallen

  3. #3
    Registrierter Benutzer
    Registriert seit
    06.08.2010
    Beiträge
    8
    Hi,

    Titlesec war meine erste Idee, aber das geht nicht, weil ich an einigen Stellen \chapter* oder \section* habe und das verträgt sich nicht. Daher habe ich jetzt eben die Sachen manuell so umdefiniert:
    \makeatletter
    \renewcommand{\section}{\@startsection{section}{1} {0mm}{-1.2\baselineskip}{.10\baselineskip}{\Large\rmfamil y\bfseries}}
    \makeatother

    Ich befürchte allerdings, dass mein Problem genau bei den "rubber-Längen" liegt. Vermutlich ist meine einzige Möglichkeit ganz zum Schluss durchzugehen und die Seiten auf denen es furchtbar aussieht nochmal manuell "nachzu-tunen"

    Sonni

  4. #4
    Registrierter Benutzer
    Registriert seit
    06.03.2010
    Ort
    St. Petersburg, Russland
    Beiträge
    2.468
    Wenn die Absätze und Überschriften auf einer Seite stark auseinandergezogen werden, kriegst du wahrscheinlich auch eine "underfull vbox"-Meldung dazu, oder? Das passiert, wenn LaTeX nicht "weiß", wie es den Text noch gut verteilen kann. Insbesondere bei vielen kleinen Elementen wie Überschriften und drei- oder vierzeiligen Absätzen, die sich nicht oder schwer (vierzeiliger Absatz höchstens in der Mitte) auf zwei Seiten aufteilen lassen. Wenn du die Abstände bei den Überschriften hart definierst, hat das Programm noch weniger Spielraum. Insofern ist der Tipp mit titlesec gut. Trotzdem kann es schwierig werden, die Elemente so zu verteilen, dass keine zu leeren Boxen mehr auftreten. Leichtes Umformulieren, vielleicht etwas längere Textabschnitte, mal zwei Abschnitte zusammenfassen... wenn alles nichts hilft, mal probieren, ob es mit /raggedbottom besser aussieht, so dass der leere Raum unten auf der Seite verbleibt und nicht verteilt wird.
    UPD: Um das manuelle tuning wirst du nicht herumkommen, sagt mir meine Erfahrung...

  5. #5
    Registrierter Benutzer Avatar von lockstep
    Registriert seit
    31.08.2008
    Beiträge
    1.487
    Hallo und willkommen im Forum!

    Mir ist der Unterschied zwischen einerseits "zwischen Überschrift und Text" und andererseits "zwischen den einzelnen Abständen" (beginnst du diese nicht mit einer Überschrift?) nicht klar. Erstelle daher bitte ein lauffähiges kleines Beispiel, das dein Problem demonstriert. Dieses Beispiel sollte insbesondere deine Umdefinition der Befehle \section etc. enthalten.

    Als Starthilfe hier ein Beispiel, bei dem ich die Abstände vor und nach \section verringere:

    Code:
    \documentclass{article}
    
    \usepackage[latin9]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[ngerman]{babel}
    
    \usepackage{blindtext}
    
    \makeatletter
    \renewcommand\section{%
      \@startsection {section}{1}{\z@}%
      {-2.5ex \@plus -1ex \@minus -.2ex}% -2.5ex statt -3.5ex
      {1.5ex \@plus.2ex}% 1.5ex statt 2.3ex
      {\normalfont\Large\bfseries}%
    }
    \makeatother
    
    \begin{document}
    
    \section{bla}
    
    \blindtext
    
    \section{blubb}
    
    \blindtext
    
    \section{foo}
    
    \blindtext
    
    \end{document}
    lockstep

    EDIT: Da waren gleich einige andere schneller.
    idxlayout - Konfigurierbares Index-Layout, kompatibel mit KOMA-Script und memoir

  6. #6
    Registrierter Benutzer
    Registriert seit
    06.08.2010
    Beiträge
    8
    Hi!

    Erst mal vielen Dank für die Vorschläge. Ich hab grad versucht mein Problem irgendwie im Kleinen zu reproduzieren, aber das funktioniert nicht so richtig. Hängt eben immer schwer davon ab was gerade direkt davor ist und wo welcher Abschnitt gerade hingeschoben wird. Es sind auch nicht immer nur die ganz kurzen Abschnitte, die Probleme machen und manchmal sehe ich das Platzproblem, das Latex hat auch nicht wirklich.

    @rstuby: Umformulieren und Zusammenfassen geht nicht. Das ist vom Inhalt einfach so vorgegeben.
    @lockstep: Einmal meine ich den Abstand zwischen der Überschrift und dem nachfolgenden Text und einem den Abstand von der Überschrift zum vorhergehenden Absatz. Manchmal wird nur das eine krass gedehnt und manchmal beides. Die Umdefinition wie du sie beschrieben hast, hatte ich versucht, generiert aber massig (für mich unverständliche) Fehlermeldungen.

    Wie bekomme ich denn so ein "Code-Fenster" in meinen Post?

    Sonni

  7. #7
    Registrierter Benutzer
    Registriert seit
    06.08.2010
    Beiträge
    8
    Ok, das "Code-Fenster" habe ich gefunden *freu*
    Hier der Versuch einer Illustration (beleuchtet leider nicht alle Aspekte, aber gut): So wie auf der zweiten Seite wäre das gut formatiert und so wie ich es haben möchte. Auf der ersten Seite dagegen sind die Abstände gefühlt zu groß. Vor allem eben zwischen Überschrift und nachfolgendem Text.
    Code:
    \documentclass[11pt,a4paper,twoside]{report}
    \usepackage{a4wide}
    \usepackage{ngerman}
    \usepackage[english]{babel}
    \usepackage{blindtext}
    
    
    \renewcommand{\baselinestretch}{1.4}\normalsize
    
    \setlength{\jot}{10pt}
    \setlength{\parskip}{1.5ex plus 0.5ex minus 0.5ex}
    \setlength{\parindent}{0pt}
    \setlength{\fboxsep}{3mm}
    
    
    \makeatletter 
    \renewcommand{\section}{\@startsection%
       {section}%             name
       {1}%                   level
       {0mm}%                 indent
       {-1.2\baselineskip}%      beforeskip
       {.10\baselineskip}%    afterskip
       {\Large\rmfamily\bfseries}}%     style
    \renewcommand{\subsection}{\@startsection%
       {subsection}%          name
       {2}%                   level
       {0mm}%                 indent
       {-1.2\baselineskip}%      beforeskip
       {.10\baselineskip}%    afterskip
       {\large\rmfamily\bfseries}}%     style
    \renewcommand{\subsubsection}{\@startsection%
       {subsubsection}%       name
       {3}%                   level
       {0mm}%                 indent
       {-1.2\baselineskip}%      beforeskip
       {.10\baselineskip}%    afterskip
       {\normalsize\rmfamily\bfseries}}%     style
    \makeatother
    
    \begin{document}
    \subsection{Erster Abschnitt}
    \blindtext
    
    \subsection{Zweiter Abschnitt}
    \blindtext
    
    \subsection{Dritter Abschnitt}
    \blindtext
    
    \subsection{Vierter Abschnitt}
    \subsubsection{Blablabla}
    \blindtext
    
    \subsection{Fuenfter Abschnitt}
    \blindtext
    \end{document}
    Ich hoffe, das macht es ein bißchen klarer. Sorry, falls das "Minimalbeispiel" nicht ganz so minimal ist wie es sein könnte.
    Geändert von Sonni13 (06-08-2010 um 11:56 Uhr)

  8. #8
    Registrierter Benutzer
    Registriert seit
    06.03.2010
    Ort
    St. Petersburg, Russland
    Beiträge
    2.468
    Ja, das ist eine ganz schlimme Underfull \vbox (badness 10000),
    und das kommt hier z.B. dadurch, dass Tex ja nicht eine einsame Überschrift unten auf die Seite setzen kann. Und für 2 Überschriften + mind. 2 Zeilen Text reicht der Platz denn doch nicht. Manchmal passt es drauf, wenn man den Satzspiegel ein bisschen ändert (in den Documentclass-Optionen explizit einen DIV-Wert angeben) oder wenn man nachher beim finetuning bestimmte Seiten von Hand mit \enlargethispage ein bisschen vergrößert. Aber wenn es viele solche Seiten gibt, würde ich doch mal gucken, ob es nicht mit \raggedbottom besser aussieht.

  9. #9
    Registrierter Benutzer
    Registriert seit
    06.08.2010
    Beiträge
    8
    Hm, ok, hatte ich fast so befürchtet. \enlargethispage habe ich schon an anderer Stelle für einsame Zeilen benutzt und das tut's ganz gut. Was ist den ein "DIV"-Wert und wo muss ich da was angeben?

  10. #10
    Registrierter Benutzer
    Registriert seit
    06.03.2010
    Ort
    St. Petersburg, Russland
    Beiträge
    2.468
    Bei der Errechnung des Satzspiegels wird das Blatt, grob gesagt, in gleich breite/hohe Teile eingeteilt, und ein Teil wird dann zum Rand erklärt.
    In die Optionen (das, was in eckigen Klammern steht und durch Kommata voneinander getrennt ist) bei documentclass kann man div=calc schreiben, dann rechnet sich LaTeX selber aus, wie viele Teile hier am geeignetsten sind. Was mich wundert, ist, dass es mit div=calc manchmal deutlich anders aussieht, als wenn man gar nichts angibt. Oder man kann direkt eine Zahl angeben, z.B. div=12. Je größer die Zahl, desto größer der Satzspiegel und desto kleiner die Ränder.
    Da dieser Wert aber global ist und nicht von Seite zu Seite geändert wird (wird wahrscheinlich eine Möglichkeit geben, auch das zu tun, aber das würde unmöglich aussehen), kann man halt nur mal "gucken", ob es mit einem anderen Wert "zufällig" besser funktioniert, nichts besonders Zielgerichtetes.

  11. #11
    Registrierter Benutzer
    Registriert seit
    06.08.2010
    Beiträge
    8
    Danke für die ausführliche Erklärung. Das werde ich mal probieren.

  12. #12
    Registrierter Benutzer Avatar von lockstep
    Registriert seit
    31.08.2008
    Beiträge
    1.487
    Um die Option DIV nutzen zu können, musst du von der Standardklasse report auf die KOMA-Script-Klasse scrreprt umsteigen. Das ist auch aus anderen Gründen (erweiterte Einstellmöglichkeiten, typographisch bessere Voreinstellungen) wünschenswert.

    lockstep
    idxlayout - Konfigurierbares Index-Layout, kompatibel mit KOMA-Script und memoir

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

    das paket a4wide ist auch hoffnungslos veraltert und sollte nicht mehr verwendet werden. verwende einer der genannten koma-skript klassen oder verwende das gometry paket \usepackage[a4paper]{geometry}
    Mein Ball ist umgefallen

  14. #14
    Registrierter Benutzer
    Registriert seit
    06.08.2010
    Beiträge
    8
    KOMA hatte ich mal eingestellt, aber weil ich die Überschriften mit Serifenschrift haben möchte, hatte ich nicht den Eindruck, dass es mich irgendwie weiterbringt. (Enger setzt es die Überschriften doch nur wenn ich die serifenlose Schrift nehme, oder?)
    Das "a4wide" habe ich einfach aus einer alten Arbeit übernommen (irgendwie muss man ja reinkommen). Ist das neue Paket denn kompatibel zu dem was ich sonst so habe oder zerhackt es mir dann alles?

    Fragen über Fragen...

    Sonni

  15. #15
    Registrierter Benutzer Avatar von lockstep
    Registriert seit
    31.08.2008
    Beiträge
    1.487
    Wenn dein einziges Problem mit KOMA die fehlenden Serifen in Überschriften sind, hilft folgendes:

    Code:
    \addtokomafont{disposition}{\rmfamily}
    Die neue Klasse zerhackt nichts. a4wide kann hingegen einiges zerhacken.

    lockstep
    idxlayout - Konfigurierbares Index-Layout, kompatibel mit KOMA-Script und memoir

Stichworte

Lesezeichen

Berechtigungen

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