Anzeige:
Ergebnis 1 bis 6 von 6

Thema: negative Auswirkung der parskip=half-Option von scrbook

  1. #1
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685

    negative Auswirkung der parskip=half-Option von scrbook

    Wie im folgenden Beispiel zu sehen (bei abwechselndem Auskommentieren der beiden \documentclass-Anweisungen), wird durch die scrbook-Option "parskip=half" ein unerwünschter Effekt in der index-Umgebung erzeugt. Ist das jetzt ein Bug oder ein Feature? Aber viel interessanter: Was kann ich dagegen unternehmen?

    Code:
    %\documentclass[parskip=half,10pt]{scrbook}
    \documentclass[10pt]{scrbook}
    \usepackage[ngerman]{babel}
    \usepackage[latin1]{inputenc}
    \usepackage{multicol}
    \setlength{\textwidth}{11.1cm}
    \makeatletter
    \bgroup \lccode`\.=`\,\relax \catcode`\,=\active \lowercase
    {\egroup
    \renewenvironment{theindex}{%
      \columnseprule \z@
      \columnsep 35\p@
      \begin{raggedright}
      \begin{multicols}{2}
      \thispagestyle{plain}\parindent\z@
      \parskip\z@ \@plus .3\p@\relax
      \let\item\@idxitem
      \small
    }{%
      \end{multicols}
      \end{raggedright}
    }}
    \makeatother
    \begin{document}
    \begin{theindex}
      \item Test\quad\hfill 999
      \item Pulskompressionsverhältnis\quad\hfill
            54
      \item Pulskompressionsverhältnis\quad\hfill
            54,
      \item Pulskompressionsverhältnis\quad\hfill
            54, 56
      \item Test\quad\hfill 999
      \item Pulskompressionsverhältnis\quad\hfill\penalty100
            54
      \item Pulskompressionsverhältnis\quad\hfill\penalty100
            54,
      \item Pulskompressionsverhältnis\quad\hfill\penalty100
            54, 56
      \item Test\quad\hfill 999
      \item Pulskompressionsverhältnis\quad\hfill\penalty100\hspace*{\fill}
            54
      \item Pulskompressionsverhältnis\quad\hfill\penalty100\hspace*{\fill}
            54,
      \item Pulskompressionsverhältnis\quad\hfill\penalty100\hspace*{\fill}
            54, 56
      \item Test\quad\hfill 999
    \end{theindex}
    \end{document}
    Die verschiedenen \hfill\penalty usw. Kombinationen stammen aus der Index-Datei und können hier wohl vorerst ignoriert werden.

  2. #2
    Registrierter Benutzer
    Registriert seit
    31.03.2010
    Beiträge
    1.039
    Du weist schon, dass Du die parskip-Option auch im Dokument, beispielsweise vor dem Index umschalten kannst?
    Code:
    \KOMAoptions{parskip=false}\selectfont
    oder auch andere Spielarten wie
    Code:
    \KOMAoptions{parskip=half-}\selectfont
    sind jederzeit möglich.

    Ansonsten solltest Du Dich bei der Umdefinierung von Umgebungen aus KOMA-Script vielleicht besser an den Originaldefinitionen von KOMA-Script orientieren. In der Originaldefinition gibt es nämlich eine vollständige Behandlung für den Fall, dass eine parskip-Einstellung wie half verwendet wird.

    Wenn ich das richtig sehe, willst Du in erster Linie eine kleinere Schrift und das multicols-Paket für den Index. Dafür musst Du AFAIK nicht die komplette Umgebung neu definieren. Wenn man splitindex verwenden (geht auch mit nur einem Index) kann man das über \extendtheindex realisieren:
    Code:
    \documentclass[parskip=half,10pt]{scrbook}
    %\documentclass[10pt]{scrbook}
    \usepackage[ngerman]{babel}
    \usepackage[latin1]{inputenc}
    \usepackage{multicol}
    \usepackage{splitidx}
    \setlength{\textwidth}{11.1cm}
    \makeatletter
    \extendtheindex{% siehe u. a. das Beispiel auf Seite 10 von splitidx.pdf
      \let\twocolumn\@firstoptofone
      \let\onecolumn\@firstoptofone
      \let\clearpage\relax
    }{%
      \begin{multicols}{2}
      \small
    }{%
      \end{multicols}
    }{%
    }
    \makeatother
    \begin{document}
    \begin{theindex}
      \item Test\quad\hfill 999
      \item Pulskompressionsverhältnis\quad\hfill
            54
      \item Pulskompressionsverhältnis\quad\hfill
            54,
      \item Pulskompressionsverhältnis\quad\hfill
            54, 56
      \item Test\quad\hfill 999
      \item Pulskompressionsverhältnis\quad\hfill\penalty100
            54
      \item Pulskompressionsverhältnis\quad\hfill\penalty100
            54,
      \item Pulskompressionsverhältnis\quad\hfill\penalty100
            54, 56
      \item Test\quad\hfill 999
      \item Pulskompressionsverhältnis\quad\hfill\penalty100\hspace*{\fill}
            54
      \item Pulskompressionsverhältnis\quad\hfill\penalty100\hspace*{\fill}
            54,
      \item Pulskompressionsverhältnis\quad\hfill\penalty100\hspace*{\fill}
            54, 56
      \item Test\quad\hfill 999
    \end{theindex}
    \end{document}

  3. #3
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685
    Code:
    \KOMAoptions{parskip=false}\selectfont
    Ich kann mich dunkel erinnern, das mal gesehen zu haben. Im Beispiel hilft das auch bestens ... Ich bin noch dabei, das an verschiedenen Stellen (vor \printindex, in der index-Umgebung, ...) zu testen: Bisher hat es leider noch nicht zum gewünschten Ergebnis geführt. Hier werde ich morgen weitermachen und mich wieder melden.

    Vielen Dank für den Tip!

  4. #4
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685
    So, jetzt habe ich an allen möglichen Stellen im (vollständigen) Dokument die Zeile

    Code:
     \KOMAoptions{parskip=false}\selectfont
    getestet. Im Gegensatz zum Minimalbeispiel hat dies jedoch nicht die geringste Auswirkungen, weder auf den Index noch auf den Text selbst. Ich werde jetzt noch einmal versuchen, dem auf die Spur zu kommen. Aber trotzdem hier schon mal die Frage: Kann sich jemand vorstellen, in welcher Richtung dieses Phänomen seine Ursache haben könnte?


    Aktualisierung:

    Mit dem folgenden Beispiel zeigt sich, dass ragged2e die Wirkung der oben genannten Anweisung neutralisiert.

    Code:
    \documentclass[parskip=half,10pt]{scrbook}
    \usepackage[ngerman]{babel}
    \usepackage[latin1]{inputenc}
    \usepackage{multicol}
    \usepackage{ragged2e}
    \setlength{\textwidth}{10.8cm}
    \makeatletter
    \bgroup \lccode`\.=`\,\relax \catcode`\,=\active \lowercase
    {\egroup
    \renewenvironment{theindex}{%
      \columnseprule \z@
      \columnsep 35\p@
      \begin{raggedright}
      \begin{multicols}{2}
      \thispagestyle{plain}\parindent\z@
      \parskip\z@ \@plus .3\p@\relax
      \let\item\@idxitem
      \small
    }{%
      \end{multicols}
      \end{raggedright}
    }}
    \makeatother
    \begin{document}
    \KOMAoptions{parskip=false}\selectfont
    \begin{theindex}
      \item Test\quad\hfill 999
      \item Pulskompressionsverhältnis\quad\hfill
            54
      \item Pulskompressionsverhältnis\quad\hfill
            54,
      \item Pulskompressionsverhältnis\quad\hfill
            54, 56
      \item Test\quad\hfill 999
      \item Pulskompressionsverhältnis\quad\hfill\penalty100
            54
      \item Pulskompressionsverhältnis\quad\hfill\penalty100
            54,
      \item Pulskompressionsverhältnis\quad\hfill\penalty100
            54, 56
      \item Test\quad\hfill 999
      \item Pulskompressionsverhältnis\quad\hfill\penalty100\hspace*{\fill}
            54
      \item Pulskompressionsverhältnis\quad\hfill\penalty100\hspace*{\fill}
            54,
      \item Pulskompressionsverhältnis\quad\hfill\penalty100\hspace*{\fill}
            54, 56
      \item Test\quad\hfill 999
    \end{theindex}
    \end{document}
    Geändert von LuPi (22-10-2010 um 13:53 Uhr)

  5. #5
    Registrierter Benutzer
    Registriert seit
    31.03.2010
    Beiträge
    1.039
    Warum verwendest Du nicht die funktionierende Lösung, die ich gezeigt habe, statt theindex komplett neu zu definieren? Warum orientierst Du Dich bei der kompletten Neudefinition nicht wenigstens an der Originaldefinition in KOMA-Script, wie ich das empfohlen habe?

    \raggedright ist übrigens ein Schalter und ich sehe nicht, warum Du den in Deinem Beispiel als Umgebung verwendest. Die Wirkung endet ohnehin bei \end{theindex}.
    Code:
    \documentclass[parskip=half,10pt]{scrbook}
    %\documentclass[10pt]{scrbook}
    \usepackage[ngerman]{babel}
    \usepackage[latin1]{inputenc}
    \usepackage{multicol}
    \usepackage{ragged2e}
    \usepackage{splitidx}
    \setlength{\textwidth}{11.1cm}
    \makeatletter
    \extendtheindex{% siehe u. a. das Beispiel auf Seite 10 von splitidx.pdf
      \let\twocolumn\@firstoptofone
      \let\onecolumn\@firstoptofone
      \let\clearpage\relax
    }{%
      \raggedright
      \begin{multicols}{2}
      \small
    }{%
      \end{multicols}
    }{%
    }
    \makeatother
    \begin{document}
    \begin{theindex}
      \item Test\quad\hfill 999
      \item Pulskompressionsverhältnis\quad\hfill
            54
      \item Pulskompressionsverhältnis\quad\hfill
            54,
      \item Pulskompressionsverhältnis\quad\hfill
            54, 56
      \item Test\quad\hfill 999
      \item Pulskompressionsverhältnis\quad\hfill\penalty100
            54
      \item Pulskompressionsverhältnis\quad\hfill\penalty100
            54,
      \item Pulskompressionsverhältnis\quad\hfill\penalty100
            54, 56
      \item Test\quad\hfill 999
      \item Pulskompressionsverhältnis\quad\hfill\penalty100\hspace*{\fill}
            54
      \item Pulskompressionsverhältnis\quad\hfill\penalty100\hspace*{\fill}
            54,
      \item Pulskompressionsverhältnis\quad\hfill\penalty100\hspace*{\fill}
            54, 56
      \item Test\quad\hfill 999
    \end{theindex}
    \end{document}

  6. #6
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685
    Scheint auf den ersten Blick bestens zu funktionieren (Nebenwirkungen sollte es wohl kaum geben). Danke für den Hinweis - ich hatte befürchtet, dass das umfangreichere Umbaumaßnahmen nach sich zieht. Und da am Montag eigentlich die Abgabe des Manuskripts fällig ist, hätte ich da ein Problem gesehen. Aber das lief jetzt problemlos ...

Lesezeichen

Berechtigungen

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