列表和引号中的胶水用在哪里?我该如何抑制它?

列表和引号中的胶水用在哪里?我该如何抑制它?

我有一个用 LaTeX 编译的 PDF,其中包含列表和引文。我的设置导致当我使用列表和引文时,在双页模式下查看 PDF 时,行的高度不相同。例如,我得到这个(来自 MWE 的输出页 6/7):

在此处输入图片描述

右页的行 ›1. Lorem ipsum ...‹ 有点太高了。它应该与左页的行 ›... Cum sociis natoque‹ 相对应。段落与后面的列表之间的垂直空白应该大一点。输出文件中还有其他情况。

据我从各种问题中了解到,这与包含橡皮筋或粘连的长度有关,例如\bigskipamount,以便在构建页面时为 TeX 提供最大的灵活性。

但是,我想取消本文档中有关列表和引文的粘合,以确保尽可能始终保持行数自动地在双页模式下查看文档时处于相同的高度,而无需我检查垂直间距,然后稍微添加或减少一点。

这是我目前所做的:

\documentclass[paper=140mm:220mm]{scrbook}
\setkomafont{section}{\normalfont\bfseries}
\setkomafont{subsection}{\normalfont\bfseries}

\RedeclareSectionCommand[
 beforeskip=-\baselineskip,
 afterskip=.001\baselineskip
 ]{section}

\RedeclareSectionCommand[
 beforeskip=-\baselineskip,
 afterskip=.001\baselineskip
 ]{subsection}

\setlength{\bigskipamount}{12pt}
\setlength{\topsep}{9pt}
\setlength{\partopsep}{3pt}
\setlength{\parsep}{0pt}
\usepackage[indentfirst=false, noorphans, listvskip=true]{quoting}

\usepackage{lipsum}
\usepackage{enumitem}
\setlist{noitemsep}

\widowpenalty10000

\begin{document}
\raggedbottom

\chapter{One} \section{One} \lipsum[1-5]

\begin{quoting} \lipsum[1] \end{quoting}

\subsection{One} \lipsum[1-3]

\begin{itemize}\item{BlaBla} \item{\lipsum[1]} \item{BlaBla}    
\item{\lipsum[1]}\item{BlaBla}\end{itemize}

\begin{quoting} \lipsum[1] \end{quoting}
\begin{quoting} \lipsum[1] \end{quoting}

\section{Two} \lipsum[1-5]
\begin{enumerate} \item{\lipsum[1]} \item{\lipsum[1]} \item{BlaBla}      
\end{enumerate}

\begin{quoting} \lipsum[1] \end{quoting}

\end{document}

(部分字体大小是另一个主题。在 MWE 示例中,我设置它们以便它们不会进一步影响主要问题。quoting并且它的选项listvskip=true允许按照列表的行自定义引用。)

这些设置消除了大多数实例,但图像中所示的实例仍然存在。

据我所知,这意味着我还没有跟踪所有粘合实例。因此,我的问题涉及垂直间距的参数以及涉及粘合时影响它们的方式:

列表和引号中的胶水用在哪里?我该如何抑制它?

答案1

我没有尝试调整章节高度,但使用列表应该可以做到:

请注意,很多东西都可能破坏网格,例如图像、表格、数学。通常,一些手动调整是不可避免的。

\documentclass[paper=140mm:220mm]{scrbook}
\setkomafont{section}{\normalfont\bfseries}
\setkomafont{subsection}{\normalfont\bfseries}

\RedeclareSectionCommand[
 beforeskip=-\baselineskip,
 afterskip=.01\baselineskip
 ]{section}

\RedeclareSectionCommand[
 beforeskip=-\baselineskip,
 afterskip=.01\baselineskip
 ]{subsection}


\usepackage[indentfirst=false, noorphans,vskip=\baselineskip]{quoting}

\usepackage{lipsum}
\usepackage{enumitem}
\setlist{nosep,topsep=\baselineskip}

\widowpenalty10000

\usepackage{returntogrid} %to show the grid
\usepackage{tikz,eso-pic}
\AddToShipoutPictureBG {\AtTextUpperLeft{\showdebugpagegrid}}

\begin{document}    \raggedbottom

%\chapter{One} 
\section{One} \lipsum[1-5]

\begin{quoting} \lipsum[1] \end{quoting}

\subsection{One} \lipsum[1-3]

\begin{itemize}\item{BlaBla} \item{\lipsum[1]} \item{BlaBla}
\item{\lipsum[1]}\item{BlaBla}\end{itemize}

\begin{quoting} \lipsum[1] \end{quoting}
\begin{quoting} \lipsum[1] \end{quoting}

\section{Two} \lipsum[1-5]
\begin{enumerate} \item{\lipsum[1]} \item{\lipsum[1]} \item{BlaBla}
\end{enumerate}

\begin{quoting} \lipsum[1] \end{quoting}

\end{document}

在此处输入图片描述

答案2

我希望这就是 OP 想要的。我调整了空间以获得所需的结果(围绕章节、部分、小节标题和使用的环境)。公式仍然可以破坏此设置,但对于当前包含的内容,它应该可以工作。

\documentclass[paper=140mm:220mm]{scrbook}

\setlength{\bigskipamount}{\baselineskip}
\usepackage[indentfirst=false, noorphans, vskip=0pt]{quoting}

\newcommand{\skipbeginenv}{%
  \ifdim \lastskip=.01pt \else%
    \vskip-\lastskip%
    \vskip\baselineskip%
  \fi%
}
\newcommand{\skipendenv}{%
  \vskip\baselineskip%
}

\usepackage{etoolbox}
\AtBeginEnvironment{quoting}{\skipbeginenv\itshape}
\AtEndEnvironment{quoting}{\skipendenv}

\AtBeginEnvironment{enumerate}{\skipbeginenv}
\AtEndEnvironment{enumerate}{\skipendenv}

\AtBeginEnvironment{itemize}{\skipbeginenv}
\AtEndEnvironment{itemize}{\skipendenv}

\widowpenalty10000

%\usepackage[hmargin=.0cm]{geometry}
\RedeclareSectionCommand[
beforeskip=\dimexpr-25pt-2\baselineskip\relax,
afterskip=\baselineskip]{chapter}
\RedeclareSectionCommand[
beforeskip=-9.2pt,
afterskip=\baselineskip]{section}
\RedeclareSectionCommand[
beforeskip=-13.2pt,
afterskip=0.01pt]{subsection}

\usepackage{enumitem}
\setlist{nolistsep}

\setlength{\lineskip}{0pt}
\setlength{\lineskiplimit}{0pt}

%\makeatletter
%\newcommand\thefontsize[1]{{#1 The font size is: \f@size pt\\Baselineskip: \the\baselineskip\\}}
%\makeatother
\usepackage{lipsum}

\begin{document}
\raggedbottom
\chapter{One}
\section{One}
%\thefontsize{\usekomafont{chapter}}
%The font size is: 20.74pt
%Baselineskip: 25.0pt
%\thefontsize{\usekomafont{section}}
%The font size is: 14.4pt
%Baselineskip: 18.0pt
%\thefontsize{\usekomafont{subsection}}
%The font size is: 12pt
%Baselineskip: 14.0pt
%\thefontsize{}
%The font size is: 10.95pt
%Baselineskip: 13.6pt

\lipsum[1-5]

\begin{quoting} \lipsum[1] \end{quoting}

%\subsection{One}
\lipsum[1-4]
\subsection{two?}

\begin{itemize}\item{BlaBla} \item{\lipsum[1]} \item{BlaBla}    
\item{\lipsum[1]}\item{BlaBla}\end{itemize}

\begin{quoting} \lipsum[1] \end{quoting}
\begin{quoting} \lipsum[1] \end{quoting}
\lipsum[1]

\section{Two} \lipsum[1-5]
\begin{enumerate} \item{\lipsum[1]} \item{\lipsum[1]} \item{BlaBla}      
\end{enumerate}

\begin{quoting} \lipsum[1] \end{quoting}

\end{document}

结果

编辑:发布正确的代码

相关内容