LaTeXが自動的に垂直方向のスペースを調整するのを回避する

LaTeXが自動的に垂直方向のスペースを調整するのを回避する

たとえば、空白領域を追加して、学生が証明やメモを書き留められるようにするために、 を時々使用します\vspace*{8cm}。LaTeX には、ページを「適切な」ポイントで分割するための独自のページ分割アルゴリズムがあることがわかりました。したがって、LaTeX は、ページを「より適切に」分割するために、垂直方向のスペースを自動的に強化したり、段落の位置を移動して広い (場合によっては広すぎる) 垂直方向の空白を作成 (表示) したりすることがあります。ただし、これは不要です。ページ区切りが見苦しい場合は、手動で を挿入します\newpage。LaTeX が垂直方向のスペースを自動的に調整しないようにするにはどうすればよいでしょうか。

テストコード:(XeLaTeX)

\documentclass[12pt,a4paper,openany,fleqn]{book}
\usepackage[margin=2cm, top=2cm]{geometry}
\usepackage{amsmath}
\usepackage[no-math]{fontspec}
\usepackage[fancyhdr,noindent]{ctexcap}
\usepackage{xeCJK}
\setCJKmainfont{Times New Roman}
\usepackage[subscriptcorrection,nofontinfo,zswash,mtphrb]{mtpro2}
\linespread{1.6}
\parindent = 0 pt 
\everymath{\displaystyle}
\usepackage{fancyhdr} 
\pagestyle{fancy}
\fancyhf{}
\fancyfoot[C]{\thepage}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\fancypagestyle{plain}{%
\fancyhf{} % clear all header and footer fields
\fancyfoot[C]{\thepage}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}}

\thickmuskip= 5.0mu plus 3.0mu minus 1.5mu
\CTEXsetup[format={\large},beforeskip={3.5ex},afterskip={0.3ex plus 0.1ex},aftername={}]{section}
\renewcommand{\thesection}{(\arabic{section})~}


\newcommand{\allindent}{\hangindent = 2em\hangafter = 0}
\newcommand{\discussItem}[1]{
    \par\allindent \textbf{Discuss:}
    \iItem{#1}
}
\newcounter{iItemcounter}
\newcommand{\iItem}[2][4em]{
    \setcounter{iItemcounter}{0}
    \begin{list}{(\roman{iItemcounter})}{\usecounter{iItemcounter}\itemsep=0pt\parsep=0pt\parskip=0pt\topsep=0pt
    \leftmargin = #1\rightmargin = 1em}{#2}\end{list}

}
\begin{document}
\lineskiplimit = 6pt
\lineskip=6pt
\section{Section Title:}
As you can see, the vertical space between ``Section Title" and this sentence is correct, and I guess it is 0.3ex.\\
Now we go to the next section on the next page.
\newpage
\section{Section Title Two:}
\textbf{$\uparrow$From this place, the vertical space between section and paragraph is stretched.} Let $L$ be a line on the coordinate plane. Blah Blah Blah Blah Blah Blah Blah Blah Blah from $A$ to $B$ $\Delta x$, $y$Blah Blah BlahBlah Blah Blah$\Delta y$ namely$\Delta x=x_2-x_1$, $\Delta y=y_2-y_1$, then define slope $L$Blah Blah BlahBlah Blah Blah\fbox{$m=\frac{\Delta y}{\Delta x}=\frac{y_2-y_1}{x_2-x_1}$}.\\[5.5cm]
\discussItem{
    \item \textbf{Notice that I use \textbackslash\textbackslash[5.5cm] before ``Discuss". If I use the command \textbackslash par\textbackslash rule\{2pt\}\{5cm\} here, the weird vertical space between section title and the context still occurs.}
    \item Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test 
    \item Test Test Test Test Test Test Test Test Test Test Test Test $\frac{\Delta y}{\Delta x}$Test Test Test Test Test Test Test Test Test 
    \item Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test 
}
\section{Section Three:}

\textbf{The vertical space is still weird.} Blah Blah Blah Blah Blah \\[5.5cm]
\discussItem{
    \item Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah 
    \item Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah
}


\end{document}

答え1

LaTeX は からのスペースを引き伸ばさない\vspace*{8cm}ので、例がなければ具体的なアドバイスをするのは難しいです。自動的に追加されたスペース (たとえば\parskip) が同じ視覚的なポイントに追加され、伸縮性がある可能性があります。 ( のデフォルト値は\parskip伸縮します)。また、 が有効な場合、LaTeX は通常垂直方向のスペースのみを引き伸ばすので\flushbottom、 の方が適しているかもしれません\raggedbottom

関連情報