
У меня есть дополнительное пространство внутри текста [см. картинку] между абзацами. Кроме того, оно имеет другой размер [этого пространства]. Более того, перед разделом и после заголовка раздела также есть дополнительный пробел. Также с другим размером в другом заголовке раздела.
Как это исправить?
\documentclass[openany]{book}
\usepackage[utf8]{inputenc}
\usepackage[MeX]{polski}
\usepackage{xcolor}
\usepackage{lipsum}
\usepackage[explicit]{titlesec}
\usepackage[dotinlabels]{titletoc}
\usepackage{setspace}
\onehalfspacing
\usepackage[protrusion=true,expansion=true]{microtype}
\usepackage{lettrine}
\usepackage{titlesec}
%\titleformat{\section}{\normalfont\bfseries}{\thesection}{1em}{}
%\linespread{0.9}
\newlength\BoxWd
\setlength\BoxWd{0.75cm}
\newlength\Aux
\usepackage[left=4.65cm, right=4.65cm, top=4cm, bottom=4.25cm]{geometry}
% chapter tiltes formatting
\titleformat{\chapter}[display]
{\normalfont\sffamily\huge}
{\renewcommand{\thechapter}{\Roman{chapter}}%
\settowidth\Aux{\textcolor{white}{\Huge\thechapter}}
\ifnum\Aux>\BoxWd
\setlength\BoxWd{\Aux}
\else\fi
\hspace*{0.3em}\colorbox{black}{%
\parbox[c][1.2cm][c]{\BoxWd}{%
\centering\textcolor{white}{\Huge\thechapter}}}}
{-1ex}
{\titlerule\vspace{.7ex}\filleft\MakeUppercase{#1}}
[\vspace{.2ex}\titlerule]
\titlespacing*{\chapter}{0pt}{50pt}{80pt}
\titleformat{\section}
{\scshape\normalsize\bfseries}{\MySecSquare\ \thesection.}{0.15em}{#1}
\titlespacing*{\section}{0pt}{2.5pt}{1.5pt}
\titleformat{\subsection}
{\normalfont\scshape\normalsize\bfseries}{\MySecSquare\ \thesubsection.} {0.10em}{#1}
\titlespacing*{\subsection}{0pt}{1.5pt}{0.5pt}
% formatting for chapter entries in ToC
\titlecontents{chapter}
[3em]{\vspace*{5.5pt}}
{\small\bfseries{\hspace*{-2.63em}{\chaptername}\hspace* {5pt}\contentslabel{0.25em}\hspace*{1.25em}}}
{\hspace*{-3em}}
{\titlerule*[1pc]{.}\small\sffamily\bfseries\contentspage}
% formatting for section entries in ToC
\titlecontents{section}
[4em]{\vspace*{-2pt}}
{\small\contentslabel{2.5em}}
{\hspace*{2.75em} }%\hspace*{-2.3em}
{\titlerule*[1pc]{.}\small\sffamily\contentspage}
\titlecontents{subsection}
[7em]{\vspace*{-2pt}}
{\small\contentslabel{2.85em}}
{\hspace*{6em}}
{\titlerule*[1pc]{.}\small\sffamily\contentspage}
\newcommand\MySquare{%
\leavevmode\hbox to 1.2ex{\hss\vrule height .9ex width .7ex depth -.2ex\hss}}
\newcommand\MySecSquare{%
\leavevmode\hbox to 1.2ex{\hss\vrule height 1.3ex width 1.1ex depth -.2ex\hss}}
\renewcommand\labelitemi{\MySquare}
\newenvironment{myquote}{\list{}{\leftmargin=15pt\rightmargin=0.0pt}\item[]}{\endlist}
\newcommand\MyTitle{Some title}
\usepackage{fancyhdr}
\fancyhf{}
\fancyhead[EL,OR]{\thepage}
\fancyhead[OL]{\scriptsize\scshape{\leftmark}}
\fancyhead[ER]{\footnotesize\scshape{\MyTitle}}
\renewcommand\headrulewidth{0.2pt}
\pagestyle{fancy}
\newcommand{\initial}[1]{%
\lettrine[lines=2,lhang=0.35,nindent=0em]{
\color{black}
{{#1}}}{}}
\renewcommand\chaptermark[1]{\markboth{\thechapter.\ #1}{}}
\usepackage{hyperref}
\hypersetup
{
colorlinks,
citecolor=black,
filecolor=black,
linkcolor=black,
urlcolor=black,
pdfauthor = {Pdfautor},
pdftitle = {My title},
pdftex
}
\begin{document}
\frontmatter
\tableofcontents
\clearpage
\newpage
\thispagestyle{empty}
\mainmatter
\chapter*{Na wstępie}\label{chap:one}
\addcontentsline{toc}{chapter}{\bfseries{Na wstępie}\vspace*{2em}}
\setcounter{page}{9}
\section{Section One}
\lipsum[1-10]
\section{Section two}
\lipsum[1]
\section{Section 3}
\section{Section 4}
\lipsum[1-10]
\section{Section 5}
\lipsum[1-2]
\section{Section 6}
\lipsum[1]
\section{Section 7}
\lipsum[1-20]
\chapter{Second chapter}
\section{someSection}
\lipsum[1-20]
\section{someSection2}
\lipsum[1-20]
\chapter{Last chapter}
\end{document}
решение1
На этот вопрос, вероятно, был дан ответ в вопросеУбедитесь, что текст выровнен между нижними (и верхними) краями страниц..
Попробуйте добавить вариантыpaper=a4paper,twoside=true,textheight=45\baselineskip+\topskip
к geometry
-опциям в вашем документе. Вам также нужно использовать пакетcalc
\usepackage{calc}
\usepackage[paper=a4paper,
twoside=true,
bindingoffset=0cm,
textheight=45\baselineskip+\topskip,
left=4.65cm, right=4.65cm, top=4cm, bottom=4.25cm
]{geometry}
В вашем MWE (но, возможно, и в реальном документе) это не решает проблему с интервалами, потому что у вас мало текста после section 0.2
, а затем два подраздела без текста между ними. LaTeX
не находит хорошего места для разрыва страницы. Если вы используете настоящий текст или используете \lipsum[2-3]
after section 0.2
, пробелы также исчезают. Вы также можете использовать команду
\enlargethispage{2\baselineskip}
или
\enlargethispage{-\baselineskip}
добавить или удалить несколько строк на проблемной странице.
Проблема возникает из-за того, что book
-class используется flushbottom
по умолчанию, и поэтому растягивает текст между верхним и нижним полем. Если добавить опцию raggedbottom
к опции class, проблема исчезает, навсегда.
Мораль такова: Если вы хотите, чтобы текст был выровнен между верхним и нижним полем, вам нужно внимательно просмотреть документ, когда вы закончите все редактирование. В этой последней правке вы можете внести тонкие изменения, которые исправят этот тип ошибок набора. Но вы не сможете обрабатывать все такие ошибки автоматически.