<< Предыдущая

стр. 3
(из 5 стр.)

ОГЛАВЛЕНИЕ

Следующая >>

\ l s t s e t { e x t e n d e d c h a r s=t r u e ,
commentstyle=\i t ,
s t r i n g s t y l e =\bf }
...
\ b e g i n { l s t l i s t i n g } [ l a n g u a g e=TeX , c a p t i o n={Работа с чем?то } ]
% Работаем с пакетом l i s t i n g s
\ b e g i n { something }
что?то внутри
\end{ something }
\end{ l s t l i s t i n g }
1.3. РУССКИЙ СТИЛЬ 11

1.3.8 Hумерация
Иногда кириллица в нумерации более к месту чем латиница.

Списков
Чтобы заставить окружение enumerate нумеровать списки \item по-
русски. Следует воспользоваться пакетом babel :
Listing 1.8. Hумерация приложений
%\ item Маленькие буквы :
\renewcommand{\ theenumi }{\ asbuk { enumi }}
или
%Большие буквы :
\renewcommand{\ theenumi }{\ Asbuk{ enumi }}
Эти команды делают нужную нам нумерацию на верхнем уровне вло-
женности. Hа следующем уровне идут enumii, enumiii, enumiv.

Приложений
Для нумерации разделов русскими буквами (некоторые как раз лю-
бят латинские) следует написать:
Listing 1.9. Hумерация приложений
\ makeatletter
\renewcommand\ appendix {\par
\ s e t c o u n t e r { s e c t i o n }{0}%
\ s e t c o u n t e r { s u b s e c t i o n }{0}%
\ gdef \ t h e s e c t i o n {\@Asbuk\ c @ s e c t i o n }}
\ makeatother


1.3.9 Отступ для первого параграфа раздела
В русской литературе, в отличии от английской, принято, чтобы пер-
вый параграф раздела имел точно такой же отступ, как и везде. Для
этого следует воспользоваться пакетом indentfirst.
\ usepackage { i n d e n t f i r s t }
ГЛАВА 1. L TEX И КИРИЛЛИЦА
A
12

1.3.10 Подписи к рисункам
Для того, чтобы изменить „:“ в подписи рисунка на „.“ т.e. „Рис.1:“
на „Рис.1.“ следует добавить в преамбуле следующие строчки:
Listing 1.10. Изменение стиля подписи к рисункам
\ u s e p a c k a g e { c a p t i o n 2}
% заменяем для рисунков ’ : ’ после номера рисунка на ’ . ’
\renewcommand{\ c a p t i o n l a b e l d e l i m } { . }


1.3.11 За буковку „ё“ замолвите слово
Пара слов в поддержку буквы „ё“. Эту букву незаслуженно забывают
при наборе текстов. Более того, некоторые деятели ратуют за её полное
упразднение. Однако, коль уж вам довелось узнать русский язык, то
говорить и писать на нём следует правильно. Hаличие буквы „ё“ в тексте
значительно облегчает процесс чтения9 .
Поставь букву "ё"на её место! 10
Для проверки правописания надо использовать словарь Александра
Лебедева (раздел 4.1.1), где есть реальная поддержка „ё“.
В среде X-Window следует использовать шрифты cyr-rfx (раздел 3.4.1),
в которых буква „ё“ занимает своё законное место.




9
Особенно это актуально при быстром чтении.
10
Hа правах лозунга.
Глава 2

GNU Emacs

Есть две версии редактора Emacs GNU Emacs и XEmacs. Они обеспе-
чивают более или менее сходный набор функций и возможностей, но при
этом реализация некоторых деталей расходится довольно сильно. Здесь
описывается настройка и использование Gnu Emacs версий 21.2 и новее.
Если у вас проблемы с настройкой вашей версии Emacs, то попробуйте
перейти на более современные версии.
Для получения информации о пользовании и об общей настройки
GNU Emacs можно обратиться „Руководству по GNU Emacs“ русское
издание которого подготовлено IPLabs Inc. и АHО „Институтом логи-
ки, когнитологии и развития личности“. Есть электронная версия этой
книги, которую можно найти по адресу: www.gnu.org.ru .
Для тех, кто совсем не знаком с Emacs, неплохой идеей будет начать с
обучающей диалоговой программы. Чтобы вызвать её, следует запустить
Emacs и набрать C-h t.
Совет: При работе в среде X Window для emacs лучше всего подой-
дут шрифты lucidatypewriter из коллекции шрифтов Болховитянова
Cyr-RFX (См. раздел 3.4.1).


2.1 Emacs и MULE
MULE „MULtilanguage Emacs support“ это подсистема emacs, ко-
торая создана для возможности использования в этом редакторе различ-
ных языков. Основным толчком для развития MULE послужило жела-
ние использовать китайские/японские и тому подобные языки с этим,

13
14 ГЛАВА 2. GNU EMACS

говорят, проблем нет, а вот по поводу использования кириллицы мало
что известно попробуем разобраться.
Для правильной работы с Mule необходимо

• Пакет emacs-leim. Этот пакет присутствует в подавляющем боль-
шинстве известных дистрибутивов.

• Русские шрифты в koi8-r или iso5 кодировке (раздел 3.4.1).

Для кириллизации Emacs в .emacs следует добавить следующие строч-
ки:
Listing 2.1. Часть .emacs отвечающая за кириллицу
; ; кириллизация че ре з mule ? переключалка " C t r l +\"
; ; требуется l i e m
( set?language?environment "Cyrillic?KOI8" )

; ; клавиатура и терминал могут быть в кодировке
; ; отличной от koi8?r
( set?terminal?coding?system ’ koi8?r )
( set?keyboard?coding?system ’ koi8?r )

; ; Добавляет возможность копирования в Emacs
; ; из X Window кириллических символов ( хак )
( s e t ? s e l e c t i o n ? c o d i n g ? s y s t e m ’ compound?text?with?extensions )

; ; Подстановка шрифтов c y r ? r f x
( cond ( window?system
( create?fontset?from?fontset?spec
"?rfx?courier?medium?r?????18???????????fontset?Evgueni" t )
; ; по умолчанию
( s e t ? d e f a u l t ? f o n t "fontset?Evgueni" )
; ; по умолчанию для фреймов
( add?to?list
’ d e f a u l t ? f r a m e ? a l i s t ’ ( f o n t . "fontset?Evgueni" )
)))
Всё. Теперь самое главное это отучиться пользоваться системным пе-
реключателем раскладки клавиатуры Emacs всё делает сам. По умол-
2.1. EMACS И MULE 15

чанию переключатель раскладки клавиатуры повешен на C-\1 .
Чтобы раскладка соответствовала раскладке русских букв на вин-
довых (а теперь таких большинство) клавиатурах, можно добавить ещё
следующие строки2 :

Listing 2.2. Часть .emacs отвечающая за раскладку клавиатуры
( quail?define?package
" cyrillic?jcuken " " C y r i l l i c " "RU" n i l
" Ц К H keyboard layout widely used in Russia"
ЙУЕ
nil t t t t nil nil nil nil nil t)



(quail-define-rules
("1" ?1) ("2" ?2) ("3" ?3) ("4" ?4) ("5" ?5)
("6" ?6) ("7" ?7) ("8" ?8) ("9" ?9) ("0" ?0)
("-" ?-) ("=" ?=) ("‘" ?ё) ("q" ?й) ("w" ?ц)
("e" ?у) ("r" ?к) ("t" ?е) ("y" ?н) ("u" ?г)
("i" ?ш) ("o" ?щ) ("p" ?з) ("[" ?х) ("]" ?ъ)
("a" ?ф) ("s" ?ы) ("d" ?в) ("f" ?а) ("g" ?п)
("h" ?р) ("j" ?о) ("k" ?л) ("l" ?д) (";" ?ж)
("’" ?э) ("\\" ?\\) ("z" ?я) ("x" ?ч) ("c" ?с)
("v" ?м) ("b" ?и) ("n" ?т) ("m" ?ь) ("," ?б)
("." ?ю) ("/" ?.) ("!" ?!) ("@" ?\") ("#" ?#)
("$" ?\;) ("%" ?%) ("^" ?:) ("&" ??) ("*" ?*)
("(" ?() (")" ?)) ("_" ?_) ("+" ?+) ("˜" ?Ё)
("Q" ?Й) ("W" ?Ц) ("E" ?У) ("R" ?К) ("T" ?Е)
("Y" ?H) ("U" ?Г) ("I" ?Ш) ("O" ?Щ) ("P" ?З)
("{" ?Х) ("}" ?Ъ) ("A" ?Ф) ("S" ?Ы) ("D" ?В)
("F" ?А) ("G" ?П) ("H" ?Р) ("J" ?О) ("K" ?Л)
("L" ?Д) (":" ?Ж) ("\"" ?Э) ("|" ?/)("Z" ?Я)
("X" ?Ч) ("C" ?С) ("V" ?М) ("B" ?И) ("N" ?Т)
("M" ?Ь) ("<" ?Б) (">" ?Ю) ("?" ?,)
)

1
Как не странно это довольно удобно.
2
Клавиша \| > \/ при переключения регистра (для моего удобства). Вы сами
таким образом можете создать любую раскладку.
16 ГЛАВА 2. GNU EMACS

2.2 X-ресурсы
Для настройки интерфейса emacs полезно воспользоваться механиз-
мом X-ресурсов. Для кириллизации меню и для задания геометрии окна
emacs в файл можно .Xdefaults прописать следующие строки3 :

Emacs.pane.menubar.font: 8x16
Emacs.pane.menubar.*.fontlist: \
-rfx-courier-medium-r-*-*-18-*-*-*-*-*-koi8-r
Emacs.geometry: 86x51+0+0

Шрифты и геометрию следует подобрать согласно вашим требовани-
ям.


2.3 auctex
Listing 2.3. auctex конфигурация в .emacs
;;====================================
;; LaTeX
;;====================================
;;
; ; a u c t e x ? очень круто ! ! ! ? LaTeX , однако
;;
; ; Если текст разбит на несколько частей , то во всех файлах
; ; следует добавить строчку типа :
; ;% ??? mode : l a t e x ; TeX?master : " < Главный файл>"; ???
;;
( require ’ t e x ? s i t e )
( s e t q TeX?auto?save t )
( s e t q TeX?parse?self t )
( s e t q ? d e f a u l t TeX?master n i l )


; ; Переопределение функции из f o n t ? l a t e x . e l ( a u c t e x )
; ; для того , чтобы правильно выделялись русские , , кавычки ‘ ‘
3
Перевод строки за \вставлен только для удобства форматирования, его и \следует
убрать
2.4. REFTEX 17

( defun font?latex?match?quotation ( l i m i t )
"Used for patterns l i k e :
‘ ‘ t h i s i s a normal quote ’ ’ and these are multilingual
quoted s t r i n g s : , , russian ‘ ‘ , \" < french \"> and \" ‘german\" ’
quotes , << french >> and 8? bit french . "
(when ( re?search?forward
( eval?when?compile
( c o n c a t "\\( , ,\\)\\|\\( ‘ ‘\\)\\|\\(\" <\\)\\|"
"\\(\"‘\\)\\|\\(<<\\)\\|"
"\\(" ( ch ar?to ?s tr ing 1 7 1 ) "\\)" ) ) ; An 8? b i t "<<"
limit t )
( l e t ( ( beg ( match?beginning 0 ) ) )
( search?forward
( cond ( ( match?beginning 1 ) " ‘ ‘ " )
( ( match?beginning 2 ) " ’ ’ " )
( ( match?beginning 3 ) "\">" )
( ( match?beginning 4 ) "\" ’" )
( ( match?beginning 5 ) " >" )>
( ( match?beginning 6 )
( eval?when?compile ( c har?to ?str in g 1 8 7 ) ) ) )
l i m i t ’ move )
( store?match?data ( l i s t beg ( p o i n t ) ) )
t )))

; ; Автовставка кавычек по нажатию клавиши "
( s e t q TeX?open?quote " , , " )
( s e t q TeX?close?quote " ‘ ‘ " )



2.4 reftex

Listing 2.4. reftex конфигурация в .emacs
;;
; ; r e f t e x ? r e f , l a b e l s и т. д . в LaTeX
;;
; ; w i t h AUCTeX LaTeX mode
( add?hook ’ LaTeX?mode?hook ’ turn?on?reftex )
18 ГЛАВА 2. GNU EMACS

; ; w i t h Emacs l a t e x mode

<< Предыдущая

стр. 3
(из 5 стр.)

ОГЛАВЛЕНИЕ

Следующая >>