Books:Советы по вёрстке
Материал из ALT Linux Wiki
(Новая: == Советы по вёрстке в LaTeX == '''Центровка иллюстраций''' <pre> > > Кстати, на будущее: не стоит использовать \c...)
Следующая правка →
Версия 09:15, 4 сентября 2008
Советы по вёрстке в 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