
scrlttr2
在與 結合使用引用時嘗試兩側設定時tcolorbox
,我遇到了一個奇怪的情況。以下範例顯示了引用環境框之外的文字中的行間距。這僅在雙面模式下顯示,並且僅在重新定義 的呼叫beforeafter skip=\baselineskip
中出現。我很困惑是什麼導致了這種情況,因為它與引用環境或兩側性沒有明顯的聯繫。tcolorboxenvironment
quoting
%\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,
as 則效果會消失,然後該字母適合一頁。
在 oneside 模式下,如果 add ,您會得到相同的結果\flushbottom
。
為了避免這個問題添加\raggedbottom
答案2
自 3.17 版本以來,\flushbottom
在雙面模式下使用是一個錯誤。scrlttr2
它已在scrlttr2
v3.27.3111 中透過添加\raggedbottom
環境定義進行修復letter
。在此變更之前
\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.27.3111(這是KOMA-Script 預發布),其結果是:
沒有警告訊息。
注意,還有額外的即將推出的 KOMA-Script 3.27 中的更改(德語連結頁面)。