Главная » Просмотр файлов » Котельников И., Чеботаев П. LaTeX2e по-русски

Котельников И., Чеботаев П. LaTeX2e по-русски (1185906), страница 68

Файл №1185906 Котельников И., Чеботаев П. LaTeX2e по-русски (Котельников И., Чеботаев П. LaTeX2e по-русски.pdf) 68 страницаКотельников И., Чеботаев П. LaTeX2e по-русски (1185906) страница 682020-08-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 68)

Поэтому в системеLATEX сортировка терминов по алфавиту и отслеживание номеров страниц полностью автоматизированы. Наборщику текста нужно только пометить терминыв исходном тексте командами \index.Если затем загрузить пакет makeidx и вставить в преамбулу входного файлакоманду \makeindex, компилятор создаст первичный указатель, т. е. список всехпомеченных терминов в порядке их упоминания в исходном тексте и сохранит егов отдельном файле. Далее этот список сортируют при помощи специальной программы.

Поскольку любая реализация LATEX’а содержит программу MakeIndex ,чаще всего используют именно её. Она формирует упорядоченный по алфавитусписок терминов в виде процедуры theindex и также сохраняет его в отдельномфайле. Перед следующей компиляцией этот файл можно вставить в исходный14.1. Рецепт приготовления325текст при помощи известной Читателю команды \input или более специализированной команды \printindex.В разработке MakeIndex в разные годы принимали участие Пехонг Чжень(Chen, Pehong), Майкл Харрисон (Harrison, Michael) и Нил Кемпсон (Kempson,Niel). Консультировал работу Лесли Лампорт (Lamport, Leslie).

MakeIndex можно настроить для сортировки словаря терминов, пометив нужные слова в исходном тексте при помощи команды \glossary. Дальнейшие действия идентичныподготовке алфавитного указателя за исключением самой последней стадии, таккак аналога команды \printindex для словаря терминов нет. Предполагается,что отсортированный словарь терминов должен быть просто скопирован в исходный текст документа. На практике MakeIndex едва ли где-то применяют длясортировки словаря терминов, поскольку он, как правило, содержит не ссылкина номера страниц, а пояснения к терминам. Ясно, что бездушная программа неспособна объяснить смысл термина.

Тем не менее наличие двух команд: \indexи \glossary — для выделения терминов несомненно полезно. В нашей книге мыотмечаем командой \index слова, которые должны попасть в предметный указатель, а команду \glossary используем для именного указателя, хотя её имя вбуквальном переводе означает «толковый словарь».14.1.Рецепт приготовленияЗафиксируем первые итоги нашего обсуждения, сосредоточившись для началана составлении предметного указателя.В качестве первого шага в исходном тексте следует пометить выбранные термины при помощи команды \index, пользуясь правилами, описанными в разделе 14.3. Если некоторые термины встречаются в тексте многократно, то, какговорится, возможны варианты.

Например, можно пометить только первое упоминание каждого термина. Другая крайность — механически отметить каждоеупоминание термина. Выбор варианта целиком определяется автором публикации. Обычно отмечают наиболее информативные упоминания каждого термина,но, например, в научных публикациях по истории часто фиксируется каждоеупоминание события или имени исторического деятеля.Чтобы пометить термин в исходном тексте документа в простейшем случаеего достаточно продублировать в аргументе команды \index, которую размещают сразу вслед за термином. Команды \index безобидны, так как они попростуигнорируются, пока в преамбуле отсутствует декларация \makeindex. Поэтомуметить термины можно на любой стадии редактирования исходного текста, отложив окончательную сборку алфавитного указателя до завершения основнойчасти работы.На завершающей стадии подготовки указателя в корневой входной файл (допустим, он называется jobname.tex) нужно внести следующие изменения:326Глава 14.

Алфавитный указатель1. Загрузить пакет makeidx1 и вставить в преамбулу декларацию \makeindex.Она указывает, что LATEX должен обновлять перечень помеченных терминов при очередной компиляции исходного текста. По традиции \makeindexпомещают вслед за \usepackage{makeidx}:\documentclass{book}\usepackage[russian]{babel}\usepackage{makeidx}\makeindex. . .\begin{document}. . .2. Вставить команду \printindex там, где должен быть напечатан алфавитный указатель.

Обычно её помещают ближе к концу документа.3. Повторить компиляцию входного файла. В результате будет создан первичный указатель jobname.idx. Он состоит из входов в указатель, каждый изкоторых создан одной командой \index в исходном тексте.4. Отсортировать первичный указатель программой MakeIndex . В результатебудет создан файл jobname.ind, содержащий исходный текст алфавитного указателя в виде процедуры theindex.

Обычно программа сортировкизапускается из меню редактора исходных текстов LATEX, так что Читателюне нужно беспокоиться, какой файл и чем обрабатывать.При следующей компиляции исходного текста команда \printindex напечатаеталфавитный указатель, взяв его текст из jobname.ind.

Однако, если в указателеесть русские слова, он будет упорядочен как угодно, но только не по алфавиту.Такова «реальность, данная нам в ощущениях» авторами стандартной русификации LATEX’а. Причиной всех проблем является принятое в 1999 году решениеобъявить русские буквы командами. LATEX преобразует русские буквы в команды\cyrcmd и в таком виде записывает их во все служебные файлы, в том числев файлы idx. Таким способом достигается совместимость документов с разметкой LATEX, созданных на разных компьютерных платформах. Однако программаMakeIndex не обновлялась с 1993 года, когда русские буквы ещё были буквами2 .Более современная программа xindy позволяет настраивать порядок сортировки, поэтому может правильно сортировать указатели гипотетически на любомсуществующем языке.

Однако реализация xindy для новейших версий Windowsна момент написания этой книги отсутствовала. В таких условиях приходитсяприбегать к кустарным методам. Они сводятся к принудительной перекодировкеidx-файлов перед вызовом программы MakeIndex .В настоящее время бо́льшая часть функций пакета makeidx перенесена в ядро системы LATEX.Пакет можно не загружать, если не используются команды \see, \seealso и \printindex.2 Прежний способ обработки русских букв без конвертации их в команды \cyrcmd можно смоделировать при помощи механизма TCX, см.

раздел 16.5.2.114.2. Процедура theindex327Разработчики «стандартной русификации» предлагают делать перекодировку с помощью скриптов rumkidx, которые вызывают программу sed, хорошо знакомую пользователям Unix. Установка sed в Windows возможна в составе библиотеки программ cygwin, но требует определённых усилий. На диске, прилагаемомк части тиража нашей книги, имеется скрипт cyr2win.wsf, который может работать с новейшими версиями Windows, начиная с Windows 983 , без установкидополнительного программного обеспечения. Мы использовали cyr2win.wsf приподготовке алфавитного указателя для данного издания, обрабатывая все файлыс расширением idx перед вызовом MakeIndex :cscript cyr2win.wsf jobname.idxmakeindx.exe jobname.idxПаллиативное решение с принудительной перекодировкой первичного указателя решает только часть имеющихся проблем.

С помощью MakeIndex невозможно осуществить «тонкую настройку» порядка сортировки путём введениядополнительных правил4 . Например, нельзя поменять очерёдность прописных истрочных букв, которая в кодировке Windows различна для русских и латинскихбукв. Не исключено, что через какое-то время MakeIndex уступит своё место программе xindy. Она понимает все инструкции, предназначенные для MakeIndex ,поэтому далее мы продолжим работу с MakeIndex , не полагаясь на дополнительные возможности xindy.Сообщения об ошибках, генерируемые программой MakeIndex , описаны в приложении B.4. Анализ отсортированного алфавитного указателя может обнаружить дополнительные ошибки, не обнаруженные MakeIndex . Они могут быть исправлены за счёт изменения соответствующих команд \index в исходном текстеи повторной обработки документа.

Отдельные исправления можно внести прямов файл jobname.ind. Он содержит текст алфавитного указателя в виде процедуры theindex. Однако прямого редактирования текста алфавитного указателяжелательно избегать, поскольку эту операцию пришлось бы повторять каждыйраз после генерации новой версии. Оформление алфавитного указателя можетварьироваться в широких пределах за счёт описанной в разделе 14.6 технологиинастройки программы MakeIndex .14.2.Процедура theindexПроцедура theindex печатает текст алфавитного указателя в две колонки5 . Каждая запись в указателе начинается командой \item. В отличие от процедур составления списков, которые могут состоять только из записей одного уровня,Возможно, требуется обновление Windows Script Host до версии 5.6 или выше.Порядок сортировки отдельных терминов можно варьировать при помощи префиксной части sortindex аргумента команды \index (cм. раздел 14.3).

Однако подобное решение вряд лиудовлетворит авторов книг, подобной нашей, которая содержит более 7 000 входов в указатель.5 Ещё раз напомним, что подобные утверждения относятся к стандартным классам документов.В нашей книге алфавитный указатель напечатан в 3 колонки.34328Глава 14. Алфавитный указательв процедуре theindex максимальное число уровней равно трём. Запись второго уровня начинается с команды \subitem, а запись третьего уровня — с\subsubitem.

Пустые строки между записями игнорируются. Дополнительныйвертикальный пробел, вставляемый перед записью, начинающей новую букву,создают при помощи команды \indexspace. MakeIndex автоматически вставляет её в нужных местах.\begin{theindex}\item гну 24, 26, 97\item гнус 13, 43\subitem злой 14, 117\subsubitem очень злой 77\indexspace\item дикобраз 13\end{theindex}гну 24, 26, 97гнус 13, 43злой 14, 117очень злой 77дикобраз 13Автору документа не придётся заполнять тело процедуры theindex «вручную»,но он должен в исходном тексте пометить термины, из которых компиляторунадлежит создать входы в указатель.14.3.Вход в указательАлфавитный указатель должен помочь читателю найти то, что он ищет.

Характеристики

Тип файла
PDF-файл
Размер
5,42 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6518
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее