Распакуйте архив в любом удобном месте. Установите переменные окружения. Они включают:
nsgmls, costsh и $SGML_HOME/bin должны быть в Вашем $PATH. Выполните команду make install в каталоге src, чтобы собрать и установить утилиту xpm2rtf.
Если у вас есть WWW сервер, вы можете выкладывать на него документы TEI Lite без предварительного преобразования их в HTML. Я включил пример CGI скрипта, tei2html.cgi, который нужно запускать, когда пользователь запрашивает с сервера файлы TEI. Для случая сервера Apache, добавьте к srm.conf:
AddType application/x-tei .tei Action application/x-tei /cgi-bin/tei2html.cgi
и поместите tei2html.cgi в соответствующий каталог cgi-bin.
Добавьте к вашему ~/.emacs:
(load-library "psgml")
(setq sgml-catalog-files
(append sgml-catalog-files
(list (concat (getenv "SGML_HOME") "/dtd/catalog")))
sgml-custom-dtd
'(
("TEI Tools"
"<!doctype tei.2 public '-//TEI//DTD TEI Tools 0.1//EN'>"
"/tmp/teilite.ced")))
If you use 8-bit characters, and don't want them to be represented as ISO 8859-1 entities, like if you're writing in Russian charset, then your ~/.emacs should contain this, too:
(add-hook 'sgml-mode-hook
'(lambda ()
(setq write-file-hooks (delete 'fix-iso2sgml write-file-hooks)
find-file-hooks (delete 'fix-iso2sgml find-file-hooks)
)
)
)
Если вас не устраивает время, за которое psgml разбирает DTD, сделайте вот что:
(add-hook 'sgml-mode-hook
'(lambda ()
(let ((ced-file-name
(concat (file-name-sans-extension (buffer-file-name))
".ced"))
)
(if (file-readable-p ced-file-name)
(sgml-load-dtd ced-file-name)
(sgml-parse-prolog)
(sgml-save-dtd ced-file-name)
)
)
)
)
Если вам нравится видеть разметку TEI раскрашенной, попробуйте вот это:
(make-face 'tei-head-1-face)
(set-face-foreground 'tei-head-1-face "dark green")
(set-face-font 'tei-head-1-face
"-*-courier-bold-r-*-*-*-180-*-*-*-*-koi8-*")
(make-face 'tei-head-2-face)
(set-face-foreground 'tei-head-2-face "dark blue")
(set-face-font 'tei-head-2-face
"-*-courier-bold-r-*-*-*-180-*-*-*-*-koi8-*")
(make-face 'tei-head-3-face)
(set-face-foreground 'tei-head-3-face "dark green")
(set-face-font 'tei-head-3-face
"-*-courier-normal-r-*-*-*-180-*-*-*-*-koi8-*")
(make-face 'tei-head-4-face)
(set-face-foreground 'tei-head-4-face "dark blue")
(set-face-font 'tei-head-4-face
"-*-courier-normal-r-*-*-*-180-*-*-*-*-koi8-*")
(make-face 'tei-head-5-face)
(set-face-foreground 'tei-head-5-face "brown")
(set-face-font 'tei-head-5-face
"-*-courier-bold-r-*-*-*-180-*-*-*-*-koi8-*")
(make-face 'tei-emph-face)
(set-face-font 'tei-emph-face
"-adobe-helvetica-medium-o-*-*-*-180-*-*-*-*-koi8-*")
(make-face 'tei-title-face)
(set-face-font 'tei-title-face
"-adobe-helvetica-bold-r-*-*-*-180-*-*-*-*-koi8-*")
(make-face 'tei-eg-face)
(set-face-font 'tei-eg-face
"-adobe-helvetica-medium-r-*-*-*-180-*-*-*-*-koi8-*")
(make-face 'tei-label-face)
(set-face-foreground 'tei-label-face "dark cyan")
(set-face-font 'tei-label-face
"-adobe-courier-medium-o-*-*-*-180-*-*-*-*-koi8-*")
(make-face 'tei-item-face)
(set-face-foreground 'tei-item-face "dark cyan")
(set-face-font 'tei-item-face
"-adobe-courier-bold-r-*-*-*-180-*-*-*-*-koi8-*")
(make-face 'tei-note-face)
(set-face-font 'tei-note-face
"-adobe-courier-medium-r-*-*-*-140-*-*-*-*-koi8-*")
(make-face 'tei-quote-face)
(set-face-font 'tei-quote-face
"-adobe-courier-medium-o-*-*-*-180-*-*-*-*-koi8-*")
(add-hook 'tei-mode-hook
'(lambda ()
(interactive)
(sgml-mode)
(setq
font-lock-keywords
'(
("<div1[^>]*><head/[^/]*/" . tei-head-1-face)
("<div1[^>]*><head[^>]*>[^<]*</>" . tei-head-1-face)
("<div1[^>]*><head[^>]*>[^<]*</head>" . tei-head-1-face)
("<div2[^>]*><head/[^/]*/" . tei-head-2-face)
("<div2[^>]*><head[^>]*>[^<]*</>" . tei-head-2-face)
("<div2[^>]*><head[^>]*>[^<]*</head>" . tei-head-2-face)
("<div3[^>]*><head/[^/]*/" . tei-head-3-face)
("<div3[^>]*><head[^>]*>[^<]*</>" . tei-head-3-face)
("<div3[^>]*><head[^>]*>[^<]*</head>" . tei-head-3-face)
("<div4[^>]*><head/[^/]*/" . tei-head-4-face)
("<div4[^>]*><head[^>]*>[^<]*</>" . tei-head-4-face)
("<div4[^>]*><head[^>]*>[^<]*</head>" . tei-head-4-face)
("<div5[^>]*><head/[^/]*/" . tei-head-5-face)
("<div5[^>]*><head[^>]*>[^<]*</>" . tei-head-5-face)
("<div5[^>]*><head[^>]*>[^<]*</head>" . tei-head-5-face)
("<emph/[^/]*/" . tei-emph-face)
("<emph[^>]*>[^<]*</emph>" . tei-emph-face)
("<emph[^>]*>[^<]*</>" . tei-emph-face)
("<hi/[^/]*/" . tei-emph-face)
("<hi[^>]*>[^<]*</title>" . tei-emph-face)
("<hi[^>]*>[^<]*</>" . tei-emph-face)
("<title/[^/]*/" . tei-title-face)
("<title[^>]*>[^<]*</title>" . tei-title-face)
("<title[^>]*>[^<]*</>" . tei-title-face)
("<eg[^>]*>[^<]*</>" . tei-eg-face)
("<eg[^>]*>[^<]*</eg>" . tei-eg-face)
("<code/[^/]*/" . tei-eg-face)
("<code[^>]*>[^<]*</>" . tei-eg-face)
("<code[^>]*>[^<]*</code>" . tei-eg-face)
("<kw/[^/]*/" . tei-eg-face)
("<kw[^>]*>[^<]*</>" . tei-eg-face)
("<kw[^>]*>[^<]*</kw>" . tei-eg-face)
("<label/[^/]*/" . tei-label-face)
("<label[^>]*>[^<]*</>" . tei-label-face)
("<label[^>]*>[^<]*</label>" . tei-label-face)
("<note/[^/]*/" . tei-note-face)
("<note[^>]*>[^<]*</>" . tei-note-face)
("<note[^>]*>[^<]*</note>" . tei-note-face)
("<item/" . tei-item-face)
("<item[^>]*>" . tei-item-face)
("<q/[^/]*/" . tei-quote-face)
("<q>[^<]*</>" . tei-quote-face)
("<q>[^<]*</q>" . tei-quote-face)
("<socalled/[^/]*/" . tei-quote-face)
("<socalled>[^<]*</>" . tei-quote-face)
("<socalled[^>]*>[^<]*</socalled>" . tei-quote-face)
("<term/[^/]*/" . tei-eg-face)
("<term[^>]*>[^<]*</>" . tei-eg-face)
("<term[^>]*>[^<]*</term>" . tei-eg-face)
)
)
)
)
(defun tei-mode ()
(interactive)
(sgml-mode)
(run-hooks 'tei-mode-hook)
(font-lock-mode 1))
(defun docbook-mode ()
(sgml-mode)
)
(setq auto-mode-alist
(append
(list
'("\\.tei$" . tei-mode))
auto-mode-alist))
Разумеется, цвета и шрифты выбирайте по вкусу.
Последние изменения: Чтв Фев 19 18:09:57 MSK 2004
Сгенерировано TEItools