Tex: подробное описание С. М. Львовский


Download 1.51 Mb.
Pdf ko'rish
bet134/143
Sana08.05.2023
Hajmi1.51 Mb.
#1444247
1   ...   130   131   132   133   134   135   136   137   ...   143
Bog'liq
LaTeX-Lvovsky

Приложение А.
О TEXовских шрифтах
Большая часть шрифтов, используемых L
A
TEXом, была создана самим Дональдом Кнутом
с помощью им же написанной программы
METAFONT. Эти шрифты называются Computer
modern fonts. Скажем несколько необходимых для дальнейшего слов о том, в каком виде
хранятся TEXовские шрифты. Как мы неоднократно отмечали выше, в процессе верстки тек
ста TEXу неважно, как реально выглядят символы. Все, что в этот момент используется —
информация о том, сколько места надо оставить на каждый символ (плюс еще некоторые
тонкости: например, какие символы составляют лигатуру, подобно тому как сочетание ?‘
дает на печати ¿, между какими символами предусмотрен кернинг, и т. п.). Все эти данные
содержатся в файлах с расширением .tfm. Формат этих файлов входит в TEXовский стан
дарт. Реальная форма символов становится важна при просмотре, печати, и вообще в тех
случаях, когда в игру вступают dvi-драйверы. Поэтому информация о форме символов хра

нится в отдельных файлах, формат которых не стандартизирован, а зависит от используемых
dvi
-драйверов. Мы будем для краткости называть файлы, в которых записана форма симво

лов, pk-файлами, так как они обычно (хотя и не всегда) имеют расширение .pk.
Следующее, что необходимо знать про TEXовские шрифты, — это то, что одному tfm-файлу
может соответствовать много разных шрифтов (и, тем самым, много разных pk-файлов). Де

ло в том, что в TEXовских шрифтах, созданных с помощью METAFONTа, предусмотрена
возможность их масштабирования. В процессе трансляции исходного текста TEX при рабо
те с масштабированным (скажем, увеличенным в два раза) шрифтом просто умножает на
заданный коэффициент размеры символов, взятые из уже существующего tfm-файла. А вот
при печати или просмотре понадобится уже и новый pk-файл, соответствующий масштаби

рованному шрифту.
L
A
TEX предусматривает возможность включения в Ваш документ шрифтов, не входящих
в стандартный L
A
TEXовский комплект. Для этого используется команда \newfont. Ее формат
таков:
\newfont{команда}{описание_шрифта}
Здесь команда
— это команда для переключения на добавляемый Вами шрифт. Имя этой
команды, которое Вы должны придумать, подчиняется обычным TEXовским правилам и не
должно совпадать с именами уже существующих команд. Что же до описания_шрифта, то
в простейшем виде это
— просто имя tfm-файла, соответствующего данному шрифту. Вот
пример. В свое время Дональд Кнут шутки ради разработал такой
ïðè÷óäëèâûé шрифт, на
зываемый cmff10. Если Вы хотите пользоваться этим шрифтом в своем тексте, включите в
преамбулу строчку
\newfont{\KOSOJ}{cmff10}
209


210
и вы сможете писать тексты вроде
Буквы выглядят немного
êîñîáî
êèìè.
bUKWY WYGLQDQT NEMNOGO
{\KOSOJ KOSOBOKIMI.}
По сути дела, \newfont определяет новую команды для переключения шрифтов, похожую на
привычные Вам команды вроде \bf или \Large (в частности, действие этой новой команды
заканчивается по выходе из той группы, внутри которой она была дана). Надо, однако, иметь
в виду два существенных различия. Во-первых, в отличие от команд наподобие \small, такие
команды не меняют ни интервалов между строками (параметр \baselineskip), ни размеров
невидимой линейки, создаваемой командой \strut. Во-вторых, внутри математической фор

мулы такая команда вообще никакого действия не оказывает и никак на шрифт, которым
печатаются математические символы, не влияет.
Выше говорилось, что в TEXе можно использовать масштабированные шрифты. Что
бы подключить такой шрифт с помощью команды \newfont, надо задать требуемое увели

чение или уменьшение во втором аргументе команды \newfont. Оно задается с помощью
TEXовского «ключевого слова» scaled (без backslash’а!), за которым следует коэффициент
масштабирования, умноженный на 1000 (после умножения коэффициента на 1000 должно
получиться целое число). Например, для подключения шрифта, увеличенного в два с поло

виной раза, надо после имени tfm-файла написать scaled 2500 , а для шрифта, размеры
которого уменьшены на 20%, надо написать scaled 800 . Будем надеяться, что у Вас есть
либо pk-файлы, соответствующие масштабированным таким образом шрифтам, либо про

грамма
METAFONT, с помощью которой эти файлы можно сгенерировать (при условии, что
Вы располагаете еще и
«исходными текстами» шрифтов).
В реально используемых в TEXе шрифтах коэффициенты 2,5 или 0,8 на самом деле не
употребляются. Применяемые на практике коэффициенты увеличения образуют геометри

ческую прогрессию со знаменателем 1,2. Для таких увеличений можно использовать более
удобные обозначения, при помощи команды \magstep: вместо scaled 1200 можно напи

сать scaled \magstep 1 , вместо scaled 1440
— scaled \magstep 2 (поскольку 1,2
2
= 1,44
),
и т. д. (максимально возможное значение
— \magstep 5). Можно также сказать \magstephalf,
что задает увеличение в

1,2
раза.
Можно также задавать увеличение не в явном виде, а сообщить TEXу требуемый «харак
терный размер
» шрифта. Для этого надо во втором аргументе команды \newfont написать,
после имени tfm-файла масштабируемого шрифта
at размер
где размер
— требуемый «характерный размер», заданный обычным образом в TEXовских
единицах длины или через TEXовские параметры длины. Если основной шрифт Вашего до
кумента имеет кегль 10, то характерный размер разумно выбирать равным 10pt, если 11
или 12, то 11pt или 12pt соответственно. Например, существует (не входящий в L
A
TEXовский
стандартный комплект) шрифт wasy10, содержащий различные причудливые символы, в том
числе астрологические знаки. Если Вы пишете текст по астрологии шрифтом кегль 12, то
имеет смысл написать в преамбуле
\newfont{\ASTROLOG}{wasy10 at 12pt}
В заключение приведем таблицы кодов символов в основных текстовых шрифтах, исполь

зуемых L
A
TEXом. Необходимость знать эти коды возникает сравнительно редко, например,


211
когда Вы пользуетесь L
A
TEXовской командой \symbol (см. стр.
60
). В таблицах не пред

ставлены коды русских букв, поскольку они зависят от используемой русификации. Коды
символов даны в шестнадцатиричной записи: первая цифра записи определяет строку, в ко

торой стоит символ, вторая
— столбец. Например, в шрифте roman буква æ стоит на пе
ресечении строки "10 и столбца "0A ; значит, ее код равен 1A в шестнадцатиричной записи
и 1
·16+10 = 26 в десятичной записи, и эту букву можно напечатать командами \symbol{"1A}
или \symbol{26} . Наша первая таблица
— шрифт roman, который является текущим в на
чале работы L
A
TEXа и вызывается, если надо, командой \rm. Соответствующие tfm-файлы
называются cmr10, cmr11 и т. п.: последние две цифры совпадают с
«характерным разме
ром
» шрифта, выраженным в пунктах.
"00 "01 "02 "03 "04 "05 "06 "07 "08 "09 "0A "0B "0C "0D "0E "0F
"00
`
´
ˆ
˜
¨
˝
˚
ˇ
˘
¯
˙
¸
˛
I
"10


˘
– —
ı
ff
fi
fl
ffi
ffl
"20
!
"
#
$
%
&

(
)
*
+
,
-
.
/
"30
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
"40
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
"50
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
"60

a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
"70
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~

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

ципиальных отличий от таблицы для прямого шрифта: на одинаковых местах стоят символы
с аналогичными очертаниями.
С другой стороны, в курсивном шрифте (напомним, что он вызывается командой \it и
что на него же в большинстве случаев переключается текущий шрифт под действием коман

ды \em; названия tfm-файлов cmti10 и др.) некоторые символы уже выглядят принципиаль

но по-иному:
"00 "01 "02 "03 "04 "05 "06 "07 "08 "09 "0A "0B "0C "0D "0E "0F
"00

Download 1.51 Mb.

Do'stlaringiz bilan baham:
1   ...   130   131   132   133   134   135   136   137   ...   143




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling