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


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

7.3. Библиография
Если Вам не нравится, что библиографические ссылки печатаются в квадратных скобках,
то Вы можете переопределить в своем стилевом файле команды \@cite и \@biblabel. По
умолчанию они определены так:
\newcommand{\@cite}[2]{[{#1\if@tempswa , #2\fi}]}
\newcommand{\@biblabel}[1]{[#1]\hfill}
10
)
Нет, нет, это только для примера.


IX.7. РАЗНОЕ
207
Мы не будем даже пытаться объяснить, чт ´о означают заковыристые команды в первом из
этих макроопределений и как второе из них согласуется со всем остальным, а отметим толь

ко, что в первом из этих определений можно заменить квадратные скобки на какие-нибудь
другие (скажем, круглые или косые),
— и тогда в соответствующих скобках будет печататься
ссылка, генерируемая командой \cite; аналогично, если заменить скобки во втором из этих
определений, то в соответствующих скобках будет печататься номер источника в списке ли

тературы. Будем надеяться, что для Вас уже очевидно, что в Вашем стилевом файле надо
писать \renewcommand вместо \newcommand.
7.4. Предметный указатель
Первое, что Вы можете изменить в оформлении предметного указателя (окружение theindex),
— это отступы, создаваемые командами \item, \subitem и т. д. Для изменения отступов «на
первом уровне
» (создаваемых командой \item) надо в стилевом файле переопределить ко
манду \@idxitem (но не сам \item!). Чтобы Вам было от чего отталкиваться, посмотрите на
стандартное определение этой команды. Оно очень простое:
\newcommand{\@idxitem}{\par\hangindent=40pt}
Для изменения отступов, создаваемых такими командами, как \subitem и \subsubitem, надо
переопределить непосредственно эти команды. Их стандартные определения также бесхит

ростны:
\newcommand{\subitem}{\par\hangindent=40pt\hspace*{20pt}}
\newcommand{\subsubitem}{\par\hangindent=40pt\hspace*{30pt}}
Наконец, команда \indexspace, создающая в предметном указателе дополнительный верти

кальный пробел, определяется в стандартных стилях так:
\newcommand{\indexspace}{\par\vspace{10pt plus 5pt minus 3pt}}
Иногда хочется изменить оформление предметного указателя более существенным обра

зом. Например, Вы можете захотеть, чтобы ссылка на предметный указатель присутствова

ла в оглавлении (в стандартных L
A
TEXовских стилях это не предусмотрено); возможно также,
что Вы захотите предпослать предметному указателю небольшое введение, набранное во всю
ширину страницы. Чтобы добиться таких вещей, надо переопределить команду \theindex.
Ее стандартное определение в стилях book и report выглядит так:
\newcommand{\theindex}{\@restonecoltrue
\if@twocolumn\@restonecolfalse\fi
\columnseprule=0pt \columnsep=35pt
\twocolumn[\@makeschapterhead{\indexname}]%
\@mkboth{\uppercase{\indexname}}{\uppercase{\indexname}}%
\thispagestyle{plain}\parindent=0pt
\setlength{\parskip}{0pt plus .3pt}%
\let\item=\@idxitem}
Первая, вторая и последняя строчки этого определения содержат незнакомые Вам TEXовские
команды; мы не будем пытаться объяснить, что они значат, а только скажем, что менять эти
места в определении команды \theindex нельзя. Зато все остальное в этом определении


IX.7. РАЗНОЕ
208
должно быть понятно читателю, усвоившему основную часть нашей книги. Именно, в тре

тьей строчке задаются параметры двухколонного оформления в предметном указателе: там
сказано, что колонки в окружении theindex не надо разделять линейкой и задается про

межуток между двумя колонками (см. раздел 2.1 главы IV). В пятой строке дана команда,
задающая (неким экзотическим, не рассматривыавшимся нами способом) материал для ко

лонтитулов. Она либо вносит левую и правую пометки, совпадающие со стандартным за

главием предметного указателя, либо ничего не делает (в разделе 6 объяснялось, в каких
случаях окружение theindex вносит автоматически пометки, а в каких
— нет). Если уж Вы
переопределяете \theindex, то можете в этой строчке написать \markboth вместо \@mkboth
(если хотите, чтоб эти пометки были), или вообще убрать эту строчку, чтоб пометок не было.
В шестой строке обратите внимание на команду, устанавливающую нулевое значение абзац

ного отступа. Менять ее не надо, поскольку именно с таким значением абзацного отступа со

гласовано действие команд \item, \subitem и т. п. (если Вы поняли, что такое \hangindent,
то поймете, каким именно образом согласовано).
Наконец, в четвертой строчке стоит команда \twocolumn с необязательным аргументом.
Как объяснялось в разделе 7.6 главы III, то, что стоит в необязательном аргументе, будет
напечатано во всю ширину страницы. В стандартном определении тут стоит всего лишь ко

манда \@makeschapterhead, создающая заголовок ненумерованной главы (см. раздел 3), но
Вы можете записать туда и любой текст, который хотите предпослать собственно предмет

ному указателю. Правда, тут возникает один технический момент: введение к предметному
указателю Вы, видимо, захотите редактировать, и нехорошо для этого всякий раз лазить в
стилевой файл. Один из возможных выходов таков. Запишите в Вашем определении коман

ды \theindex четвертую строчку так:
\twocolumn[\@makeschapterhead{\indexname}\UKAZ]%
Здесь \UKAZ — команда, которую Вы сможете определить в преамбуле документа, например,
так:
\newcommand{\UKAZ}{%
w PREDMETNOM UKAZATELE Q SOBRAL
WSE NEPONQTNYE SLOWA. eSLI wY
ˆEGO-TO W NEM NE NAJDETE,
OBRATITESX K SLOWAR@
INOSTRANNYH SLOW.%
}
Если Вы хотите, чтобы предметный указатель был отражен в оглавлении, то в необяза

тельный аргумент команды \twocolumn надо добавить команду \addcontentsline, напри

мер, в таком виде:
\addcontentsline{toc}{chapter}{\indexname}
Последнее, что нужно сказать про команду \theindex,
— это что в стиле article чет
вертая строчка ее стандартного определения выглядит так:
\twocolumn[\section*{\indexname}]%
(поскольку в стиле article главы не определены).



Download 1.51 Mb.

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




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