Заметки по LaTeX

Сергей Сергеевич
Вергелес
 
Впервые опубликовано 25 мая 2015,
последняя редакция от 28 мая 2015, 22:34

Содержание

Русификация LaTeX

Русификация предметного указателя.

Проблема состоит в том, что по умолчанию LaTeX не сортирует правильно (по алфавиту) предметный указатель. Внутренняя обработка кириллических символов в LaTeX построена и использовании команд типа \Cyra вместо буквы ‘а’. С другой стороны сортировщик внутри LaTeX об этом не знает, и сортирует эти команды-символы согласно формальному применению порядка латинского алфавита к кириллическим командам. В этом разделе я опишу способ решения этой проблемы, основанный на использование дополнения к LaTeX под названием rumkidx.

У меня система Windows 7, установлен MikTeX 2.9, находящийся в папке c:\Program Files (x86)\MiKTeX 2.9\, я пользуюсь командой makeindex для составления предметного указателя, использую кодировку cp1251 в tex-файлах. В качестве редактора использую WinEdt.

1. Установите Sed (streams editor) for Windows, проще всего для этого скачать и установить Setup program. В результате, в частности, должен появиться файл sed.exe в папке c:\Program Files (x86)\GnuWin32\bin\

Эта программа умеет работать с текстами, в данном случае она будет производить замены кириллических команд LaTeX на просто кириллические символы.

2. Скачайте пакет rumkidx с сайта с дистрибутивом TeX. С описании пакета описаны требования для установленной системы LaTeX. На сколько я понял, при стандартной установке эти требования выполнены.

2 a) Создайте папку c:\Program Files (x86)\MiKTeX 2.9\add\ (или какую хотите, или используйте уже существующую)

2 b) В этой папке создайте папку rumkidx, и в ней положите файлы *.sed (их три штуки) из пакета rumkidx

2 с) В папку c:\Program Files (x86)\MiKTeX 2.9\add\ (или в папку c:\Program Files (x86)\MiKTeX 2.9\miktex\bin\) положите файл rumkidx.bat. Содержание файла должно быть

@echo off

sed -f «c:\Program Files (x86)\MiKTeX 2.9\add\rumkidx\rumkidx1.sed» %1.idx | makeindex -c -t %1.ilg | sed -f «c:\Program Files (x86)\MiKTeX 2.9\add\rumkidx\rumkidx3.sed» > %1.ind

3. В переменную Path надо добавить путь c:\Program Files (x86)\GnuWin32\bin\, а также путь, куда был помещён файл rumkidx.bat, в моём случае это c:\Program Files (x86)\MiKTeX 2.9\add\. Для этого надо в системе Windows зайти в Панель управления -> Система и безопасность -> Система -> Дополнительные параметры системы (слева) -> Дополнительно (вкладка) -> Переменный среды (внизу кнопка) -> Переменная, строчка Path -> изменить, и к существующей строчке добавить в конце

;c:\Program Files (x86)\GnuWin32\bin\;c:\Program Files (x86)\MiKTeX 2.9\add\

4. Теперь, вместо того, чтобы при составлении предметного указателя пользоваться командой makeindex main.idx, надо выполнять команду

rumkidx main

где main.tex — название головного файла Вашего текста.

5. Для того, чтобы WinEdt автоматически использовал рутинку rumkidx.bat, надо в Options -> Execution modes -> MakeIndex сделать следующие изменения в полях:

Executable: rumkidx.bat

Switches:

Parameters: «%N»

Redirect Console I/O: on

Этот метод работает, если WinEdt загружает переменную среды path. Если настройки WinEdt таковы, что он эту переменную не загружает, то как в настройках самого WinEdt, так и в файле rumkidx.bat надо писать полные пути исполняемых файлов.

Контроль работы LaTeX. Поиск ошибок.

Для того, чтобы узнать, что представляет из себя макрос \amacros, надо после \begin{document} вставить команду

\meaning\amacros

Если же в имени макроса есть at — @, например, название макроса \@amacros, то надо выполнить расширенную версию

\makeatletter\meaning\@amacros\makeatother

Учебники и справочная литература по LaTeX

[1] Tobi Oetiker. The Not So Short Introduction to LaTeX.

[2] И. Котельников, П. Чеботарёв. Latex2e по-русски. Сибирский хронограф, Новосибирск, 2004

Добавить комментарий