КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Тонкости
Для каждого ключевого слова программа makeindex собирает все относящиеся к нему номера страниц и записывает их в ind - файле после этого слова через запятую. Если при этом попадутся три или более идущих подряд номера страниц, то в ind - файл будут записаны только первый и последний из этих номеров, через короткое тире (en-dash). Такие пары страниц через короткое тире можно организовывать и вручную. Пусть, например, в какой-то части вашего текста все время идет речь о кошках. Тогда можно в начале этой части написать \index{Кошки|(} а в конце --- \index{Кошки|)} Если первая из этих команд попала на страницу 9, а вторая - на страницу 77, то после обработки idx - файла программой makeindex в ind - файл попадет запись \item Кошки, 9--77 Команды index{Кошки}, оказавшиеся между страницами 9 и 77, будут при этом проигнорированы. При сортировке программа makeindex принимает во внимание не только буквы, но и спецзнаки, записанные в аргументе команды \index. Иногда это нежелательно: если в тексте имеются команды \index{Аист} и \index{\textbf{Ящерица}}, то ящерица может оказаться в ind-файле раньше аиста, если makeindex будет считать, что запись для нее начинается с символа "\", который идет раньше всех русских букв 5) . Чтобы избежать такого рода неприятностей, предусмотрена возможность по отдельности задать слово, которое будет участвовать в сортировке, и текст, который будет реально записан в ind-файл. В приведенном выше примере следовало бы написать \index{Ящерица@\textbf{Ящерица}} Теперь ящерица попадет туда же, куда и все прочие слова на букву "я", но при этом будет напечатана жирным шрифтом. Общее правило такое: если в аргументе команды \index присутствует символ @, то при сортировке учитывается только то, что написано левее него, а в ind - файл записывается только то, что правее него. Можно задавать отдельные тексты для сортировки и для печати не только для основного заглавного слова, но и для слов, ему подчиненных: \index{Ящерицы@\textbf{Ящерицы}!игуана@\textbf{игуана}} Напоминание: если перед @ или | стоит кавычка ", то эти значки рассматриваются просто как символы. Программа makeindex может оформлять номера разных страниц по-разному. Пусть, например, вы считаете, что одно из мест в тексте, где говорится о кошках, является особо важным, и хотите, чтобы номер соответствующей страницы был подчеркнут (по аналогии с указателем к книге TeXbook [2]). Тогда можно поставить в этом месте команду \index{Кошки|underline} Предположим, что эта команда попала на страницу 100, и, кроме того, в тексте были две команды \index{Кошки}, попавшие на страницы 15 и 47. Тогда после обработки idx-файла программой makeindex в ind-файле появится такая строка: \item Кошки, 15, 47, \underline{100} Общее правило таково: команда \index{XXX|abcd} порождает в ind-файле строку \item XXX, \abcd{y} (здесь - номер страницы). Если вы хотите номер страницы не подчеркнуть, а выделить другим шрифтом, разумно воспользоваться одной из команд для смены шрифта, работающих как команда с одним аргументом (см. выше). Среди символов "abcd" не должно быть круглых скобок (сочетания "|(" и "|)" имеют, как было сказано выше, особый смысл); если вы хотите оформить таким образом номер страницы к "подчиненному", а не заглавному термину, то именно после подчиненного термина (того, после которого должен реально появиться номер страницы) и надо писать |abcd: \index{Кошки!Ангорские|textbf} | |||||||||||||||||||||||||||||||||||||||||||||
4. Лекция: Оформление текста в целом | ||||||||||||||||||||||||||||||||||||||||||||||
Настройка программы makeindex
В предыдущих разделах мы объясняли, как и какую информацию можно передавать программе makeindex. Теперь объясним, как добиться того, чтобы она обрабатывала эту информацию по-иному.
Если "запустить программу makeindex с ключом c", то есть сказать
makeindex -c исходный\_файл
то при обработке idx-файла программой makeindex пробелы в начале и конце записей будут игнорироваться, а два и более пробела будут рассматриваться как один. Благодаря этому записи \index{Кошка} и \index{ Кошка} будут рассматриваться как относящиеся к одному и тому же ключевому слову. Без этого ключа программа {makeindex} отведет в указателе отдельную строку для кошки, начинающейся с пробела.
Можно задать по своему усмотрению имя файла, в который программа makeindex запишет результаты своей работы. Для этого надо воспользоваться ключом o (в примере мы употребили еще и ключ c, но это не обязательно):
makeindex -c -o выходной\_файл исходный\_файл
Чтобы задать отличное от стандартного имя файла с протоколом трансляции, надо аналогичным образом воспользоваться ключом t.
Наконец, можно запустить программу makeindex вместе со стилевым файлом, стилевой файл в котором программе будут даны указания по поводу вида, в котором будет записан отсортированный и обработанный idx - файл. Написав подходящий стилевой файл для makeindex, можно радикально изменить вид ind-файла — так, что он вообще не будет иметь ничего общего с LaTeX'овским файлом (это может иметь смысл: makeindex задуман как программа широкого профиля, пригодная не только для LaTeX'а). Как добиться столь революционных изменений, мы обсуждать не будем (интересующиеся могут узнать все подробности из оригинальной документации), но о некоторых вещах, полезных именно для LaTeX'а, расскажем.
Чтобы подключить стилевой файл к makeindex, надо запустить эту программу с ключом s, после которого, через пробел, указывается имя стилевого файла (по традиции он имеет расширение ist). Если стилевой файл называется mystyle.ist, то можно сказать так:
makeindex -s mystyle.ist исходный_файл
Теперь обсудим, что можно менять с помощью стилевого файла. Как мог заметить читатель, программа makeindex автоматически записывает строку
\begin{theindex}
в начало ind-файла и
\end{theindex}
в его конец. Часто требуется, чтобы в начало или конец ind - файла автоматически записывалось что-то еще (команда \sloppy в начало, например). Для того, чтобы после \begin{theindex} было на отдельной строке написано еще и \sloppy, надо в стилевом файле написать так:
preamble "\\begin{theindex}\n
\\sloppy\n"
Здесь preamble - имя стилевого параметра, определяющего, что записывается в начало всякого ind - файла. Остальной текст — содержание этой записи. Правила записи в стилевом файле для makeindex таковы:
| ||||||||||||||||||||||||||||||||||||||||||||||
4. Лекция: Оформление текста в целом | ||||||||||||||||||||||||||||||||||||||||||||||
Плавающие иллюстрации и таблицы
Простейшие средства
Чтобы разместить в тексте иллюстрацию, удобно воспользоваться окружением figure. Стоящий между \begin{figure} и \end{figure} текст автоматически размещается LaTeX'ом в таком месте, где он укладывается целиком (не переходя со страницы на страницу); это может быть не на "своей" странице, а позже. В последнем случае говорят, что иллюстрация "всплыла" на следующей странице; именно поэтому окружение figure называют еще " плавающая иллюстрация".
Команда \caption позволяет сделать подрисуночную подпись. Эта команда имеет один обязательный аргумент — текст подписи. На печати подпись состоит из слова, определенного командой \figurename (" Figure-", если не переопределять эту команду — см. выше), порядкового номера иллюстрации, присвоенного ей LaTeX'ом, и подписи, указанной в аргументе команды. Команду \caption можно давать в любом месте между \begin{figure} и \end{figure}: в соответствующем месте появится на печати и сгенерированная ею подпись. Разумно поэтому ставить команду \caption либо в конце окружения figure (тогда подпись будет размещена под иллюстрацией), либо в его начале (подпись появится над иллюстрацией).
Если команду \label поместить внутри окружения figure после команды \caption, то команда \ref ссылка на плавающую иллюстрацию} будет генерировать номер иллюстрации. Например, рис.4.2 получился так:
Например, рис.~<ref{void} на с.~\pageref{void}...
...
\begin{figure}
\vspace*{2.5cm}
\caption{Белый квадрат
на белом фоне}\label{void}
\end{figure}
Рис. 4.2. Белый квадрат на белом фоне
Внутри одного окружения figure может быть несколько команд \caption, и каждую из них можно пометить своей командой \label. Подчеркнем, что само по себе окружение figure номера рисунка не создает.
На подписи к рис.4.2 после номера стоит точка. К сожалению, согласно LaTeX'овскому стандарту в этом месте ставится не точка, а двоеточие, что в русском тексте выглядит неудачно. В лекции 9 объясняется, как с этим можно бороться.
У окружения figure предусмотрен необязательный аргумент, с помощью которого можно высказать LaTeX'у свои пожелания по поводу размещения иллюстрации в тексте. Именно, после \begin{figure} (без пробела) можно поместить в квадратных скобках одну или несколько из следующих четырех букв, имеющих такие значения:
Если в квадратных скобках стоит несколько букв, это значит, что вы согласны на любой из предусматриваемых этими буквами вариантов. Если окружение figure задано без необязательного аргумента, это равносильно записи \begin{figure}[tbp] При наборе текста в две колонки полезно использовать не только само окружение figure, но и его вариант "со звездочкой": если сказать \begin{figure*} то при наборе текста в одну колонку это не будет ничем отличаться от окружения figure без звездочки, а при наборе текста в две колонки создаст иллюстрацию шириной в целую страницу (без звездочки получилось бы шириной в одну колонку). Если окружение открывается командой \begin{figure*}, то и закрываться оно должно командой со звездочкой. Если при наборе в две колонки задать окружение figure (без звездочки) с необязательным аргументом p, то для печати иллюстраций будет выделена не отдельная страница, но отдельная колонка. При подключении стилевого пакета multicol пользоваться окружениями со звездочкой {figure*} и {table*} (см. ниже) нельзя. Окружение {table} определяет " плавающие таблицы". Все свойства этого окружения дословно совпадают с соответствующими свойствами окружения {figure}, за двумя исключениями: во-первых, подпись, генерируемая командой \caption, начинается со слова, определенного в команде \tablename, и переопределять, при необходимости, надо именно эту команду, и во-вторых, таблицы нумеруются независимо от иллюстраций. Кстати, подпись к таблице принято делать не снизу, как к иллюстрации, а сверху. Окружение {table*} при наборе текста в две колонки определяет таблицы шириной в целую страницу. В документе можно, при желании, получить автоматически сгенерированные списки иллюстраций и/или таблиц. Для этого используются команды \listoffigures (для иллюстраций) и \listoftables (для таблиц). Их работа аналогична команде \tableofcontents, генерирующей оглавление: материал для этих списков собирается в специальные файлы с расширениями lof (для иллюстраций) и lot (для таблиц); при каждом запуске LaTeX'а информация, записанная в этих таблицах, относится к предыдущему запуску, так что в самом конце может понадобиться запустить LaTeX лишний раз; наконец, команда \caption может принимать необязательный аргумент — вариант подписи под иллюстрацией или таблицей, предназначенный для включения в список иллюстраций или таблиц соответственно. Этот необязательный аргумент записывается (в квадратных скобках, как обычно) перед обязательным. Как окружение {figure} не рисует картинок, так и окружение {table} только размещает таблицу на страницах документа, но не создает ее текста. Как набирать таблицы в LaTeX'е, мы расскажем в лекции 6. В разд.9.7 мы расскажем о том, как можно модифицировать оформление плавающих иллюстраций и таблиц. | ||||||||||||||||||||||||||||||||||||||||||||||
4. Лекция: Оформление текста в целом | ||||||||||||||||||||||||||||||||||||||||||||||
В этой лекции мы рассмотрим такие вопросы, как общий стиль оформления документа, разбиение текста на разделы, титульный лист, оглавление и пр. | ||||||||||||||||||||||||||||||||||||||||||||||
В этой лекции мы рассмотрим такие вопросы, как общий стиль оформления документа, разбиение текста на разделы, титульный лист, оглавление и пр. Система LaTeX освобождает вас от многих забот об оформлении документа, но при этом и навязывает такие черты оформления, которые могут вас по тем или иным причинам не устраивать. От этого "диктата" можно отчасти отойти, если модифицировать стандартные классы, создав свой стилевой пакет (в последней лекции мы расскажем, как это делать). В принципе можно создать и свой собственный класс, весьма далекий от стандартных, но для этого требуются более глубокие познания в TeX'е, чем дает эта книга. Начнем же мы с того, что систематически рассмотрим вопрос о стандартных классах.
Классы, пакеты и классовые опции
Команда \documentclass, с которой начинается любой LaTeX'овский файл, имеет один обязательный аргумент — название основного класса — и один необязательный, размещающийся перед обязательным, — список, через запятую, "классовых опций".
Прежде чем говорить о классах документов, скажем несколько слов о команде, которая очень часто идет сразу после \documentclass, а именно, команде \usepackage. После \documentclass может идти одна или несколько команд \usepackage; аргумент этой команды — это список, через запятую, стилевых пакетов, подключаемых к нашему документу. В первой лекции мы умолчали о том, что некоторые стилевые пакеты допускают задание своих личных стилевых опций (каких именно — зависит от пакета). Список стилевых опций пакета задается в необязательном аргументе команды \usepackage (через запятую, если опций несколько). Необязательный аргумент команды \usepackage ставится перед обязательным.
Например, если включить в преамбулу строку
\usepackage{amsmath}
то вам откроются дополнительные возможности набора математических формул, о которых мы много рассказывали во второй лекции; если же написать
\usepackage[noamsfonts]{amsmath}
то у вас будут все эти возможности, кроме использования готического и ажурного шрифтов.
Некоторые стилевые пакеты в своей работе, кроме того, учитывают "классовые опции" (это то, что указывается в необязательном аргументе команды \documentclass — см. ниже).
Теперь вернемся к классам документов. В первой лекции мы уже перечислили пять классов, предоставляемых LaTeX'ом: article, report, book, proc и letter. Сейчас мы рассмотрим подробнее четыре из них. Классletter рассматривается ниже, в разд."Письма". (Американское математическое общество распространяет также, вместе со своими стилевыми пакетами, классы документов amsart, amsproc и amsbook; мы рассмотрим их в приложении Г.
Класс article удобно применять для статей, класс report — для более крупных статей, разбитых на главы, или небольших книг, класс book — для книг. В табл. 4.1 перечислены некоторые черты оформления, присущие стандартным классам. В ней знак означает "всегда присутствует", знак означает "всегда отсутствует", знак означает "по умолчанию отсутствует, но будет присутствовать, если задать классовую опцию или специальную команду", знак означает "по умолчанию присутствует, но можно отменить с помощью классовой опции или специальной команды".
Мы не стремились охватить в этой таблице все детали различий между стандартными классами (например, колонтитулы в разных классах оформляются по-разному). Опишем теперь классовые опции. Напомним, что список классовых опций через запятую ставится в квадратных скобках перед основным аргументом команды \documentclass. Самые часто употребляемые классовые опции — это 11pt и 12pt. Они означают, что основной текст документа будет набран шрифтом кегля 11 или 12 соответственно. Если этих опций не указывать, то будет шрифт кегля 10. Можно указать классовую опцию, задающую формат используемой бумаги, после чего TeX рассчитает размеры текста и полей так, чтобы они максимально соответствовали этому формату. Эти опции таковы (единица измерения указана в скобках):
Если ни одна из этих опций не указана, LaTeX считает, что размер бумаги равен (в дюймах) (этот формат бумаги иногда называют "letter"). Если предполагается расположить текст так, чтобы он шел параллельно широкому, а не узкому краю бумаги, то можно указать опцию landscape: в этом случае TeX будет вычислять размеры текста и полей, считая, что ширина и высота листа бумаги поменялись ролями. Подчеркнем, что задание опции landscape само по себе текст на не повернет: он будет сверстан TeX'ом исходя из соответствующих размеров, но дальше необходимо иметь принтер и/или dvi-драйвер, способные обеспечить печать текста в такой ориентации. По умолчанию же считается, что строки параллельны узкому краю листа. Опция twoside задает печать с разными полями на нечетных и четных страницах (как в книгах), а опция oneside — печать с одинаковыми полями на всех страницах. В классе book по умолчанию установлена опция twoside, в классах article и report — oneside, в классе proc поля на четных и нечетных страницах всегда одинаковые. Для классов article, report и book можно указать классовую опцию twocolumn. Она означает, что набор текста будет производиться в две колонки. Так как абзацы при этом будут получаться довольно узкие, разумно при пользовании этой опцией заодно увеличить параметр \tolerance, иначе будет получаться много строк, выбивающихся за колонку. В разд. "Набор в две колонки" объяснялось, как сделать так, чтобы две колонки отделялись линейкой. В классе proc набор всегда производится в две колонки, и опции twocolumn и onecolumn (есть и такая) на него не действуют. Опция draft пригодна для любого класса. Если она включена, то каждая выбивающаяся на поля строка (т.е. строка, о которой выдается сообщение "Overfull \hbox" —) помечается на полях "марашкой". Это удобно при подготовке корректур (английское слово draft как раз и означает "набросок"). Режим, при котором разные страницы могут иметь разную высоту, задается, как мы помним, командой \raggedbottom. По умолчанию этот режим устанавливается классами article и report, если только в качестве классовой опции не указана "двусторонняя" печать (классовая опция twoside), а также классом proc. Во всех остальных случаях LaTeX будет, по умолчанию, делать все страницы одинаковой высоты. У классов report и book имеются опции openright и openany. Если указана опция openright, то каждая глава начинается обязательно с нечетной страницы (если необходимо, то ради этого печатается дополнительная пустая страница; на развороте нечетная страница будет правой). Если указана опция openany, то новая глава может начинаться как с четной, так и с нечетной страницы, и лишних пустых страниц ради начала главы LaTeX не делает. По умолчанию в классе report LaTeX действует так, как если бы было установлено openany, а в классе book — как если бы было openright. Скажем кое-что про класс документов proc. В этом классе текст печатается в две колонки, с уменьшенными полями. Опции a5paper, b5paper, onecolumn и titlepage в классе proc использовать нельзя. Нельзя также пользоваться маргиналиями (разд. 10). При пользовании классом proc внизу каждой страницы будет напечатано слово Page (" страница") и номер страницы. Если вы хотите, чтобы вместо Page печаталось что-то другое, скажем, "с.", то нужно в преамбуле переопределить команду \pagename, то есть написать: \renewcommand{\pagename}{с.} переопределение "стандартных надписей", делаемых LaTeX'ом по-английски; \renewcommand обсуждается в лекции 7). Следующие две классовые опции, применимые к любому из основных классов, влияют на оформление выключных математических формул; если вы пропустили при чтении соответствующие места в лекции 2, то пропустите и это место. Опция fleqn означает, что выключные формулы, заданные с помощью окружений {equation}, {eqnarray} и {displaymath}, а также пары команд \[ и \], будут напечатаны не в центре строки, а в ее левой части. Опция leqno означает, что номера формул, генерируемые окружениями {equation} и {eqnarray}, будут печататься не справа, а слева. Титульному листу и оформлению частей документа будут посвящены отдельные разделы; чтобы завершить наш обзор различных стандартных вариантов стиля, нам осталось обсудить колонтитулы и номера страниц, чему будет посвящен разд.3. | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Дата добавления: 2014-01-03; Просмотров: 517; Нарушение авторских прав?; Мы поможем в написании вашей работы!
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет