减少小页面前的垂直空间

减少小页面前的垂直空间

\chapter我的问题:在环境内部,我的章节之前的空间\minipage比在环境外部的任何其他章节之前的空间都要大。

我的要求是:保持每章之间的距离相同。但是,我希望保持两个小页面中的两个章节保持原样(即垂直对齐)。

我正在使用 LuaLaTex-->PDF 来使用 Arial 字体,尽管这可能无关紧要。

如果可能的话,我很乐意使用任何不涉及小型页面的其他解决方案。

我的 MWE(使用 LuaLaTex-->PDF)

\documentclass[a4paper,10pt]{report}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage[top=20mm, bottom=20mm, left=20mm, right=20mm]{geometry}

\setmainfont{Arial}

\newfontfamily\secfont{Arial}

\definecolor{MSBlue}{rgb}{.204,.353,.541}
\definecolor{MSLightBlue}{rgb}{.31,.506,.741}
\definecolor{light-gray}{gray}{0.5}

\usepackage{sectsty}
\allsectionsfont{\secfont}

\usepackage{titlesec}
\newcommand{\hsp}{\hspace{0pt}}

\titlespacing*{\chapter}{0cm}{0.7cm}{0.2cm}[0pt]
\titlespacing*{\section}{0cm}{0.5cm}{0cm}[0pt]

\titleformat{\chapter}{\normalsize\bfseries\secfont\color{MSBlue}}{\hsp}{0pt}{\normalsize\bfseries\color{MSBlue}}[\vspace{0ex}\titlerule]
\titleformat{\section}{\large\bfseries\secfont}{\hsp}{0pt}{\large\bfseries}

\usepackage{etoolbox}
\makeatletter
\patchcmd{\chapter}{\if@openright\cleardoublepage\else\clearpage\fi}{}{}{}
\makeatother

\begin{document}
\pagestyle{empty}
\pagenumbering{gobble}

\chapter{Some chapter}
\section{some section}
{\color{light-gray}some small text}\\
\blindtext

\chapter{Some other chapter}
\section{some other section}
{\color{light-gray}Some small text}\\%
\blindtext%
\par\smallskip\nointerlineskip%
\noindent\begin{minipage}[t]{0.5\textwidth}
\chapter{Here it is} %                      <--- The culprit!
\begin{tabular}{l l}
    \small 
            \textbf{cell1}  &| cell6 \\
            \textbf{cell2}  &| cell7 \\
            \textbf{cell3}  &| cell8 \\
            \textbf{cell4}  &| cell9 \\
            \textbf{cell5}  &| cell10
\end{tabular}%
\end{minipage}%
%
\begin{minipage}[t]{0.5\textwidth}
    \chapter{And the other one}
    \small 
    Writing some text here
\end{minipage}%

\chapter{The next chapter}
\blindtext

\end{document}    

答案1

如果你添加

\showoutput
\showboxdepth6

你会看到(xetex 版本 luatex 类似)

正常章节上方的空间来自

...\glue 19.91684
...\glue 0.0
...\special{color push rgb .204 .353 .541}
...\glue(\parskip) 0.0 plus 1.0
...\glue(\baselineskip) 1.49556

而你的方框章节对上方的空间是

...\glue 3.0 plus 1.0 minus 1.0
...\glue 0.0
...\glue(\parskip) 0.0 plus 1.0
...\hbox(0.0+98.0073)x483.69687
....\vbox(0.0+98.0073)x241.84843
.....\write1{\@writefile{toc}{\protect \contentsline {chapter}{\protect \number
line \ETC.}
.....\write1{\@writefile{lof}{\protect \addvspace {10\p@ }}}
.....\write1{\@writefile{lot}{\protect \addvspace {10\p@ }}}
.....\rule(0.0+0.0)x*
.....\penalty 10000
.....\glue 19.91684
.....\glue 0.0
.....\special{color push rgb .204 .353 .541}
.....\glue(\parskip) 0.0

我能看到的唯一真正区别是

...\glue 3.0 plus 1.0 minus 1.0

这正是

\smallskip

所以您想将其从您的定义中删除。

通常,带框标题和非带框标题之间的拉伸粘合会有所不同,但您的章节空间是固定的,没有拉伸或收缩组件,因此您不必担心。

相关内容