Ungewollter zusätzlicher Abstand bei {\raggedright\tiny ...}

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


Blumentopf

Ungewollter zusätzlicher Abstand bei {\raggedright\tiny ...}

Beitrag von Blumentopf »

Hallo,

mir ist aufgefallen, dass bei einer gewissen Konstellation ein zusätzlicher Abstand vor der letzten Zeile eingefügt wird und ich weiß nicht wieso. Ursprünglich ist mir dies aufgefallen, als ich bei scrlttr2 das location Feld mit Text aus der KOMA-Variablen frombank befüllt habe. Das Problem ist aber wohl nicht auf KOMA-Script zurückzuführen und ich habe ein allgemeineres Beispiel gefunden. Das Minimalbeispiel füge ich ans Ende des Posts, da es etwas länglich ist aufgrund der vielen Fallbeispiele.

Meine Ausgangssituation war ursprünglich Test 5a. Warum gibt es hier den Abstand vor der letzten Zeile? Und warum verschwindet der, wenn man wie in Test 5b auch in der letzten Zeile ein \\ setzt? (Der Abstand auf das darauffolgende scheint sich dabei zu verringern.)

Interessanterweise gibt es das Problem nicht, wenn man nicht tiny verwendet (Test 4a und 4b). Das Problem gibt es auch, wenn man \centering statt \raggedright verwendet.

Außerhalb einer { ... } Umgebung gibt es das Problem nicht (Test 10).

Kann mir das zufällig jemand erklären? Ist es ein Bug oder ein Feature? Und wie bekomme ich es hin, dass kein großer Abstand gesetzt wird?

(Ich wollte ursprünglich in besagtem location Feld etwas in normal großem Text setzen und darunter noch die Bankverbindung in {\footnotesize \usekomavar{frombank}}.)

Liebe Grüße

Blumentopf

Code: Alles auswählen

\documentclass[a4paper,%
               11pt,%
               version=last]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}

\begin{document}

Test 1:\\
ABC\\
ABC\\
ABC
\\

{%
    Test 2:\\
    ABC\\
    ABC\\
    ABC%
}
\\


{%
    \tiny
    Test 3a:\\
    ABC\\
    ABC\\
    ABC%
}
\\

{%
    \tiny
    Test 3b:

    ABC

    ABC

    ABC%
}
\\

{%
    \raggedright
    Test 4a:\\
    ABC\\
    ABC\\
    ABC%
}
\\

{%
    \raggedright
    Test 4b:\\
    ABC\\
    ABC\\
    ABC\\
}

{%
    \raggedright
    \tiny
    Test 5a:\\
    ABC\\
    ABC\\
    ABC%
}
\\

{%
    \raggedright
    \tiny
    Test 5b:\\
    ABC\\
    ABC\\
    ABC\\
}

{%
    \centering
    Test 6:\\
    ABC\\
    ABC\\
    ABC%
}
\\

{%
    \centering
    \tiny
    Test 7:\\
    ABC\\
    ABC\\
    ABC%
}
\\

\clearpage

{%
    \centering
    Test 8:\\
    ABC\\
    ABC\\
    ABC\\
}

{%
    \centering
    \tiny
    Test 9:\\
    ABC\\
    ABC\\
    ABC\\
}

\tiny
\raggedright
Test 10:\\
ABC\\
ABC\\
ABC

\end{document}

Gast

Beitrag von Gast »

Da fehlen die Absatzenden.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2483
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Zusätzlich kannst Du auch noch das hier lesen: https://texwelt.de/fragen/1849/was-ist- ... alsch/1850

Blumentopf

Beitrag von Blumentopf »

Vielen Dank euch beiden :). Jetzt klappt's!

Eine Frage zu einem Beispiel aus einem der Links:

Code: Alles auswählen

\documentclass{article}
\usepackage{blindtext}
\newcommand{\wichtig}[1]{{\large #1}}
\newcommand{\wichtigebemerkung}[1]{\par\wichtig{#1\par}}
\begin{document}
\wichtigebemerkung{\blindtext}
\end{document}
Warum werden bei der Definition von \wichtig doppelte geschweifte Klammern verwendet?

Code: Alles auswählen

% Also, warum
\newcommand{\wichtig}[1]{{\large #1}}

% statt nur
\newcommand{\wichtig}[1]{\large #1}
Beenden die einfachen Klammern im 2. Fall nicht auch die Gruppe?

MoeWe
Forum-Guru
Forum-Guru
Beiträge: 265
Registriert: Fr 30. Aug 2019, 15:35
Kontaktdaten:

Beitrag von MoeWe »

Die äußeren geschweiften Klammern in \newcommand gehören hier quasi zur Syntax von \newcommand und werden der Makrodefinition nicht mit zugeschlagen.

Prinzipiell funktioniert ein Makro

Code: Alles auswählen

\newcommand*{\foo}[1]{<Code mit #1>}
so, dass alle Vorkommen von \foo{<Irgendetwas>} im Dokument von TeX mit <Code mit #1> ersetzt werden, wobei #1 durch <Irgendetwas> ersetzt wird. Die äußeren Klammern zeigen dabei eigentlich immer nur an, was genau zum Argument des Makros gehört, sie werden nicht selbst als Ersetzung verwendet. Also wird z.B.

Code: Alles auswählen

\newcommand{\wichtigFALSCH}[1]{\large #1}
in

Code: Alles auswählen

lorem \wichtigFALSCH{ipsum} dolor
zu

Code: Alles auswählen

lorem \large ipsum dolor
denn der <Code mit #1> ist hier \large #1.

Code: Alles auswählen

\newcommand{\wichtigRICHTIG}[1]{{\large #1}}
wird in

Code: Alles auswählen

lorem \wichtigRICHTIG{ipsum} dolor
zu

Code: Alles auswählen

lorem {\large ipsum} dolor
denn da ist <Code mit #1> wegen der doppelten Klammern {\large #1}.

Code: Alles auswählen

\documentclass{article}
\usepackage{xcolor}
\newcommand{\wichtigFALSCH}[1]{\color{red} #1}
\newcommand{\wichtigRICHTIG}[1]{{\color{green} #1}}


\begin{document}
Lorem \wichtigRICHTIG{Ipsum} Dolor

Lorem \wichtigFALSCH{Ipsum} Dolor
\end{document}

Blumentopf

Beitrag von Blumentopf »

Ah, vielen Dank :).

Ich hake das Thema mal als beantwortet ab.

Antworten