О TeX, METAFONT и WEB


Документация собственного перевода и изготовления.

Структура каталогов TeX (дерево каталогов TeX, Tex Directory Structure)

TeX преставляет собой достаточно сложную систему. Иногда при установке новых (или при разработке своих) пакетов макрокоманд, да и просто когда что-то не работает, полезно знать, какие файлы в каких каталогах должны помещаться. Стандартная структура каталогов TeX описывается в файле tds.pdf, который можно найти в любом CTAN архиве. (Здесь ссылка дана на последнюю версию файла.) Сокращённый перевод tds на русском языке можно скачать с этой страницы. (Это пока перевод не самой последней версии TeX directory structure.)


Если Вы захотите разместить данный перевод на своей странице, пожалуйста, не забудьте дать ссылку на данную страницу: http://ibzh.eko3.ru/tex/tex.htm.

Руководство по e-TeX

Дональд Кнут, считая стабильность и надёжность своей системы компьютерной вёрстки главной добродетелью, объявил её замороженной с 1982 года. Он исправляет ошибки, которых уже наверно не осталось, но не вносит ни каких расширений и дополнений в свою систему. Поскольку простор для усовершенстований системы довольно велик, о чём говорит и сам Д. Э. Кнут, а исходные коды TeX открыты, то появляются энтузиасты, пытающиеся расширить его систему в различных направлениях. Одной из таких попыток стала разработка ε-TeX. Расширения, внесённые ε-TeX, поддерживаются многими современными дистрибутивами TeX, например, MikTeX.

Здесь Вы можете скачать предварительный перевод руководства по e-TeX. Руководство охватывает вновь введённые примитивные команды, а также изменение поведения системы TeX со старыми командами. Данное руководство предполагает знакомство с примитивными командами TeX, описанными в книге «The TeXbook» (русский перевод «Всё про TeX»).

Данный перевод пока ещё не вычитан, однако, за неимением ни чего лучшего, я надеюсь, он будет полезен интересующимся и в таком виде. Окончательный вариант предполагается подготовить к Новому Году (если позволит свободное время).


Если Вы захотите разместить данный перевод на своей странице, пожалуйста, не забудьте дать ссылку на данную страницу: http://ibzh.eko3.ru/tex/tex.htm.

О переводах «TeX: The program» и «METAFONT: The program» на русский язык

Программы TeX и METAFONT написаны Д. Э. Кнутом в стиле «литературного программирования» в системе, называемой WEB (ни какого отношения это название к интернету не имеет). Исходные тексты содержат не только код программ на языке ПАСКАЛЬ, но и подробные описания

а также советы по оптимизации кода и его корректировке для воплощения на конкретных диалектах языка PASCAL и в конкретных системных окружениях.

Исходные тексты TeX и METAFONT, а также многих других программ Дональда Кнута можно найти в архивах CTAN, например, по адресу ftp://ftp.dante.de/pub/tex/systems/knuth/dist или на любом другом зеркале CTAN. Файл с программой TeX называется «tex.web», а с METAFONT – «mf.web.» Впрочем, читать сами исходники не очень удобно. Лучше сначала их пропустить через программу weave, написанную тем же Д. Кнутом, а затем полученный файл tex.tex (или mf.tex) обработать TeX'ом. Полученный в итоге dvi-файл будет не только хорошо свёрстан, но и снабжён оглавлением, указатями идентификаторов и имён модулей программы, а также под каждым модулем по ходу текста будет подписано, где он определяется и где используется. Это существенно облегчает поиск нужных имён переменных и функций, и помогает быстрее разобраться в логике работы программы.

Вероятно, ещё удобнее читать книги «TeX: The program» и «METAFONT: The program»: В них дополнительно входят предисловие, некоторый графический материал, на каждой странице приведены миниуказатели использованных на ней идентификаторов и сделан ряд других улучшений.

К сожалению, эти книги на английском языке. Я сделал черновые переводы на русский язык исходных текстов TeX и METAFONT (файлов tex.web и mf.web). Чтобы иметь возможность распечатывать отформатированные переводы с указателями, а также получать файлы на языке PACSAL, пришлось провести довольно большую работу по русификации программных средств литературного программирования.

Автор программы любезно разрешил мне опубликовать мои переводы, но Дональд Кнут предупредил, что, если издавать как книгу с переводами предисловия и другими дополнительными материалами, потребуется разрешение издательства Addison-Wesley.

Меня всегда окружали люди в большинстве своём хорошие, но заинтересованных в данной моей работе, к сожалению, среди них не оказалось. Очень уж она специфичная. Попытки заинтересовать кого-то на стороне, также успеха не имели. Работа несколько раз выставлялась на различные конкурсы, но гранта её не удостоили. Найти издательство, которое согласилось бы издать мой перевод, также не удалось. Вернее сказать, было три издательства, которые предложили начать совместную работу, но потом куда-то пропали (то ли не видели коммерческий интерес, то ли не удовлетворяли требованиям Addison Wesley).

Я ни когда не понимал людей, которые что-то сделали, а потом сидят на своём материале, ни кому его не показывают и ждут, когда смогут получить на нём свои девиденды. Часто материал просто сгнивал. Каких-либо перспектив что-то поиметь (ни в материальном плане, ни в плане пристижа) с моих переводов TeX и METAFONT я не вижу, а работу завершить хочется. Поэтому по мере готовности я просто буду выкладывать здесь отдельные главы. Порядок, в котором они будут появляться, скорее всего окажется произвольным. А с учётом того, что недавно мне, к сожалению, пришлось распрощаться с преподавательской карьерой по причинам отнюдь не материальным, времени заниматься переводами у меня стало ещё меньше, чем было раньше. Поэтому быстрого завершения не ждите.

Предполагалось подготовить версии TeX и METAFONT с русскоязычным выводом ошибок и корректной обработкой файлов с русскими именами. Но будет это, скорее всего не в этой жизни.

Почему я пользуюсь TeX (или немного словоблудия)

Моё знакомство с TeX (это название читается как русское «тех», а не «текс», ибо по мнению самого автора TeX'а Дональда Эрвина Кнута оно происходит от греческого τεχνη) началось ещё в студенческие годы, когда, вдоволь намучившись с MS Word + Equation, я заинтересовался: а какие ещё бывают системы для набора текста с математическими формулами. Ответ нашёлся довольно быстро у одного из преподавателей на кафедре высшей математики. Это оказался размещавшийся на трёх дискетах пакет программ nccTeX (к слову сказать, самый маленький дистрибутив TeX'а, который мне только попадался).

Потратив некоторое время на изучение документации (на английском) и эксперименты, написал курсовик по гидравлике, используя пакет макрокоманд AmsTeX. Поработав около года и в TeX, и в Word, я смог оценить преимущества и недостатки обеих систем, и дипломную работу сразу стал писать уже в TeX, используя макропакет LaTeX 2.09.

Недостатков у MS Word много, особенно при работе со вставленными объектами (т. е. формулами и картинками). Я не раз видел, как безо всякой на то причины Word собирал все картинки со всего документа в кучу и засовывал между страницами так, что одни только краешки торчат. Ты картинку мышкой за краешек начинаешь тащить. Тащишь, тащишь…, а Word фигу показывает и картинки из межстраничья не выпускает. А бывает и так: открываешь документ, а вместо картинок и формул — одни красные кресты. Набирай документ заново.

Иногда Word не знает, куда лучше поместить строку абзаца: то ли оставить внизу этой страницы, то ли перенести на следующую. Так она и прыгает туда-сюда по монитору с одной страницы на другую. А в итоге вообще на печать не выводится. Иногда Word переносит слова весьма своеобразно: оставляет на строке одну (!) согласную букву, а остаток переносится на следующую строку.

Частенько зависает без видимых на то причин. Как-то в интернете набрёл на высказывание: «напишите в ворде "правоспособность-способность лица иметь гражданские права и нести обязанности" и он закроется (почти для любых вордов).» Вначале не поверил, но решил проверить. Действительно, MS Word 2002 закрылся с сообщением об ошибке «Программа выполнила недопустимую инструкцию…». Только вводить надо так, как написано, без пробелов вокруг черточки. Вообще таких запретных комбинаций — море.

Хоть TeX и не умеет работать с внедряемыми объектами, но всё-таки особого упоминания заслуживают расчёты, вставленные в Word из MathCad. Если вставлять кусок из MathCad не через «специальную вставку» как картинку, а прямо из буфера обмена, то на экране результаты будут изображены циферками. А за то на печати… А на печати вместо цифр будут квадратики, по одному на каждое число. Добиться нормального представления результатов можно, но довольно сложно. (Для этого нужно многократно входить в объект MathCad, просчитывать его, выходить и сохранять документ.) Бывает и так: зайдёшь в страницу, вставленную из MathCad, поменяешь значения, страница пересчитается, и всё вроде бы в порядке. Но вот выходишь из объекта, а Word о том, что ты там что-то менял, как будто ничего и не знает, и показывает страницу в таком виде, в каком она была до изменения. Заходишь опять в объект, а там данные новые стоят. Опять выходишь, опять отображаются старые. Лучше б такой возможности вставлять объекты вообще не было, чем реализованной ТАК коряво.

Все выше перечисленные проблемы были Word97, потом перекочевали в Word2000, и теперь благополучно живут и здравствуют в Word2003. Справедливости ради, надо отметить, что с годами всё же Word становится надёжнее, и избавляется от старых ошибок немного быстрее, нежели чем обретает новые. Появилась функция автоматического перезапуска ворда после критической ошибки (т. е. ошибки как бы и не было). Современенный word после сбоя даже предлагает по-быстренькому выбрать, какой из нескольких вариантов восстанавления 150-страничного документа более верный, что, согласитесь, весьма полезно. Также удобны изменения назначений горячих клавиш, названий пунктов меню, переносы их в другие разделы, и конечно же полная смена пользовательского интерфейса (Word2007) с отказом от старой системы меню вообще.

А в новом MS Word ещё и такая болезнь появилась: при копировании и вставке текста все пробелы между русскими словами улетучиваются.

Преимущества TeX'а следующие.




©   Жуков И. Б.

e-mail:

При использовании материалов, пожалуйста,

ставьте индексируемую ссылку на сайт https://ibzh.eko3.ru/





Число посетителей


Яндекс.Метрика

Число посетителей