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늘어납니다.) 또한 라텍스는 일반적 \flushbottom으로 적용되는 경우 수직 공간만 늘립니다 . 따라서 아마도 를 선호할 것입니다 \raggedbottom.

관련 정보