scrlttr2 を使用した両面モードでの行間スペースの追加、および引用符環境を再定義する tcolorbox 環境

scrlttr2 を使用した両面モードでの行間スペースの追加、および引用符環境を再定義する tcolorbox 環境

scrlttr2引用符を と組み合わせて使用​​しながらの両面設定を試していたところtcolorbox、奇妙なことに遭遇しました。次の例では、引用符環境ボックスの外側のテキストの行間を示しています。これは両面モードでのみ、を再定義する の呼び出しbeforeafter skip=\baselineskip内でのみ表示されます。引用符環境や両面性に関することは明らかに何も関係がないため、何が原因なのかわかりません。tcolorboxenvironmentquoting

%\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}

追記: 実際に私が見ているものにもっと近いと思われる簡略化されたバージョンです。

\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}

結果として得られた2ページのファイルの最初のページを以下に示します。ここには問題が表示されています。

ここに画像の説明を入力してください

答え1

twoside を使用すると、クラスがアクティブになります (他のクラスが頻繁に行うように) \flushbottom。つまり、LaTeX はページを埋めようとし、そのために parskip が拡張されます。

を削除すると効果は消え、beforeafter skip=\baselineskip,文字が 1 ページに収まります。

oneside モードでは、 を追加すると同じ結果になります\flushbottom

この問題を回避するには\raggedbottom

答え2

twoside-mode での使用はバージョン 3.17 以降の\flushbottomバグでした。これは環境の定義に追加することで v3.27.3111scrlttr2で修正されました。この変更の前はscrlttr2\raggedbottomletter

\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}

警告メッセージが表示されました:

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

そして

KOMA-Script 3.26b を使用

KOMA-Script 3.27.3111(これはKOMA-Script プレリリース)、結果は次のようになります。

KOMA-Script 3.27.3111 より

警告メッセージなし。

注意:追加の今後のKOMA-Script 3.27の変更点(リンク先はドイツ語のページです)

関連情報