Это старая версия (1.32) MdroffFormatter.

Содержание

Макропакет mdroff

Макропакет mdroff предназначен для форматирования и генерации текстовых документов PostScript и PDF. В первую очередь mdroff разрабатывался для подготовки текстов технической документации, дипломов, курсовых и диссертаций. О других возможных применениях этого макропакета стоит сообщить авторам и поместить сведения на эту страницу.

Настройка и запуск

Mdroff работает на любой версии ОС Unix, если установлены и работают следующие программы:

  1. GNU troff (Groff);
  2. GNU Awk.

Для пользователей Debian

Пользователям дистрибутивов, основанных на ОС GNU/Linux Debian, достаточно убедиться, что установлены пакеты groff и gawk. По умолчанию устанавливается только минимальный пакет для форматирования man-страниц groff-base.

 $ sudo apt-get install groff gawk

Для пользователей Cygwin под Windows

Установщик сygwin представляет из себя одновременно менеджер пакетов, и установку дополнительных пакетов я предлагаю делать с помощью него.

Дополнительный файлы, которые будут упомянуты ниже, можно найти в репозитории mdroff.

1 Установить groff, ghostscript, ghostscript-fonts-std, iconv-devel. 1 Переустановить preconv. Нужно это из-за того, что без iconv-devel preconv собирается без поддержки iconv (это можно увидеть, выполнив "preconv -v"). А preconv без поддержки iconv нормально в mdroff не работает. 1 Скопировать tmac файлы из дистрибутива mdroff в директорию, где groff будет искать эти файлы, например в /usr/share/groff/site-tmac. 1 Скопировать метрики шрифтов с поддержкой кириллицы туда, где их, опять же, сможет найти groff. В дистрибутиве mdroff эти шрифты находятся в файле devps.tar, а сложить их нужно в /usr/share/groff/current/font/devps. При этом существующие метрики придётся заменить (рекомендую забэкапить). 1 Создать Fontmap для шрифтов ghostscript'а, установленных пакетом ghostscript-fonts-std. Сами шрифты расположены чаще всего в /usr/share/fonts/type1. Если это так, то возьмите вот этот Fontmap: https://drive.google.com/open?id=0B6FBtGNdoqUfZzdUNFIwdU5GQVk&authuser=0 Положить файл 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