Mailing List CyrTeX-ru@vsu.ru Message #2100
From: Alexander I Rozhenko <CyrTeX-ru@vsu.ru>
Subject: Re: Как убрать переносы в заголовках section т.д. ( Продолжение убрать переносы в оглавлении)
Date: Sat, 5 Jun 2010 12:41:36 +0700
To: Cyrillic TeX Users Group <CyrTeX-ru@vsu.ru>
\raggedright не самое лучшее решение. Он делает много лишних действий и в
конечном итоге использует внутри \rightskip\@fluhglue. Я в свое время
отказался от использования \raggedright из-за побочных эффектов,
вызываемых лишними переопределениями. Сейчас уже не помню в каких
ситуациях они возникали. Версия с чистым \rightskip\@fluhglue
предпочтительнее.

Что касается \l@section, то запрет переносов не решает проблему. Надо
давать возможность LaTeXу невыравнивать строки по правому краю. Попробуйте
переопределить \rightskip в этой команде так

\rightskip \@pnumwidth plus 1fill

Тогда переносы точно исчезнут без всяких штрафов. Но я бы лучше сделал так

\rightskip \@pnumwidth plus 2em

Последний вариант компромисный. Он разрешает делать правый край рваным, но
не более чем на 2em.

С уважением,
Александр Роженко

> Юра Полищук
> Убрать переносы в заголовках section можно 2-мя способами:
>
> \renewcommand\section{\@startsection {section}{1}{\parindent}
>                            {-3.5ex \@plus -1ex \@minus -.2ex}%
>                            {2.3ex \@plus.2ex}%
>                            {\normalfont\large\bfseries\rightskip\@flushglue}}
>
> \renewcommand{\section}{\@startsection{section}{1}{\parindent}
>                            {0.0cm}{0.4cm}{\raggedright \large \bf}}
>
> Я понял из переписки для отключения переносов в оглавлении (section)
> необходимо переопределить команду:
>
> \renewcommand\l@section[2]{%
>   \ifnum \c@tocdepth >\z@
>     \addpenalty\@secpenalty
>     \addvspace{1.0em \@plus\p@}%
>     \setlength\@tempdima{1.5em}%
>     \begingroup
> %     \hyphenpenalty=10000 \exhyphenpenalty=10000
>       \parindent \z@ \rightskip \@pnumwidth
>       \parfillskip -\@pnumwidth
>       \leavevmode {\bfseries
>       \advance\leftskip\@tempdima
>      \hskip -\leftskip
>      #1}\nobreak\
>       \leaders\hbox{$\m@th\mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}
>      \hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
>     \endgroup
>   \fi}
>
> Если я включаю команды:
>
> %     \hyphenpenalty=10000 \exhyphenpenalty=10000
>
> то переносы выключаются, но вторая сторка заголовка вылезает за предел
> текста!
> Пример в интернете немогу найти. Подскажите как сделать, чтобы
> заработало.
>
> Заранее благодарен.
>
>
>
> ================================================
> CyrTeX-ru mailing list Archives and Information:
> https://info.vsu.ru/Lists/CyrTeX-ru/List.html
>
>


--
Sincerely,
Alexander I Rozhenko
Leading Researcher
Lab. AP&MG
ICM&MG, Novosibirsk

Subscribe (FEED) Subscribe (DIGEST) Subscribe (INDEX) Unsubscribe Mail to Listmaster