Содержание
Русификация 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