Ich verwende manchmal \vspace*{8cm}
beispielsweise , um einen leeren Bereich einzufügen, in den die Studenten ihre Beweise oder Notizen schreiben können. Ich finde, dass LaTeX seinen eigenen Seitenumbruchalgorithmus hat, um die Seiten an „guten“ Stellen umzubrechen. Daher verstärkt LaTeX manchmal automatisch den vertikalen Abstand oder verschiebt die Position des Absatzes, um eine breite (manchmal zu breite!!) vertikale Leerstelle zu erzeugen (herauszuholen), damit die Seiten „besser“ umbrechen. Das möchte ich jedoch nicht. Wenn der Seitenumbruch hässlich ist, füge ich manuell ein ein \newpage
. Wie verhindere ich, dass LaTeX meinen vertikalen Abstand automatisch anpasst?
Testcode: (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}
Antwort1
LaTeX dehnt den Abstand von \vspace*{8cm}
nicht aus, daher ist es ohne Beispiel schwierig, konkrete Ratschläge zu geben. Es kann sein, dass automatisch hinzugefügter Abstand (z. B. \parskip
) am gleichen visuellen Punkt hinzugefügt wird und dehnbar ist. (Der Standardwert von \parskip
dehnt). Außerdem dehnt Latex vertikalen Abstand normalerweise nur, wenn \flushbottom
aktiviert ist, daher bevorzugen Sie vielleicht \raggedbottom
.