Mailing List CyrTeX-ru@vsu.ru Message #881
From: Kostin <CyrTeX-ru@vsu.ru>
Subject: Re: Re[6]: значки геометрич. фигур
Date: Thu, 18 Dec 2008 21:27:18 +0300
To: Cyrillic TeX Users Group <CyrTeX-ru@vsu.ru>
Огромное спасибо!

Теперь все работает.

Для \small я написал так:

\textfont \kostinfam \kostineleven
\scriptfont \kostinfam \kostineight
\scriptscriptfont \kostinfam \kostinsix

и дописал еще два объявления размера:

\font \kostineleven = kostin at 11pt
\font \kostineight  = kostin at 8pt.

При таких определениях угловые скобки при размере \small имеют такие же
размеры, как круглые, квадратные и фигурные (в основном тексте, в индексах и
в индексах к индексам).

Можно ли так cделать? (Спрашиваю на всякий случай - вдруг я что-то сделал
неправильно.)

С уважением, Костин Сергей Вячеславович (kostinsv77@mail.ru).

----- Original Message -----
From: "Alexey Malistov" <CyrTeX-ru@vsu.ru>
To: "Cyrillic TeX Users Group" <CyrTeX-ru@vsu.ru>
Sent: Thursday, December 18, 2008 4:56 PM
Subject: Re[6]: значки геометрич. фигур


Здравствуйте, Сергей!

> Дело в том, что иногда при размере \normalsize текст (скажем, контрольной
> работы) не помещается на страницу (или наоборот остается много свободного
> места) и тогда я устанавливаю размер шрифта \small или \large.

Ну и книжка же у Вас получится, все время скачет размер.

> Правильно ли я понял, что для размера \normalsize надо писать

> \font \kostinten = kostinfont at 12pt
> \font \kostinseven = kostinfont at 9pt
> \font \kostinfive = kostinfont at 6pt,

> а для размера \small надо писать

> \font \kostinten = kostinfont at 10pt
> \font \kostinseven = kostinfont at 7pt
> \font \kostinfive = kostinfont at 5pt ?

> Что в этом случае надо писать для размера \large?

О, только не так!
Вам следует сразу объявить все нужные размеры

\font \kostinfirty  = kostin at 14.4pt
\font \kostintwelve = kostin at 12pt
\font \kostinten    = kostin at 10pt
\font \kostinnine   = kostin at 9pt
\font \kostinseven  = kostin at 7pt
\font \kostinsix    = kostin at 6pt
\font \kostinfive   = kostin at 5pt

а менять нужно следующие строчки при изменении размера (они установят
Ваш шрифт со знаками для математического режима):

для 10pt

\textfont \kostinfam \kostinten           %%% 10pt = 100% от 10pt
\scriptfont \kostinfam \kostinseven       %%% 7pt  =  70% от 10pt
\scriptscriptfont \kostinfam \kostinfive  %%% 5pt  =  50% от 10pt

для 12pt (Ваш \normalsize)

\textfont \kostinfam \kostintwelve      %%% 12pt = примерно 100% от 12pt
\scriptfont \kostinfam \kostinnine      %%% 9pt  = примерно  70% от 12pt
\scriptscriptfont \kostinfam \kostinsix %%% 6pt  = примерно  50% от 12pt

для 14.4pt (Ваш \large)

\textfont \kostinfam \kostinfirty         %% 14pt = примерно 100% от 14pt
\scriptfont \kostinfam \kostinten         %% 10pt = примерно  70% от 14pt
\scriptscriptfont \kostinfam \kostinseven %%  7pt = примерно  50% от 14pt

для 11pt (Ваш \small)

сами выбирайте исходя из 70% и 50%

Чтобы удобнее было менять размер, сделайте макрос
\def\kostinlarge{% Знак %(процент) здесь обязателен
  \textfont \kostinfam \kostintwelve      %%% 12pt = примерно 100% от 12pt
  \scriptfont \kostinfam \kostinnine      %%% 9pt  = примерно  70% от 12pt
  \scriptscriptfont \kostinfam \kostinsix %%% 6pt  = примерно  50% от 12pt
}

теперь, каждый раз, меня размер на \large и собираясь писать целую
страницу в таком стиле, что я не рекомендую, вы должны вызвать также
\kostinlarge, что заменит шрифты под ваши значки.

Если и это кажется не удобным, Вы можете сделать так, чтобы \large
автоматически делал это за Вас

\let \savelarge \large % Сохранили прежний \large
\def \large {\savelarge \kostinlarge} % Теперь \large делает работу за Вас.


> И еще, если можно, один вопрос. Изучив Ваш файл kostinfont.mf (я его
> переименовал в kostin.mf), я методом проб и ошибок, совершенно не зная
> MetaFont, сделал еще два символа: открывающую и закрывающую угловые скобки
> \langlemy и \ranglemy (описание этих символов я тоже включил в файл
> kostin.mf).

> Дело в том, что те угловые скобки \langle и \rangle, которые дает Латех,
> меня не вполне устраивают, так как они очень зрительно похожи на круглые
> скобки (из-за того, что отрезки, из которых составлены угловые скобки,
> образуют между собой "очень тупой" угол).

45  градусов  по-моему  очень  мало.  Если Вам не нравится тупой угол,
попробуйте   хотя   бы   градусов  80--90.  Кроме  того,  там  введена
специальная  переменная  o,  которая  позволяет регулировать небольшие
пробелы  справа  и  слева  от  символа,  чтобы  он  не  соприкасался с
соседними знаками, когда будет участвовать в формуле. Мне кажется, что
с того края, где находится угол Вашей скобки, следует сделать пробел в
два  раза  больший,  чем  с  противоположного. Так, по крайней мере со
всеми  скобками в латехе. Вы делаете 4o и 5o соответсвенно, а по-моему
надо  6o  и 3o. Посмотрите. Разумеется, в выражении .6em#+3o# придется
использовать больше раз o#.

Еще измените определения для ваших угловых скобок

\mathchardef \langlemy "4\kostinfamhex 31
\mathchardef \ranglemy "5\kostinfamhex 32

Чтобы понять разницу, зачем это нужно, наберите формулу
$P = \langlemy -2,4,3\ranglemy$

> Так вот, те символы \langlemy и \ranglemy, которые я нарисовал, хорошо
> согласуются по своему размеру с другими скобками (круглыми, квадратными,
> фигурными) при размере \normalsize (это видно из вложенного в это письмо
> файла test.tex), но при изменении размера на \small это согласование
> расстраивается.

> Я пытался менять какие-то параметры в файле kostin.mf (не очень понимая их
> смысл), но у меня ничего не получилось.

> Можно ли как-то решить эту проблему?

Описано выше.


-----------------------------------------------------------------
С уважением,
 Алексей Малистов



================================================
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