Seite 1 von 1

\hfill erzeugt merkwürdiges Ergebnis

Verfasst: Mo 6. Jun 2016, 11:16
von FelixF
Hallo alle zusammen,
bei der Entwicklung meiner Klasse bin ich auf ein merkwürdiges Problem gestoßen, welches ich nicht nachvollziehen kann.
\RequirePackage{filecontents}
\begin{filecontents}{test.cls}
    \NeedsTeXFormat{LaTeX2e}
    \ProvidesClass{test}[2016/06/01 v0.1 Test]
    \def\my@ClassName{test}
    
    % Speichern der zugrunde liegenden Datei
    \newcommand{\@BaseClass}{scrartcl}
    
    % Definition von Optionen
    \DeclareOption{article}{%
        \renewcommand{\@BaseClass}{scrartcl}
    }
    \DeclareOption{report}{%
        \renewcommand{\@BaseClass}{scrreprt}
    }
    
    % Optionen an Elternklasse übergeben
    \DeclareOption*{%
        \PassOptionsToClass{\CurrentOption}{\@BaseClass}
    }
    \ProcessOptions\relax
    
    % Laden der Elternklasse
    \LoadClass[
        a4paper,
        fontsize = 12pt,
        parskip  = half+
    ]{\@BaseClass}
    
    % Notwendige Pakete laden
%    \RequirePackage[T1]{fontenc}
%    \RequirePackage[utf8]{inputenc}
%    \RequirePackage[ngerman]{babel}
%    \RequirePackage{showframe}    
    \endinput
\end{filecontents}

\documentclass{test}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\begin{document}
    \blindtext
    
    \hrulefill
    
    \rule{\textwidth}{.2cm}
    \rule{\linewidth}{.2cm}
    
    Inhalt\hfill Inhalt
    Inhalt\hspace*{\fill} Inhalt


\end{document}
Das Problem ist folgendes, dass bei Verwendung von \hfill nicht die komplette Seitenbreite verwendet wird. Wodurch wird dieses Verhalten erzeugt und wie kann man es beheben?

Edit: Wie ich eben gesehen habe, bekomme ich ein anderes Ergebnis als bei Overleaf. Ich verwendet MiKTeX mit aktuellen Update.
Im Anhang ist mein Ergebnis zu finden.

Danke und eine schöne Woche
Felix

Verfasst: Mo 6. Jun 2016, 11:19
von DADABBI
Das ergibt sich aus dem + bei Option parskip. Siehe dazu die KOMA-Script-Anleitung oder das KOMA-Script-Buch.

Verfasst: Mo 6. Jun 2016, 11:27
von FelixF
Danke für die sehr schnelle Antwort und für den Hinweis.
Absatzenden werden durch einen Leerraum von mind. einem Drittel einer normalen Zeile gekennzeichnet.
Daran habe ich nicht mehr gedacht gehabt. Gibt es eine Möglichkeit die Absätze mit parskip=half+ zu benutzen und trotzdem \hfill oder einen äquivalenten Befehl benutzen zu können, um den Leerraum auszufüllen?

Edit: Wer lesen kann ist klar im Vorteil. Mit parskip=half- kann das gewünschte verhalten erreicht werden.