最初のページの余分な空白を削除するにはどうすればよいですか?

最初のページの余分な空白を削除するにはどうすればよいですか?

以下のMWEは私が作成したLaTeXファイルを忠実に再現したものです。プログラムでダミーテキストを作成する方法に関する私の質問に対する @egreg の解決策。

問題は、2ページ目の引用部分が2ページ目に押し出されていることです。これは、quoting私が使用した環境の定義が変更されたためだと思います。

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

しかし、私はしばらくの間、スタイル ファイルで引用の定義を使用してきましたが、それは私にとってはほぼうまく機能していました。また、おそらく既存のドキュメントの多くでも使用されているでしょう。そのため、そのままにしておきたいと思います。

以下の質問があります。

1) まず、小さな問題です。次の行の の使用は、 引用の新しい定義によって上書きさvskip=10in
れるという意味でエラーであると考えるのは正しいでしょうか?

\usepackage[vskip=10in]{quoting}

以下に示すように、私は引用パッケージの引用環境のみを使用しており、他には何も使用していません。

この場合、vskip=10inそのパッケージ宣言を削除します。

2) 私の主な質問は、最初のページの下部に大量の空きスペースが残らないようにする適切な方法があるかどうかです。

\mbox{}これは宣言内 の によって引き起こされていると思われます\tcolorboxenvironment

序文の引用の定義を変更したまま、一時的に定義を変更して、2 ページ目のボックスを 1 ページ目に移動できるようにしようかと考えていました。これは可能でしょうか。それとも、もっと良い方法があるのでしょうか。

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

    \usepackage[most]{tcolorbox}
    \usepackage[vskip=10in]{quoting}
    \usepackage[T1]{fontenc}
    \usepackage{fouriernc}
    \tcolorboxenvironment{quoting}{code={\mbox{}},nobeforeafter,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{HelloWorld!}{3}{3}
  \end{quoting}

  \dummy{HelloWorld!}{3}{3}

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

\closing{Yours Sincerely,}

\end{letter}
\end{document}

答え1

定義に渡されるオプション リストからcode={\mbox{}}と を削除することをお勧めします。nobeforeafter\tcolorbox

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

    \usepackage[most]{tcolorbox}
    \usepackage[vskip=10in]{quoting}
    \usepackage[T1]{fontenc}
    \usepackage{fouriernc}
    \tcolorboxenvironment{quoting}{
        %code={\mbox{}},nobeforeafter,

        before skip=\baselineskip, % or before skip = 1cm or something else

        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{HelloWorld!}{3}{3}
  \end{quoting}

  \dummy{HelloWorld!}{3}{3}

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

\closing{Yours Sincerely,}

\end{letter}
\end{document}

関連情報