Обсудим системы публикаций на базе TeX

Автор Редактор, октября 28, 2003, 01:27:27

« назад - далее »

Редактор

Предлагаю обсудить :

1) Кто какие программные и аппаратные средства использует для работы в TeX.

2) Какие кто использует TeX-дистрибутивы для популярных платформ (dos, windows).

3) Тонкие особенности работы в TeX. "Подводные камни."

Редактор

Для начала приведу пример "подводного камня". При верстке учебника по линейной алгебре (Ильин В.А., Ким Г.Д. "Линейная алгебра и аналитическая геометрия", 1999) оказалось, что для обработки грамотно сверстанной книги (в формате LaTeX) не хватает памяти!

TeX-процессор выдал ошибку нехватки памяти уже где-то после сотой страницы. Пришлось верстать книгу частями :( , а нумерацию формул проставлять руками.

Michael Machin

Я так понимаю, что Вы не дождались, когда я открою такую тему и открыли ее сами ;)) Это очень правильно.

Цитировать1) Кто какие программные и аппаратные средства использует для работы в TeX.

На аппаратные средства нет никаких серьезных ограничений. Когда-то я вполне успешно верстал 200--300 страничные книги на древних машиных типа P133 с 16 мб памяти. Любая современная машина вполне подходит. Для постоянной работы очень удобно иметь большой (19--21\') монитор --- на нем страница будет помещаться целиком во вполне читабельном виде.

Цитировать2) Какие кто использует TeX-дистрибутивы для популярных платформ (dos, windows).

Из существующих реализаций под win32 однозначно следует выбирать mikTeX, поскольку он является единственной на сегодняшний день вполне устойчивой и корректной реализацией TeX-а для этих платформ. Всякие emTeX-и уже безнадежно устарели.

Для набора текста многие используют winedit, заточенный под совместную работу с TeX-ом, но меня вполне устраивает редактор Far-а.

Цитировать3) Тонкие особенности работы в TeX. "Подводные камни."

Относительно тонкостей я вполне готов отвечать на вопросы.
В качестве источника информации рекомендую также использовать мою страничку:

http://ltwood.hotbox.ru/tex_ps

Michael Machin

Цитироватьоказалось, что для обработки грамотно сверстанной книги (в формате LaTeX) не хватает памяти!

Судя по году издания, при верстке использовался emTeX (если под win/dos). В нем всегда были проблемы с памятью -- TeX-у вообще было тесно под dos даже несмотря на то, что emTeX был собран под расширителем (но без виртуальной памяти). Там был еще btex, который сам реализовывал виртуальную память.

В то же время даже в emTeX-е проблемы с памятью были редкостью. В норме объем памяти, используемой TeX-ом вообще не зависит от размера верстаемого текста, поскольку верстка страниц происходит по-отдельности.

Проблемы с памятью в основном появлялись только в случае использования очень большого количества шрифтов (информацию о всех используемых шрифтах TeX держит в памяти постоянно). Еще иногда такие проблемы возникали, когда происходило вытеснение плавающего объекта со страницы. В этом случае вытесненный плавающий объект выдавливал все идущие за ним плавающие объекты к месту появления ближайшей команды \\clear, а это обычно --- конец раздела самого верхнего уровня. Т.е. все плавающие объекты накапливались в памяти в ожидании \\clear и памяти частенько не хватало. В LaTeX-2e эти проблемы в основном решены.

При использовании mikTeX-а и на любой современной машине проблемы с памятью --- последнее, что может встретиться при работе с TeX-ом.

Андрей Л.К.

ЦитироватьMichael Machin :
Относительно тонкостей я вполне готов отвечать на вопросы.

У меня следующая проблема. Установил у себя МикТех и ВинЭдит. Старые файлы статей на русском, которые нормально отображаются в Фаре  и ранее нормально транслировались в старой версии Теха, в ВинЭдите выглядели абракадаброй. Я зашел в Фар, скинул весь текст в буфер, потом зашел в ВинЭдит и скопировал из буфера текст. Теперь он выглядел нормально. Решил сделать дви-файл. ЛаТех начал ругаться, что нет какого-то шрифта. Я проигнорировал ошибку, он в дви-файле выдал только формулы, весь русский текст был похерен.

Michael Machin

ЦитироватьСтарые файлы статей на русском, которые нормально отображаются в Фаре  и ранее нормально транслировались в старой версии Теха, в ВинЭдите выглядели абракадаброй. Я зашел в Фар, скинул весь текст в буфер, потом зашел в ВинЭдит и скопировал из буфера текст. Теперь он выглядел нормально.

Если "старой версией" был emTeX, то файлы были в кодировке cp866 (dos), поэтому и показывались winedit-ом неверно. Нужно посмотреть в редакторе Far-а в верхнюю строку статуса -- там вторым полем показана кодировка. При описанной Вами операции кодировка текста действительно поменяется и все станет хорошо ;))

ЦитироватьРешил сделать дви-файл. ЛаТех начал ругаться, что нет какого-то шрифта. Я проигнорировал ошибку, он в дви-файле выдал только формулы, весь русский текст был похерен.

mikTeX умеет работать с текстом в любой кодировке, но эту кодировку нужно явно указать. В преамбуле документа нужно указать следующие команды:

\\usepackage[кодировка]{inputenc}
\\usepackage[russian]{babel}

Вместо параметра "кодировка" следует подставить

koi8-r для кодировки KOI
cp866 для кодировки DOS
cp1251 для кодировки Windows

В вашем случае, вероятно сработают такие команды:

\\usepackage[cp1251]{inputenc}
\\usepackage[russian]{babel}

P.S. RTFM

Андрей Л.К.

ЦитироватьMichael Machin :

В вашем случае, вероятно сработают такие команды:

\\usepackage[cp1251]{inputenc}
\\usepackage[russian]{babel}

P.S. RTFM

Спасибо. Сработало. Премного благодарен.

Редактор

Как заставить MikTeX обрабатывать AmsTeX файл c русским текстом?

Какую команду надо вставить в начало документа?

Почему-то свежий MikTeX стал ругаться на прежнюю команду русификации :

! Undefined control sequence.
l.3 \\inputencoding
                  {win1251}

Редактор

И еще расскажите, как настроить FAR в качестве shell editor-а для MikTeX.

Редактор

И еще вопрос. У меня есть файлы с расширением hp. Весьма похоже, что это формат PCL.

Нельзя ли сконвертировать их в PS (PostScript) или PDF формат?

Редактор

И еще. Пытаюсь компилить LaTeX-статью - MiKTeX пишет :

! Font T2A/cmr/m/n/10=larm1000 at 10.0pt not loadable: Metric (TFM) file not found.

                   relax
l.20 \\select@language{russian}


Можно это победить?

MikTeX я скачал и установил в минимальной поставке (версия 2.3, дистрибутив весил 23 мега). Может, ему каких-то шрифтов недостает?

Michael Machin

ЦитироватьКак заставить MikTeX обрабатывать AmsTeX файл c русским текстом?
Какую команду надо вставить в начало документа?

Хороший вопрос ;)
Ситуация тут вот какая. Если LaTeX -- в некотором смысле замкнутая система, то AmsTeX представляет собой просто набор файлов с макроопределениями, используемых нпосредственно из-под PlainTeX-а. Т.е. используя AmsTeX, вы фактически остаетесь в PlainTeX-е, но, давая команду \\input amstex, просто подгружаете дополнительные определения. Таким образом, для русификации AmsTeX-а нужно на самом деле русифицировать PlainTeX.

Пакет Babel заточен под LaTeX и не поддерживает русификацию PlainTeX-а непосредственно. Такая русификация выполнена на основе пакета Babel независимо и подробные инструкции и все необходимые файлы лежат в директории %TEX%/tex/plain/cyrplain. Там есть файл readme, описывающий необходимые действия.

Надо сказать, что эти действия, вообще говоря, нетривиальны и нет гарантии, что все получится с первого раза. Сейчас у меня сосвсем нет времени самому подробно с этим разбираться, но на следующей неделе я забегу к одному знакомому, который все это делал и позаимствую его опыт. Тогда смогу рассказать подробнее.

Вообще же, если Вам нужно будет много работать с одним документом, набранным в AmsTeX-е, то проще его немного исправить, чтобы он компилился в LaTeX-2e -- в нем ведь теперь есть все конструкции и шрифты AmsTeX-а (типа \\gather превращается в \\begin{gather} и т.п.). Если же нужно постоянно работать с кучей документов, набранных в AmsTeX-е, то придется или разбираться самому, или подождать недельку ;)

Michael Machin

ЦитироватьИ еще расскажите, как настроить FAR в качестве shell editor-а для MikTeX.

А кто Вам сказал, что я его использую как shell editor? ;)
Я просто привык к консоли и вполне комфортно себя в ней чавствую. Я даже программы на C++ в Visual Studio компилю из командной строки ;)

Просто настроил ассоциации -- на *.tex компилить, на *.dvi вызывать yap и т.п. Пользователям, непривычным к консоли рекомендую все же использовать winedit. Там основное преимущество состоит в том, что он сам разбирает сообщения об ошибках и позиционирует курсор. В far-е такого поведения добиться трудно. Впрочем yap действительно вроде бы можно настроить так, чтобы он вызывал far для просмотра заданного места исходников. Но вот зачем это нужно? Не знаю...

Michael Machin

ЦитироватьИ еще вопрос. У меня есть файлы с расширением hp. Весьма похоже, что это формат PCL. Нельзя ли сконвертировать их в PS (PostScript) или PDF формат?

Прямого способа я не знаю. Есть только back door ;)

Находите любую программу, которая может такие файлы просматривать и печатать. В windows устанавливаете принтер "Apple Color LW 12/660 PS" и задаете режим "печать в файл". В параметрах принтера (оно там точно есть, но находится не быстро) ставите "Параметры вывода в Postscript" = "Инкапсулированный Postscript" и "Уровень языка Postscript" = 2. Потом печатаете свои файлы на этот принтер и ловите генерируемые Виндой постскрипты. Потом залезаете в нутро этих постскриптов и ручками исправляете BoundingBox так, чтобы размер соответствовал картинке. Единицы измерения в BoundingBox = 1/72 дюйма. Формат такой x1 y1 x2 y2.

Успехов!

Редактор

Большое спасибо за ответы.

На самом деле мне гораздо важнее разобраться с русификацией LaTeX (сообщение 667 в этой теме), чем с AmsTeX.