Books:Советы по вёрстке
Советы по вёрстке в LaTeX
Центровка иллюстраций
> > Кстати, на будущее: не стоит использовать \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}
3917 \def\@centercr{\ifhmode \unskip\else \@nolnerr\fi
3918 \par\@ifstar{\nobreak\@xcentercr}\@xcentercr}
3919 \def\@xcentercr{\addvspace{-\parskip}\@ifnextchar
3920 [\@icentercr\ignorespaces}
3921 \def\@icentercr[#1]{\vskip #1\ignorespaces}
833 \newskip\@flushglue \@flushglue = 0pt plus 1fil