Falscher Zeilenabstand in neuer Umgebung

Falscher Zeilenabstand in neuer Umgebung

Ich brauche eine neue Umgebung mit anderer Schriftgröße, z. B. \large. Ich mache so etwasMWE:

\documentclass{article}
\usepackage{lipsum}   % dummy text
\usepackage{setspace} % for a 'forced' solution

\NewDocumentEnvironment{mynewenv}{}{\large}{}
\NewDocumentEnvironment{myotherenv}{}{\begin{spacing}{1}\large}{\end{spacing}}

\begin{document}
\begin{mynewenv}
\lipsum[1][1-4]

\lipsum[1][1-4]
\end{mynewenv}

Text outside environments and with normal size.
% 'forced' solution:
\begin{myotherenv}
\lipsum[1][1-4]

\lipsum[1][1-4]
\end{myotherenv}
\end{document}

das erzeugt dieAusgabe: Bildbeschreibung hier eingeben

Es scheint, dass der zweite Absatz nicht den gleichen Zeilenabstand hat wie der erste, also nehme ich an, dass ich etwas falsch mache.

Die letzten beiden Absätze sind ein Versuch, mithilfe des setspacePakets eine Lösung zu erzwingen. Es funktioniert gut, aber wie gesagt, ich bin sicher, dass ich etwas nicht richtig mache und es eine einfachere Lösung geben muss. Kann mir jemand helfen?

Antwort1

spacingWenn Sie sich die Definition von „by“ ansehen, setspace.stysehen Sie (Kommentare entfernt)

\newenvironment{spacing}[1]{%
  \par
  \begingroup
  \setstretch {#1}%
}{%
  \restore@spacing
}

und jetzt siehst du das

\newcommand{\restore@spacing}{%
  \par
  \vskip \parskip
  \vskip \baselineskip
  \endgroup
  \vskip -\parskip
  \vskip -\baselineskip
}

Man braucht aus dem Paket fast nichts, bis auf das Wesentliche, nämlich \param Anfang und am Ende.

\NewDocumentEnvironment{mynewenv}{}{\par\large}{\par}

Was ist der Grund für \param Ende? Wenn Sie es nicht haben, \largewird der Umfang von endet vor einem Absatz gesetzt und TeX verwendet den Grundlinienabstand, der gültig ist, wenn \parangetroffen wird, also im Allgemeinen von \normalsize.

verwandte Informationen