Содержание
Макропакет mdroff
Макропакет mdroff предназначен для форматирования и генерации текстовых документов PostScript и PDF. В первую очередь mdroff разрабатывался для подготовки текстов технической документации, дипломов, курсовых и диссертаций. О других возможных применениях этого макропакета стоит сообщить авторам и поместить сведения на эту страницу.
Настройка и запуск
Mdroff работает на любой версии ОС Unix, если установлены и работают следующие программы:
- GNU troff (Groff);
- GNU Awk.
Для пользователей Debian
Пользователям дистрибутивов, основанных на ОС GNU/Linux Debian, достаточно убедиться, что установлены пакеты groff и gawk. По умолчанию устанавливается только минимальный пакет для форматирования man-страниц groff-base.
$ sudo apt-get install groff gawk
Для пользователей Cygwin под Windows
С помощью инсталлятора cygwin установить следующие пакеты: groff, awk, ghostscript, ghostscript-fonts-std, iconv-devel.
Переустановить пакет preconv. Необходимо, потому что по умолчанию preconv собран без поддержки iconv, а после установки iconv-devel эта поддержка в preconv появится.
Сгенерировать файл Fontmap для шрифтов из пакета ghostscript-fonts-std:
grep -a \/FontName? /usr/share/fonts/type1/*.pfb | sed 's!^\(.\+\.pfb\):/FontName? \(/[^[:space:]]\+\).*$!\2 (\1) ;!' > /usr/share/fonts/type1/Fontmap
Исходные тексты
Последняя версия исходных текстов mdroff находится на http://github.com/gsitkarev/mdroff. Проще всего склонировать дерево Git локально так:
$ git clone https://github.com/gsitkarev/mdroff.git
После выполнения команды в текущем каталоге появится каталог mdroff/ с файлами макропакета.
$ pwd /home/user $ ls -1 mdroff contrib examples LICENSE mdroff README.md tmac $ cd mdroff $
Далее следует отредактировать расположение файлов макропакета в файлe mdroff. Для этого значение переменной MDTMACPATH следует заменить на полный путь к каталогу tmac/. Например, открыв в текстовом редакторе файл mdroff заменяют
MDTMACPATH=/home/sitkarev/Projects/git/mdroff/tmac
на
MDTMACPATH=/home/user/mdroff/tmac
или с использованием утилиты sed(1)
$ sed 's|^MDTMACPATH=.*|MDTMACPATH=/home/user/mdroff/tmac|' mdroff >/tmp/mdroff $ cp /tmp/mdroff .
Для поддержки кириллических шрифтов PostScript, расстановки русских переносов и кодировки koi8-r в каталоги groff копируют файлы *.tmac и метрики шрифтов. Все файлы из каталога contrib/ru-tmac копируют в каталог /usr/share/groff/site-tmac.
$ cp contrib/ru-tmac/* /usr/share/groff/site-tmac/ $ cp contrib/font/* /usr/share/groff/current/font/devps/
Метрики для других семейств шрифтов PostScript (в mdroff используются шрифты семейства Times New Roman) пользователь может генерировать самостоятельно утилитой afmtodit(1).
Проверка работоспособности
После того, как файлы метрик и переносов скопированы, для проверки можно отформатировать один из примеров:
$ ./mdroff -Tps examples/example.tr >/tmp/out.ps
В файле examples/example.tr находится пример исходного текста документа. Вывод форматирования перенаправляется в файл /tmp/out.ps как PostScript. Этот же исходный текст можно получить в виде PDF файла:
$ ./mdroff -Tpdf examples/example.tr >/tmp/out.pdf
Если в выходном файле отсутствуют кириллические глифы, то, скорее всего, это произошло потому, что не установлена переменная окружения LC_ALL:
$ LC_ALL=ru_RU.UTF-8 ./mdroff -Tps examples/example.tr >/tmp/out.pdf
Это связано с тем, что mdroff использует эту переменную для определения перекодировочного метода в iconv(1).
Для удобства пользователя рекомендуется добавить каталог с исполняемым файлом mdroff в переменную окружения PATH.
Кто из учащихся уже использовал mdroff?
Как минимум, одна курсовая работа сдавалась студентом СыктГУ. Для генерации титульной страницы а также настроек документа (отступы, поля и т. п.) разработан стандартный шаблон, соответствующий требованиям университета. Этот файл находится в contrib/syktsu.tmac. Для того, чтобы им воспользоваться, достаточно включить его в начало файла.
.so syktsu.tmac
- В: Может быть стоит выложить ссылку на исходный текст курсовой работы? Я даже знаю, что это сделает ПипуныровЕгор :-D