Books:Советы по вёрстке: различия между версиями

Материал из ALT Linux Wiki
Строка 54: Строка 54:
'''Q. Что делать, если в оглавлении разрыв страницы оказался в неудачном месте?'''
'''Q. Что делать, если в оглавлении разрыв страницы оказался в неудачном месте?'''


'''А1. Немного сдвинуть по вертикали весь материал оглавления'''
'''A1. Вставить принудительный разрыв страницы или вертикальный интервал'''
 
<source lang=latex>
\input{chapter1}
\addtocontents{toc}{\eject}
\input{chapter2}
\addtocontents{toc}{\vspace{\baselineskip}}
</source>
 
\eject -- принудительный разрыв страницы, весь материал растягивается по вертикали, чтобы заполнить страницу целиком.
 
'''А2. Немного сдвинуть по вертикали весь материал оглавления'''


В главном файле можно встретить конструкцию
В главном файле можно встретить конструкцию

Версия от 11:04, 4 декабря 2008

Советы по вёрстке в LaTeX

Способы борьбы с переполнением строк

\begin{midsloppypar}
Проблемный абзац.
\end{midsloppypar}

Центровка иллюстраций

> > Кстати, на будущее: не стоит использовать \centerline{ }
> > внутри figure для центровки иллюстраций. В таких случаях
> > следует использовать декларацию \centering
> 
> Причины можно назвать? А то я весьма к \centerline{} привык :)

\centerline{} помещает материал в \hbox с клеем внутри(*), а \centering настраивает параметры абзаца на центрованную печать материала(**). Т.е. используя \centerline вы центруете только аргумент (причём туда нельзя поместить ничего, что не лезет в \hbox, например, абзац), а используя \centering -- центруете весь материал внутри данной группы. Применительно к иллюстрациям (внутри окружения figure) в общем случае требуется именно центрировать весь материал внутри окружения, поэтому уместнее использовать \centering. Кроме того, это позволит избежать ошибок, если \centerline окажется случайно не в отдельном абзаце, а к нему "прилипнет" какой-то другой материал.


Ниже выдержки из latex.ltx (стандартные LaTeX'овские определения):

(*)
    4811 \def\centerline#1{\@@line{\hss#1\hss}}

    4808 \def\@@line{\hb@xt@\hsize}

    557 \def\hb@xt@{\hbox to}

(**)
    3924 \def\centering{%
    3925   \let\\\@centercr
    3926   \rightskip\@flushglue\leftskip\@flushglue
    3927   \parindent\z@\parfillskip\z@skip}

    833 \newskip\@flushglue \@flushglue = 0pt plus 1fil

Корректировка вёрстки оглавления

Q. Что делать, если в оглавлении разрыв страницы оказался в неудачном месте?

A1. Вставить принудительный разрыв страницы или вертикальный интервал

\input{chapter1}
\addtocontents{toc}{\eject}
\input{chapter2}
\addtocontents{toc}{\vspace{\baselineskip}}

\eject -- принудительный разрыв страницы, весь материал растягивается по вертикали, чтобы заполнить страницу целиком.

А2. Немного сдвинуть по вертикали весь материал оглавления

В главном файле можно встретить конструкцию

\renewcommand{\tocheadstart}{\vspace*{-5\baselineskip}\chapterheadstart}

Здесь фигурирует величина (аргумент \vspace{}) -- это сдвиг, вставляемый перед началом оглавления, его можно увеличить или уменьшить.