von Gast » Mo 20. Aug 2018, 11:05
Probier mal
\documentclass[paper=a4, 12pt, oneside, headsepline, headings=optiontoheadandtoc]{scrbook}
\usepackage[french, ngerman]{babel}
\usepackage[backend=biber, style=authoryear-comp, isbn=false, dashed=false, maxitems=2, maxnames=3, uniquename=false]{biblatex}
\renewcommand*{\postnotedelim}{\addcolon\space}
\usepackage[utf8]{inputenc}
\usepackage[babel, german=quotes]{csquotes}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{lmodern}
\usepackage{framed}
\usepackage{enumerate} \usepackage{enumitem}
\usepackage{pdfpages}
\pdfoptionpdfminorversion=5
\usepackage{booktabs}
\usepackage{textcomp}
\usepackage{etoolbox}
\usepackage{kantlipsum}
\usepackage{tabularx}
\usepackage{setspace}
\setstretch{1.3} %Zeilenabstand im Fließtext
\AtBeginBibliography{\singlespacing} %in Bibliographie einfacher Zeilenabstand
\usepackage{chngcntr}
\usepackage{float}
\usepackage{microtype}
\setkomafont{pagehead}{\normalfont\footnotesize}
\usepackage{cleveref}
\makeatletter
\newlength{\bsplabelwidth}
\setlength{\bsplabelwidth}{\labelwidth}
\newlength{\bsplabelwidthmax}
\newlength{\bsplabelwidthtmp}
\AtEndDocument{%
\ifbool{@filesw}
{\immediate\write\@mainaux{%
\global\deflength{\bsplabelwidth}{\the\bsplabelwidthmax}}}
{}%
}
%BSP
\newcounter{bsp}
\newcommand*{\bspformat}[1]{Bsp.~#1}
\newenvironment{bsp}
{\list{}{%
\setlength{\labelwidth}{\bsplabelwidth}%
\setlength{\leftmargin}{\labelwidth}%
\addtolength{\leftmargin}{\labelsep}%
\setlength{\rightmargin}{1cm}%
\renewcommand*{\makelabel}[1]{##1\hss}}%
\refstepcounter{bsp}%
\settowidth{\bsplabelwidthtmp}{\bspformat{\thebsp}}%
\ifdimgreater{\bsplabelwidthtmp}{\bsplabelwidthmax}
{\global\deflength{\bsplabelwidthmax}{\bsplabelwidthtmp}}
{}%
\small
\setstretch{1}%
\item[\bspformat{\thebsp}]}
{\endlist}
\makeatother
\crefname{bsp}{Bsp.}{Bsp.}
% ASP
\newcounter{asp}
\newcommand*{\aspformat}[1]{Asp.~#1}
\newenvironment{asp}
{\refstepcounter{asp}
\list{}{%
\settowidth{\labelwidth}{\aspformat{\theasp}}%
\setlength{\leftmargin}{\labelwidth}%
\addtolength{\leftmargin}{\labelsep}%
\setlength{\rightmargin}{1cm}%
\renewcommand*{\makelabel}[1]{##1\hss}}%
\small
\setstretch{1}%
\item[\aspformat{\theasp}]}
{\endlist}
\crefname{asp}{Asp.}{Asp.}
% eingerückte Zitate
\newenvironment{myquote}%bei quote wird das Zitat beidseitig eingerückt, bei list nicht unbedingt
{\vspace{0pt}\begin{quote}
%\setlength{\parskip}{0cm}
\renewcommand{\baselinestretch}{1.00}
\small}
{\end{quote}\vspace{-4pt}}
\bibliography{Dokument}
\begin{document}
Hier steht ein Text, in normaler Schriftgröße und in eineinhalbfachem Zeilenabstand. Das bleibt nun auch so. Hier also alles super.
\begin{asp}
Hier steht nun das Beispiel, in Schriftgröße \string\small. Leider ist der Zeilenabstand aber immer noch 1.5. Ich hätte ihn gerne auf 1.00.
\end{asp}
Hier steht wieder normaler Text.
\begin{bsp}
Hier steht nun das zweite Beispiel, in Schriftgröße \string\small. Leider ist der Zeilenabstand aber immer noch 1.5. Ich hätte ihn gerne auf 1.00.
\end{bsp}
\end{document}
Wenn Du \baselinestretch umdefinieren möchtest, brauchst Du ein \selectfont danach. Mit \setstretch passiert das automatisch.
Das \setstretch darf außerdem nicht im zweiten Argument von \list stehen wie in
\newenvironment{asp}
{\refstepcounter{asp}
\list{}{%
\small % -> hat keine Formatierung zur Folge
\renewcommand{\baselinestretch}{1.00} % -> hat keine Formatierung zur Folge
\settowidth{\labelwidth}{\aspformat{\theasp}}%
\setlength{\leftmargin}{\labelwidth}%
\addtolength{\leftmargin}{\labelsep}%
\setlength{\rightmargin}{1cm}%
\renewcommand*{\makelabel}[1]{##1\hss}}%
\item[\aspformat{\theasp}]}
{\endlist}
es muss nach dem \list-Aufruf kommen.
\newenvironment{asp}
{\refstepcounter{asp}
\list{}{%
\settowidth{\labelwidth}{\aspformat{\theasp}}%
\setlength{\leftmargin}{\labelwidth}%
\addtolength{\leftmargin}{\labelsep}%
\setlength{\rightmargin}{1cm}%
\renewcommand*{\makelabel}[1]{##1\hss}}%
\small
\setstretch{1}%
\item[\aspformat{\theasp}]}
{\endlist}
das hängt damit zusammen, wie TeX Absätze baut. \setstretch beziehen sich immer auf den ganzen aktuellen Absatz. Egal wo im Folgenden das \setstretch steht, es hat überall dieselbe Auswirkung
\par
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \setstretch{4} Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
\par
(ich habe hier explizit \par geschrieben, um den Absatz zu kennzeichnen, normalerweise lässt man einfach eine ganze Zeile leer). Insbesondere bewirkt auch ein \setstretch ganz am Ende des Absatzes eine Änderung des Zeilenabstandes. Erst wenn Du \setstretch nach der Leerzeile/dem \par ausführst, hat es keine Auswirkung auf den Absatz mehr.
Wenn man sich die interne Definition von \list ansieht, dann stellt man fest, dass das zweite Argument ausgeführt wird, bevor der vorherige Absatz (wenn nötig) beendet wird. Wenn Du den vorherigen Absatz nicht selbst beendest, würde das \setstretch also zu früh ausgeführt. Daher ist es eine Lösung, das \setstretch nach dem \list auszuführen, denn da ist der vorherige Absatz garantiert beendet. Alternativ könntest Du den vorherigen Absatz auch explizit schon vorher mit \par beenden.
Probier mal
[code]\documentclass[paper=a4, 12pt, oneside, headsepline, headings=optiontoheadandtoc]{scrbook}
\usepackage[french, ngerman]{babel}
\usepackage[backend=biber, style=authoryear-comp, isbn=false, dashed=false, maxitems=2, maxnames=3, uniquename=false]{biblatex}
\renewcommand*{\postnotedelim}{\addcolon\space}
\usepackage[utf8]{inputenc}
\usepackage[babel, german=quotes]{csquotes}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{lmodern}
\usepackage{framed}
\usepackage{enumerate} \usepackage{enumitem}
\usepackage{pdfpages}
\pdfoptionpdfminorversion=5
\usepackage{booktabs}
\usepackage{textcomp}
\usepackage{etoolbox}
\usepackage{kantlipsum}
\usepackage{tabularx}
\usepackage{setspace}
\setstretch{1.3} %Zeilenabstand im Fließtext
\AtBeginBibliography{\singlespacing} %in Bibliographie einfacher Zeilenabstand
\usepackage{chngcntr}
\usepackage{float}
\usepackage{microtype}
\setkomafont{pagehead}{\normalfont\footnotesize}
\usepackage{cleveref}
\makeatletter
\newlength{\bsplabelwidth}
\setlength{\bsplabelwidth}{\labelwidth}
\newlength{\bsplabelwidthmax}
\newlength{\bsplabelwidthtmp}
\AtEndDocument{%
\ifbool{@filesw}
{\immediate\write\@mainaux{%
\global\deflength{\bsplabelwidth}{\the\bsplabelwidthmax}}}
{}%
}
%BSP
\newcounter{bsp}
\newcommand*{\bspformat}[1]{Bsp.~#1}
\newenvironment{bsp}
{\list{}{%
\setlength{\labelwidth}{\bsplabelwidth}%
\setlength{\leftmargin}{\labelwidth}%
\addtolength{\leftmargin}{\labelsep}%
\setlength{\rightmargin}{1cm}%
\renewcommand*{\makelabel}[1]{##1\hss}}%
\refstepcounter{bsp}%
\settowidth{\bsplabelwidthtmp}{\bspformat{\thebsp}}%
\ifdimgreater{\bsplabelwidthtmp}{\bsplabelwidthmax}
{\global\deflength{\bsplabelwidthmax}{\bsplabelwidthtmp}}
{}%
\small
\setstretch{1}%
\item[\bspformat{\thebsp}]}
{\endlist}
\makeatother
\crefname{bsp}{Bsp.}{Bsp.}
% ASP
\newcounter{asp}
\newcommand*{\aspformat}[1]{Asp.~#1}
\newenvironment{asp}
{\refstepcounter{asp}
\list{}{%
\settowidth{\labelwidth}{\aspformat{\theasp}}%
\setlength{\leftmargin}{\labelwidth}%
\addtolength{\leftmargin}{\labelsep}%
\setlength{\rightmargin}{1cm}%
\renewcommand*{\makelabel}[1]{##1\hss}}%
\small
\setstretch{1}%
\item[\aspformat{\theasp}]}
{\endlist}
\crefname{asp}{Asp.}{Asp.}
% eingerückte Zitate
\newenvironment{myquote}%bei quote wird das Zitat beidseitig eingerückt, bei list nicht unbedingt
{\vspace{0pt}\begin{quote}
%\setlength{\parskip}{0cm}
\renewcommand{\baselinestretch}{1.00}
\small}
{\end{quote}\vspace{-4pt}}
\bibliography{Dokument}
\begin{document}
Hier steht ein Text, in normaler Schriftgröße und in eineinhalbfachem Zeilenabstand. Das bleibt nun auch so. Hier also alles super.
\begin{asp}
Hier steht nun das Beispiel, in Schriftgröße \string\small. Leider ist der Zeilenabstand aber immer noch 1.5. Ich hätte ihn gerne auf 1.00.
\end{asp}
Hier steht wieder normaler Text.
\begin{bsp}
Hier steht nun das zweite Beispiel, in Schriftgröße \string\small. Leider ist der Zeilenabstand aber immer noch 1.5. Ich hätte ihn gerne auf 1.00.
\end{bsp}
\end{document}[/code]
Wenn Du [tt]\baselinestretch[/tt] umdefinieren möchtest, brauchst Du ein [tt]\selectfont[/tt] danach. Mit [tt]\setstretch[/tt] passiert das automatisch.
Das [tt]\setstretch[/tt] darf außerdem nicht im zweiten Argument von [tt]\list[/tt] stehen wie in
[code]\newenvironment{asp}
{\refstepcounter{asp}
\list{}{%
\small % -> hat keine Formatierung zur Folge
\renewcommand{\baselinestretch}{1.00} % -> hat keine Formatierung zur Folge
\settowidth{\labelwidth}{\aspformat{\theasp}}%
\setlength{\leftmargin}{\labelwidth}%
\addtolength{\leftmargin}{\labelsep}%
\setlength{\rightmargin}{1cm}%
\renewcommand*{\makelabel}[1]{##1\hss}}%
\item[\aspformat{\theasp}]}
{\endlist}[/code]
es muss nach dem [tt]\list[/tt]-Aufruf kommen.
[code]\newenvironment{asp}
{\refstepcounter{asp}
\list{}{%
\settowidth{\labelwidth}{\aspformat{\theasp}}%
\setlength{\leftmargin}{\labelwidth}%
\addtolength{\leftmargin}{\labelsep}%
\setlength{\rightmargin}{1cm}%
\renewcommand*{\makelabel}[1]{##1\hss}}%
\small
\setstretch{1}%
\item[\aspformat{\theasp}]}
{\endlist}[/code]
das hängt damit zusammen, wie TeX Absätze baut. [tt]\setstretch[/tt] beziehen sich immer auf den ganzen aktuellen Absatz. Egal wo im Folgenden das [tt]\setstretch[/tt] steht, es hat überall dieselbe Auswirkung
[code]\par
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \setstretch{4} Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
\par[/code]
(ich habe hier explizit [tt]\par[/tt] geschrieben, um den Absatz zu kennzeichnen, normalerweise lässt man einfach eine ganze Zeile leer). Insbesondere bewirkt auch ein [tt]\setstretch[/tt] ganz am Ende des Absatzes eine Änderung des Zeilenabstandes. Erst wenn Du [tt]\setstretch[/tt] nach der Leerzeile/dem [tt]\par[/tt] ausführst, hat es keine Auswirkung auf den Absatz mehr.
Wenn man sich die interne Definition von [tt]\list[/tt] ansieht, dann stellt man fest, dass das zweite Argument ausgeführt wird, bevor der vorherige Absatz (wenn nötig) beendet wird. Wenn Du den vorherigen Absatz nicht selbst beendest, würde das [tt]\setstretch[/tt] also zu früh ausgeführt. Daher ist es eine Lösung, das [tt]\setstretch[/tt] nach dem [tt]\list[/tt] auszuführen, denn da ist der vorherige Absatz garantiert beendet. Alternativ könntest Du den vorherigen Absatz auch explizit schon vorher mit [tt]\par[/tt] beenden.