Zusätzlicher Zeilenabstand im zweiseitigen Modus mit scrlttr2 und Tcolorbox-Umgebung, die die Zitatumgebung neu definiert

Zusätzlicher Zeilenabstand im zweiseitigen Modus mit scrlttr2 und Tcolorbox-Umgebung, die die Zitatumgebung neu definiert

Beim Experimentieren mit zweiseitigen Einstellungen in scrlttr2bei der Verwendung von Anführungszeichen in Kombination mit tcolorboxbin ich auf eine Merkwürdigkeit gestoßen. Das folgende Beispiel zeigt Zeilenabstände im Text außerhalb der Anführungszeichenumgebungsfelder. Dies wird nur im zweiseitigen Modus angezeigt und nur mit beforeafter skip=\baselineskipin dem tcolorboxenvironmentAufruf, der neu definiert quoting. Ich bin verwirrt, was dies verursacht, da es offensichtlich nichts mit der Anführungszeichenumgebung oder der Zweiseitigkeit zu tun hat.

%\documentclass[12pt, sections, headheight=30pt, headinclude, 
%firstfoot=false, enlargefirstpage=true, 
%foldmarks=false,foldmarks=blmtP, fromalign=center, fromphone, 
%fromemail, version=last, backaddress=false, subject=titled 
%{scrlttr2}

\documentclass[12pt, sections, headheight=30pt, headinclude, 
firstfoot=false, enlargefirstpage=true, 
foldmarks=false,foldmarks=blmtP, fromalign=center, fromphone, 
fromemail, version=last, backaddress=false, subject=titled, twoside] 
{scrlttr2}

\usepackage[most]{tcolorbox}
\usepackage{quoting}
\usepackage[T1]{fontenc}
\usepackage{fouriernc}
\tcolorboxenvironment{quoting}{beforeafter skip=\baselineskip, boxrule=2pt, sharp corners, breakable, skin=enhanced, colback=white}
%\tcolorboxenvironment{quoting}{boxrule=2pt, sharp corners, breakable, skin=enhanced, colback=white}

\ExplSyntaxOn
\NewDocumentCommand{\dummy}{m m m}
{
  \prg_replicate:nn { #3 }
  {
    \prg_replicate:nn { #2 } { #1 \hfill } \dummy_endline:
  }
}
\cs_new:Npn \dummy_endline:
{ { \parfillskip=0pt\par } }

\ExplSyntaxOff

\begin{document}
\setkomavar{fromname}{Name}
\setkomavar{fromaddress}{Address}
\renewcommand{\phonename}{Landline}
\renewcommand{\mobilephonename}{Mobile}
\setkomavar{frommobilephone}{Mobile}
\setkomavar{fromemail}{Email}
\setkomavar{signature}{(\usekomavar{fromname})}
\setkomavar{subject}{Subject}
\setkomavar{date}{\today}

\setkomavar{firsthead}{%
  \parbox{\linewidth}{\centering
    \textbf{\jobname.tex} \input{"| hg log -v -l 1 \jobname.tex --template '{node}  {date|isodate}'"}
    \ifhmode \\ \fi
    {\fontfamily{pzc}\selectfont
      \hspace{\textwidth}
      \usekomavar{fromname}\\
      \usekomavar{fromaddress}\\
      \usekomavar*{mobilephoneseparator}\usekomavar{mobilephoneseparator}\usekomavar{frommobilephone}\\
      \usekomavar*{emailseparator}\usekomavar{emailseparator}\usekomavar{fromemail}
    }
  }%
}

\makeatletter
\@addtoplength{firstheadvpos}{30pt}
\@addtoplength{toaddrvpos}{40pt}
\@addtoplength{refvpos}{10pt}
\@addtoplength{sigbeforevskip}{20pt}
\makeatletter\@setplength{sigindent}{0.5\linewidth}\makeatother
\makeatother

\def\today{20th February, 2019}
\begin{letter}{
    Someone\\
    Company\\
    Building\\
    Street\\
    City
  }

  \opening{Hi}

  \dummy{HelloWorld!}{3}{5}
  \begin{quoting}
    \dummy{AlohaWorld!}{3}{3}
  \end{quoting}

  \dummy{BonjourWorld!}{3}{3}

  \begin{quoting}
    \begin{tabular}{p{4.5in}r}
      \textbf{\dummy{CiaoWorld!}{3}{1}  }  & \\
      \dummy{CiaoWorld!}{3}{2}             & \dummy{CiaoWorld!}{1}{1}
    \end{tabular}
  \end{quoting}

  \closing{Yours Sincerely,}

\end{letter}
\end{document}

NACHTRAG: Eine hoffentlich vereinfachte Version, die eher dem entspricht, was ich tatsächlich sehe.

\documentclass[12pt,sections,headheight=30pt,headinclude,firstfoot=false,enlargefirstpage=true,foldmarks=false,foldmarks=blmtP,fromalign=center,,version=last, backaddress=false, subject=titled, twoside=semi]{scrlttr2}

%\documentclass[12pt,sections,headheight=30pt,headinclude,firstfoot=false,enlargefirstpage=true,foldmarks=false,foldmarks=blmtP,fromalign=center,version=last, backaddress=false, subject=titled]{scrlttr2}
\usepackage{quoting}
\usepackage[most]{tcolorbox}
\usepackage[T1]{fontenc}
\usepackage{fouriernc}

\tcolorboxenvironment{quoting}{beforeafter skip=\baselineskip, boxrule=2pt,sharp corners,breakable,skin=enhanced,colback=white}

%\tcolorboxenvironment{quoting}{boxrule=2pt,sharp corners,breakable,skin=enhanced,colback=white}

\begin{document}
%\setkomavar{subject}{Subject Subject Subject Subject Subject Subject Subject Subject Subject Subject Subject  }
\setkomavar{subject}{Subject}

\makeatletter
\@addtoplength{firstheadvpos}{30pt}
\@addtoplength{toaddrvpos}{40pt}
\@addtoplength{refvpos}{10pt}
\@addtoplength{sigbeforevskip}{20pt}
\makeatletter\@setplength{sigindent}{0.5\linewidth}\makeatother
\makeatother

\begin{letter}{
    To Address
  }

  \opening{Hi,}

  Line 1.\\
  Line 2.\\
  Line 3.\\

  Line 1.\\
  Line 2.\\

  \begin{quoting}
    Line 1\\
    Line 2\\
  \end{quoting}
  Line 1\\
  Line 2\\
  \begin{quoting}
    Line 1\\
    Line 2\\
  \end{quoting}

\closing{Yours Sincerely,}
\end{letter}

\end{document}

Unten sehen Sie die erste Seite der resultierenden 2-seitigen Datei, die das Problem veranschaulicht.

Bildbeschreibung hier eingeben

Antwort1

Bei Verwendung von twoside wird die Klasse aktiviert (wie es andere Klassen oft tun) \flushbottom. Das bedeutet, dass LaTeX versucht, die Seite zu füllen und dafür den Parskip streckt.

Der Effekt verschwindet, wenn Sie das beforeafter skip=\baselineskip,„as“ entfernen. Dann passt der Brief auf eine Seite.

Im Einseitenmodus erhalten Sie dasselbe, wenn Sie hinzufügen \flushbottom.

Um das Problem zu vermeiden, fügen Sie hinzu\raggedbottom

Antwort2

Die Verwendung \flushbottomim Twoside-Modus war seit Version 3.17 ein Fehler scrlttr2. Er wurde in scrlttr2v3.27.3111 behoben, indem \raggedbottomdie Definition der letterUmgebung erweitert wurde. Vor dieser Änderung

\documentclass[twoside]{scrlttr2}

\usepackage{mwe}

\begin{document}
\begin{letter}{You\\There}
  \opening{Hi,}
  \blindtext\par\blindtext

  \noindent\rule{\textwidth}{.5\textheight}

  \blindtext
  \closing{Bye}
\end{letter}

\end{document}

führte zu einer Warnmeldung:

Underfull \vbox (badness 10000) has occurred while \output is active [1

Und

mit KOMA-Script 3.26b

Mit KOMA-Script 3.27.3111 (das ist einKOMA-Script Vorabversion), es fuehrt zu:

ab KOMA-Script 3.27.3111

ohne Warnmeldung.

Beachten Sie, es gibt zusätzlicheÄnderungen im kommenden KOMA-Script 3.27(verlinkte Seite auf Deutsch).

verwandte Informationen