
Beim Experimentieren mit zweiseitigen Einstellungen in scrlttr2
bei der Verwendung von Anführungszeichen in Kombination mit tcolorbox
bin 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=\baselineskip
in dem tcolorboxenvironment
Aufruf, 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.
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 \flushbottom
im Twoside-Modus war seit Version 3.17 ein Fehler scrlttr2
. Er wurde in scrlttr2
v3.27.3111 behoben, indem \raggedbottom
die Definition der letter
Umgebung 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.27.3111 (das ist einKOMA-Script Vorabversion), es fuehrt zu:
ohne Warnmeldung.
Beachten Sie, es gibt zusätzlicheÄnderungen im kommenden KOMA-Script 3.27(verlinkte Seite auf Deutsch).