Anzeige:
Ergebnis 1 bis 8 von 8

Thema: parskip-Einfluss auf Abstände bei Überschriften etc. eliminieren & \fontsize Problem

  1. #1
    Registrierter Benutzer Avatar von The EYE
    Registriert seit
    15.12.2008
    Ort
    Hameln
    Beiträge
    332

    parskip-Einfluss auf Abstände bei Überschriften etc. eliminieren & \fontsize Problem

    Hallo liebes Forum!

    Ich stehe am Anfang meiner Masterarbeit und was steht da als erstes an? Richtig, die LaTeX-Vorlage aufpolieren! Ich habe also meine letzte genommen und die ganzen (verschleppten...) Fehlermeldungen eliminiert, möglichst auf KOMA-Script umgebaut etc. Leider ist die Vorlage meines Profs eine MS Word Vorlage... Mit LaTeX hat er zum Glück kein Problem. Allerdings bin ich jetzt dabei die Abstände etc. seiner Vorlage möglichst gut in LaTeX zu übertragen. Der Klassiker... Eventuell kommen also noch mehr Threads zu Teilproblemen ;-)

    Nun geht es um die Abstände bei Überschriften und zwischen Absätzen und dann habe ich noch ein Problem mit \fontsize.

    1. Abstände
    Ich habe die Abstände bei den Überschriften aktuell so gelöst (hier mal für section und subsection):
    Code:
    \RedeclareSectionCommand[
      beforeskip = 12pt,
      afterskip = 12pt]{section}		%vor und nach section 12pt Abstand
    \RedeclareSectionCommand[
      beforeskip = 6pt,
      afterskip = 6pt]{subsection}		%vor subsection 6pt und nach subsection 6pt Abstand
    Das funktioniert von der Sache her schon sehr gut. Allerdings fehlt mir nun der Abstand bei Absätzen (brauche da eine Leerzeile). Im Handbuch zum KOMA-Script stehen alle möglichen Einstellungen zu parskip=Methode. full- klingt für mich perfekt:
    Absätze werden durch einen vertikalen Abstand von einer Zeile gekennzeichnet. Absatzenden werden nicht gekennzeichnet. [KOMA-Script, 5. Auflage, S. 91]
    Allerdings ändern sich bei der Verwendung von parskip auch die händisch eingestellten Abstände bei den Kapitelüberschriften! Zu sich durch parskip ändernden Abständen im Handbuch:
    Wird ein Absatzabstand verwendet, so verändert sich auch der Abstand vor, nach und innerhalb von Listenumgebungen. Dadurch wird verhindert, dass diese Umgebungen oder Abstände innerhalb dieser Umgebungen stärker vom Text abgesetzt werden als die Absätze des normalen Textes voneinander. Inhalts-, Abbildungs- und Tabellenverzeichnis werden immer ohne zusätzlichen Absatzabstand gesetzt. [KOMA-Script, 5. Auglage, S. 92]
    Wie gehe ich nun am besten vor? Hier das Minimalbeispiel dazu:
    Code:
    \documentclass[fontsize=12pt 
    ,parskip=full-
    ]
    {scrartcl}
    
    \usepackage[ngerman]{babel}
    
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{blindtext}
    
    \parindent 0pt  %kein Einrücken bei einem Absatz
    
    \RedeclareSectionCommand[
      beforeskip = 12pt,
      afterskip = 12pt]{section}		%vor und nach section 12pt Abstand
    \RedeclareSectionCommand[
      beforeskip = 6pt,
      afterskip = 6pt]{subsection}		%vor subsection 6pt und nach subsection 6pt Abstand
    
    \begin{document}
     \section{Test 1}
      \blindtext
     \section{Test 2}
      \blindtext
      
      \blindtext
      \subsection{Test 3}
       \blindtext
      \subsection{Test 4}
       \blindtext
      \section{Test 5}
       \blindtext
    \end{document}
    2. \fontsize Problem mit Fehlermeldung
    Ich hätte die Größe von section gerne in 16pt. Im KOMA-Script Buch wird auf fntguide verwiesen. Hier heißt es auf Seite 7:
    For example, to set the size to 12 without changing the baseline skip:
    \fontsize{12}{\f@baselineskip}
    Nach diesem Prinzip klappt es bei mir nicht. Kile gibt keine hilfreichen Fehlermeldungen aus (finished with exit code 1, Undefined control sequence \section{Test1} und so weiter). Die Log Datei enthält allerdings den Hinweis, dass \f das Problem zu sein scheint. Hier ein Auszug:
    Code:
    (/usr/local/texlive/2014/texmf-dist/tex/latex/base/t1cmss.fd
    File: t1cmss.fd 2014/09/29 v2.5h Standard LaTeX font definitions
    )
    ! Undefined control sequence.
     \f 
                  @baselineskip
    l.13  \section{Test 1}
                          
    The control sequence at the end of the top line
    of your error message was never \def'ed. If you have
    misspelled it (e.g., `\hobx'), type `I' and the correct
    spelling (e.g., `I\hbox'). Otherwise just continue,
    and I'll forget about whatever was undefined.
    
    ! Missing number, treated as zero.
     
                       @
    l.13  \section{Test 1}
                          
    A number should have been here; I inserted `0'.
    (If you can't figure out why I needed to see a number,
    look up `weird error' in the index to The TeXbook.)
    
    ! Illegal unit of measure (pt inserted).
     
                       @
    l.13  \section{Test 1}
                          
    Dimensions can be in units of em, ex, in, pt, pc,
    cm, mm, dd, cc, nd, nc, bp, or sp; but yours is a new one!
    I'll assume that you meant to say pt, for printer's points.
    To recover gracefully from this error, it's best to
    delete the erroneous units; e.g., type `2' to delete
    two letters. (See Chapter 27 of The TeXbook.)
    Das Minimalbeispiel dazu (ohne \f, Anweisung mit \f ist auskommentiert):
    Code:
    \documentclass[fontsize=12pt]{scrartcl}
    
    \usepackage[ngerman]{babel}
    
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{blindtext}
    
    %\setkomafont{section}{\fontsize{16}{\f@baselineskip}}
    \setkomafont{section}{\fontsize{16}{16}}
    
    \begin{document}
     \section{Test 1}
      \blindtext
     \section{Test 2}
      \blindtext
      
      \blindtext
      \subsection{Test 3}
       \blindtext
      \subsection{Test 4}
       \blindtext
      \section{Test 5}
       \blindtext
    \end{document}
    Ich könnte natürlich auch mit einer funktionierenden Vorgehensweise ohne \f glücklich werden. Dachte nur, dass es für mich am einfachsten wäre hier den eingestellten Wert zu lassen. Aber da bin ich mir ziemlich unsicher...

    Gruß Max
    ¹: Erstelle bitte ein richtiges Minimalbeispiel
    ²: Ich nutze Ubuntu 14.04, TeX Live 2014 & Kile 2.1.3

  2. #2
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Wegen des Fehlers: Es fehlt \makeatletter. Der Rest ist mir jetzt zu lang.

    Code:
    \makeatletter %macht @ zu einem Buchstaben
    \setkomafont{section}{\fontsize{16}{\f@baselineskip}}
    \makeatother

  3. #3
    Registrierter Benutzer Avatar von The EYE
    Registriert seit
    15.12.2008
    Ort
    Hameln
    Beiträge
    332
    Super, danke!

    Das erste Problem noch einmal in kurz:
    Abstände der Überschriften habe ich manuell eingestellt:
    Code:
    \RedeclareSectionCommand[
      beforeskip = 12pt,
      afterskip = 12pt]{section}		%vor und nach section 12pt Abstand
    \RedeclareSectionCommand[
      beforeskip = 6pt,
      afterskip = 6pt]{subsection}		%vor subsection 6pt und nach subsection 6pt Abstand
    Zwischen Absätzen hätte ich gerne eine Leerzeile, weshalb ich die Option parskip=full- geladen habe. Hierdurch verändern sich allerdings meine manuell eingestellten Abstände der Überschriften (werden deutlich größer). Nochmal das Beispiel:
    Code:
    \documentclass[fontsize=12pt 
    ,parskip=full-
    ]
    {scrartcl}
    
    \usepackage[ngerman]{babel}
    
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{blindtext}
    
    \parindent 0pt  %kein Einrücken bei einem Absatz
    
    \RedeclareSectionCommand[
      beforeskip = 12pt,
      afterskip = 12pt]{section}		%vor und nach section 12pt Abstand
    \RedeclareSectionCommand[
      beforeskip = 6pt,
      afterskip = 6pt]{subsection}		%vor subsection 6pt und nach subsection 6pt Abstand
    
    \begin{document}
     \section{Test 1}
      \blindtext
     \section{Test 2}
      \blindtext
      
      \blindtext
      \subsection{Test 3}
       \blindtext
      \subsection{Test 4}
       \blindtext
      \section{Test 5}
       \blindtext
    \end{document}
    Gruß Max
    ¹: Erstelle bitte ein richtiges Minimalbeispiel
    ²: Ich nutze Ubuntu 14.04, TeX Live 2014 & Kile 2.1.3

  4. #4
    Registrierter Benutzer
    Registriert seit
    09.12.2005
    Beiträge
    1.327
    Wozu setzt Du \parindent, das von Option parskip bereits auf 0 gesetzt wird, noch einmal explizit auf 0?

    Der Rest ist IMHO so absurd, dass ich daran nicht mitwirken will. Tut mir leid.

  5. #5
    Registrierter Benutzer Avatar von The EYE
    Registriert seit
    15.12.2008
    Ort
    Hameln
    Beiträge
    332
    Zitat Zitat von klops Beitrag anzeigen
    Wozu setzt Du \parindent, das von Option parskip bereits auf 0 gesetzt wird, noch einmal explizit auf 0?
    Mein Fehler! Hatte ich entfernt und getestet und angenommen, dass es doch einen Einzug gab. Kann ich jetzt nicht mehr nachvollziehen.* War natürlich Quatsch. Muss da etwas verdreht haben.

    Zitat Zitat von klops Beitrag anzeigen
    Der Rest ist IMHO so absurd, dass ich daran nicht mitwirken will. Tut mir leid.
    Das hilft mir nicht meine Fehler zu verbessern. Und ich bin gerne bereit dazu! Worauf beziehst du dich denn? Auf die Vorgaben? Darüber brauchen wir nicht zu sprechen... Auf die RedeclareSectionCommand-Befehle? Die werden so auch im scrguide als Beispiel aufgeführt. S. 390:
    Code:
    \RedeclareSectionCommand[%
    beforeskip=-10pt,%
    afterskip=1sp%
    ]{paragraph}
    Gruß Max

    * Vermutlich hatte ich da gerade parskip auskommentiert und nahm an es wäre nicht so...
    Geändert von The EYE (15-05-2015 um 10:34 Uhr)
    ¹: Erstelle bitte ein richtiges Minimalbeispiel
    ²: Ich nutze Ubuntu 14.04, TeX Live 2014 & Kile 2.1.3

  6. #6
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Wegen der Art, wie in LaTeX \@startsection definiert ist, ist es nicht möglich, einen "afterskip" zu bekommen, der kleiner als \parskip ist. Die Umdefinitionen von KOMA ändern da (leider) nichts dran. Um dein gewünschtes Verhalten zu erhalten, müsstest du also \section ganz anders definieren.

    Allerdings sieht ein Abstand von \section zum nachfolgenden Text, der kleiner als \parskip ist, eher bescheiden aus ...

  7. #7
    Registrierter Benutzer Avatar von The EYE
    Registriert seit
    15.12.2008
    Ort
    Hameln
    Beiträge
    332
    Danke für die Erklärung! Ich werde mal sehen, ob ich alternativ mit einem parskip=half- leben kann :-)

    Gruß Max
    ¹: Erstelle bitte ein richtiges Minimalbeispiel
    ²: Ich nutze Ubuntu 14.04, TeX Live 2014 & Kile 2.1.3

  8. #8
    Registrierter Benutzer
    Registriert seit
    09.12.2005
    Beiträge
    1.327
    Zitat Zitat von u_fischer Beitrag anzeigen
    Allerdings sieht ein Abstand von \section zum nachfolgenden Text, der kleiner als \parskip ist, eher bescheiden aus ...
    Zwischen \section und Text davor sieht es IMHO sogar noch schlimmer aus. Das gibt einen ganz falschen Eindruck davon, was zusammen gehört.

Lesezeichen

Berechtigungen

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