Mailing List CyrTeX-ru@vsu.ru Message #453
From: Alexander I Rozhenko <CyrTeX-ru@vsu.ru>
Subject: Re: Пакеты NCC - рисунки с обтеканием
Date: Mon, 28 Jul 2008 01:21:50 +0700
To: Cyrillic TeX Users Group <CyrTeX-ru@vsu.ru>

----- Original Message ----- From: "regonly noreply" <CyrTeX-ru@vsu.ru>
To: "Cyrillic TeX Users Group" <CyrTeX-ru@vsu.ru>
Sent: Sunday, July 27, 2008 10:47 PM
Subject: Re: Пакеты NCC - рисунки с обтеканием


27.07.08, Alexander I Rozhenko<CyrTeX-ru@vsu.ru> написал(а):

----- Original Message -----
From: "regonly noreply" <CyrTeX-ru@vsu.ru>
To: "Cyrillic TeX Users Group" <CyrTeX-ru@vsu.ru>
Sent: Saturday, July 26, 2008 6:43 AM
Subject: Re: Пакеты NCC - рисунки с обтеканием


Гм... Что я делаю не так?...

Когда закрывающая скобка стоит в конце абзаца, все выглядит ещё
относительно прилично - как двухколоночный текст:

http://s48.radikal.ru/i122/0807/4d/6e46173d97d2.gif

А когда переносишь её в середину абзаца (туда, где должна
заканчиваться оборка), начинаются всякие ужасы:

http://s45.radikal.ru/i110/0807/3f/2cdecb0575b3.gif

тут явно нет пробела после фигурной скобки и перед "и". Поскольку в тексте
без оборки перед "и" есть пробел, то вставляя фигурную скобку вы должны
сохранить этот пробел. Если слово разбивается на переносе, то надо руками
вставить дефис, закрыть скобку и остаток слова отделить пробелом. Пример:

оборка закан-}
чивается здесь.

В данном случае я поставил скобку } в середине предложения, если
поставить в конце после точки (но внутри абзаца) - та же картина.


Да, действительно. Спасибо, что указали на этот исключительно важный
момент - без этого дополнительного объяснения я бы не смог решить
проблему.

НЕПРАВИЛЬНО:
(L,~l) }и~т.\,п., когда текст набирается

ПРАВИЛЬНО:
(L,~l)} и~т.\,п., когда текст набирается

Думаю, надо на этот момент специально обратить внимание в документации к пакету.
--------------------------------------------

Теперь меня интересуют размеры.

nccfloats делает размеры рисунка и подрисуночной подписи иначе, чем
floatflt и wrapfig, а также иначе взаимодействует с ccaption.

Для сравнения примера я сделал документ, в котором верхний рисунок
задан при помощи nccfloats, а нижний - при помощи wrapfig. Команда
sidefig дана без размеров, окружение wrapfigure для одинаковости
задано как 0.5\columnwidth. Ширина подписи для простоты примера
специально не задана, ccaption-на нет. Размеры "рисунка" одинаковые:

\framebox{\parbox[c]{0.3\columnwidth}{%
\begin{center}
Illustration\texttt{}~\\
\texttt{Illustration}
\par\end{center}%
}}

А результат разный: http://s57.radikal.ru/i157/0807/0b/52f6bd45cf7e.gif

Если явно задавать ширину подписи (например, \captionwidth{0.35\textwidth}
), то всё равно результат разный.

Как правильно пересчитывать размеры иллюстрации и подписи в случае
использования nccfloats относительно других "обтекателей"? Другие
"обтекатели" оставляют их такими же, как и в обычном плавающем или
неплавающем режиме.

По умолчанию в \sidefig между рисунком и текстом делается отступ в 1.5em. Если размеров рисунка и текста не задавать, то они вычисляются так: от всей ширины отнимается 1.5em и результат делится пополам. Поэтому размер рисунка для \sidefig получился уже. Если Вы явно укажете

\sidefig(0.5\columnwidth){...}{...}

то форматирование рисунка будет такое же как и для \wrapfig. Но в этом случае столбец текста будет чуть уже (wrapfig оставляет величину \columnsep между столбцами, а не 1.5em). Я как-то не задумывался о совместимости с другими пакетами и выбрал расстояние исходя из эстетических соображений (согласитесь, что \columnsep здесь явно мало). Поэтому оно просто захардкодено внутри команды \NCC@sidemfloat. Чтобы добиться одинакового маркапа, задайте для других обтекателей в преамбуле документа

\columnsep = 1.5em

либо переопределите макрос \NCC@sidemfloat, задав в нём \columnsep вместо 1.5em.

================================================
CyrTeX-ru mailing list Archives and Information:
https://info.vsu.ru/Lists/CyrTeX-ru/List.html



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