
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}
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 setspace
Pakets 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
spacing
Wenn Sie sich die Definition von „by“ ansehen, setspace.sty
sehen 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 \par
am Anfang und am Ende.
\NewDocumentEnvironment{mynewenv}{}{\par\large}{\par}
Was ist der Grund für \par
am Ende? Wenn Sie es nicht haben, \large
wird der Umfang von endet vor einem Absatz gesetzt und TeX verwendet den Grundlinienabstand, der gültig ist, wenn \par
angetroffen wird, also im Allgemeinen von \normalsize
.