
Ao experimentar configurações de dois lados ao scrlttr2
usar citações em combinação com tcolorbox
, me deparei com uma estranheza. O exemplo a seguir mostra o espaçamento entre linhas no texto fora das caixas do ambiente de cotação. Isso só aparece no modo frente e verso e somente beforeafter skip=\baselineskip
na tcolorboxenvironment
invocação que redefine quoting
. Estou intrigado com o que está causando isso, já que obviamente não está conectado a nada sobre o ambiente de cotação ou a dupla face.
%\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}
ADENDO: Uma versão simplificada, esperançosamente, que se parece mais com o que estou realmente vendo.
\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}
A primeira página do arquivo de 2 páginas resultante é mostrada abaixo, mostrando o problema
Responder1
Ao usar dois lados, a classe é ativada (como outras classes costumam fazer) \flushbottom
. Isso significa que o LaTeX tentará preencher a página, e para isso estica o parskip.
O efeito desaparece se você remover o beforeafter skip=\baselineskip,
as, então a letra cabe em uma página.
No modo unilateral você obtém o mesmo se add \flushbottom
.
Para evitar o problema adicione\raggedbottom
Responder2
Usar \flushbottom
no modo twoside era um bug scrlttr2
desde a versão 3.17. Foi corrigido na scrlttr2
v3.27.3111 adicionando \raggedbottom
à definição do letter
ambiente. Antes desta mudança
\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}
resultou em uma mensagem de aviso:
Underfull \vbox (badness 10000) has occurred while \output is active [1
e
Com KOMA-Script 3.27.3111 (este é umPré-lançamento do KOMA-Script), resulta em:
sem mensagem de aviso.
Observe que existem adicionaismudanças no próximo KOMA-Script 3.27(página vinculada em alemão).