Распакуйте архив в любом удобном месте. Установите переменные окружения. Они включают:
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