Содержание
Макропакет 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
Установщик сygwin представляет из себя одновременно менеджер пакетов, и установку дополнительных пакетов я предлагаю делать с помощью него.
Дополнительный файлы, которые будут упомянуты ниже, можно найти в репозитории mdroff.
- Установить groff, ghostscript, ghostscript-fonts-std, iconv-devel;
- Переустановить preconv. Нужно это из-за того, что без iconv-devel preconv собирается без поддержки iconv (это можно увидеть, выполнив
preconv -v
). А preconv без поддержки iconv нормально в mdroff не работает; - Скопировать tmac файлы из дистрибутива mdroff в директорию, где groff будет искать эти файлы, например в /usr/share/groff/site-tmac;
- Скопировать метрики шрифтов с поддержкой кириллицы туда, где их, опять же, сможет найти groff. В дистрибутиве mdroff эти шрифты находятся в файле devps.tar, а сложить их нужно в /usr/share/groff/current/font/devps. При этом существующие метрики придётся заменить (рекомендую забэкапить);
- Создать Fontmap для шрифтов ghostscript'а, установленных пакетом ghostscript-fonts-std. Сами шрифты расположены чаще всего в /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