Tex: подробное описание С. М. Львовский
Download 1.51 Mb. Pdf ko'rish
|
LaTeX-Lvovsky
- Bu sahifa navigatsiya:
- 7.4. Предметный указатель
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 главы не определены). |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling