Как из word сделать latex
LaTEX (произносится как «лэйтех» или «латех») представляет собой инструмент для создания профессиональных документов. В его основе лежит парадигма редактирования WYSIWYM (что вижу, то и подразумеваю), то есть от пользователя требуется сосредоточиться только на содержимом документа, оставив его форматирование программе. Вместо ручного распределения текста по странице, как это делается в Microsoft Word или LibreOffice Writer, можно просто его вводить, позволив LaTeX заняться остальным.
Зачем нужен LaTeX?
Этот инструмент используется повсеместно для создания научных документов, написания книг, а также многих других форм публикаций. Он позволяет не только создавать красиво оформленные документы, но также дает пользователям возможность очень быстро реализовывать такие сложные элементы печатного набора, как математические выражения, таблицы, ссылки и библиографии, получая согласованную разметку по всем разделам.
Благодаря доступности большого числа открытых библиотек (об этом чуть позже) возможности LaTEX становятся практически безграничны. Эти библиотеки расширяют возможности пользователей еще больше, позволяя добавлять сноски, рисовать схемы и пр.
Одна из наиболее веских причин, по которой многие используют LaTeX, заключается в отделении содержания документа от его стиля. Это означает, что после написания содержимого, можно с легкостью изменять его внешний вид. Аналогичным образом, можно создать один стиль документа и использовать его для стандартизации внешнего вида других.
Это позволяет научным журналам создавать шаблоны для предлагаемых на рассмотрение материалов. Такие шаблоны имеют заданную разметку, в результате чего добавить остается лишь содержание. На деле существуют сотни подобных шаблонов, начиная с различных резюме и заканчивая презентациями слайдов.
Пишем первый документ
Изначально нам потребуется новый проект, начать который можно либо создав файл .tex , либо через Overleaf. Возьмем простейший пример:
Здесь мы видим, что LaTeX уже позаботился о первом элементе форматирования, сделав отступ в начальной строке абзаца. Теперь более подробно рассмотрим, за что отвечает каждая часть кода.
Первая строка объявляет тип документа, называемый классом. Класс определяет общее представление документа. Для разных типов документов требуются разные классы, то есть для CV/резюме будет использоваться свой класс, а для научного труда свой. В данном случае классом является article , самый простой и распространенный в LaTeX. Другие типы документов, с которыми вам, возможно, придется работать, могут потребовать использования других классов, например book или report .
После этого мы пишем содержание документа, заключенное в теги \begin и \end , представляющие его тело. Можете начать писать здесь текст и при желании вносить в него изменения.
Чтобы увидеть результат этих изменений в PDF, документ нужно скомпилировать. В Overleaf для этого нужно просто нажать Recompile. (Также можете настроить проект на автоматическую перекомпиляцию в процессе редактирования файлов, нажав на небольшую стрелку рядом с кнопкой Recompile и установив Auto Compile как On).
Если вы используете базовый текстовый редактор, например gedit, emacs, vim, sublime, блокнот и пр., то нужно будет компилировать документ вручную. Для этого просто выполните в терминале pdflatex <your document> . Подробнее об этом процессе можете почитать здесь.
При использовании специального редактора LaTeX вроде TeXmaker или TeXworks нужно просто нажать кнопку Recompile. Если не знаете, где она находится, обратитесь к документации.
Теперь, когда вы разобрались, как добавлять в документ содержимое, следующим шагом будет его именование. Для этого необходимо вкратце разобрать преамбулу.
Преамбула документа
В предыдущем примере текст вводился после команды \begin . Все, что содержится в файле .tex до этого места, называется преамбулой. В ней можно определить тип создаваемого документа, используемый язык, нужные библиотеки (подробнее позже) и ряд других элементов. Вот пример типичной преамбулы:
А вот подробное разъяснение каждой строки:
Как уже говорилось, этой командой определяется тип документа. В нее также можно передавать дополнительные параметры, включенные в квадратные скобки через запятую. В данном примере эти параметры устанавливают размер шрифта ( 12pt ) и размер страницы ( letterpaper ). Конечно же, для шрифта можно установить и другие размеры ( 9pt , 11pt , 12pt ), но если размер не задан, то предустановленным значением будет 10pt . Что же касается размера страницы, то для него доступны варианты a4paper и legalpaper . Подробнее об этом можете почитать в статье Page size and margins.
Эта команда задает кодировку документа. Ее можно опустить либо изменить на другой вариант, но рекомендуется использовать именно utf-8. Если вам не требуется конкретно другая кодировка, либо вы просто не уверены, то добавьте эту строку во вступление.
Добавление заголовка, автора и даты
Для добавления в документ заголовка, автора и даты необходимо внести во вступление три строки (только не в основное тело документа):
Здесь размещается имя автора. При желании можно также добавить в фигурные скобки следующую команду:
Она может идти после имени автора, внутри скобок команды author . Эта команда добавляет верхний индекс и сноску с текстом из скобок. Очень полезный элемент, если вам нужно поблагодарить в своей статье какую-либо организацию.
Дату можно ввести вручную или использовать команду \today , чтобы она обновлялась автоматически при компиляции документа.
После добавления перечисленных строк преамбула должна выглядеть так:
Теперь, когда вы присвоили документу заголовок, автора и дату, можно вывести в нем эту информацию с помощью команды \maketitle . Ее нужно включить в ту часть тела документа, где вы хотите видеть заголовок.
Добавление комментариев
Как и в случае с любым кодом, зачастую будет нелишним добавлять комментарии. Комментарии – это включаемые в документ текстовые элементы, которые в итоге не отображаются и никак не него не влияют. Они помогают организовывать работу, делать пометки или закомментировать (отключать) строки/разделы при отладке. Чтобы создать комментарий в LaTeX, просто наберите символ % в начале строки, как показано ниже:
Жирный, курсив и подчеркивание
- Жирный текст в LaTeX пишется внутри команды \textbf <. >;
- Курсив пишется с помощью команды \textit <. >;
- Подчеркнутый текст оформляется с помощью команды \underline <. >.
А вот еще одна очень простая команда: \emph <. >. Выполняемые ей для аргумента действия определяются контекстом – внутри обычного текста его выделенная часть переводится в курсив, а при использовании команды в курсивном тексте происходит обратное.
Более того, некоторые пакеты, например Beamer, изменяют поведение команды \emph .
Добавление изображений
В Overleaf для добавления изображений их сначала нужно будет загрузить.
LaTeX не способен обрабатывать изображения самостоятельно, поэтому приходится использовать сторонний пакет. С помощью пакетов можно измерять предустановленный вид документа LaTeX и совершать другие действия. В данном случае нам нужно добавить в документ изображение, для чего потребуется библиотека graphicx , которая привнесет новые команды: \includegraphics <. >и \graphicspath <. >. Для использования graphicx включите во вступление следующую строку: \usepackage .
Команда \graphicspath < > сообщает LaTeX, что изображения находятся в каталоге images в текущей директории.
Команда \includegraphics , в свою очередь, уже конкретно добавляет изображение в документ. Здесь universe представляет имя файла, содержащего изображение, без его расширения, поэтому universe.jpg стал просто universe . Имя файла изображения не должно содержать пробелов и многоточий.
Примечание: расширение файла включить можно, но лучше его опустить. В этом случае LaTeX будет искать все поддерживаемые форматы. Также при загрузке файлов обычно рекомендуется указывать расширение в нижнем регистре.
Подписи, метки и ссылки
С помощью окружения figure изображения можно подписывать, размечать, а также делать на них ссылки:
В примере выше показаны три важные команды:
- \caption : подписывает изображение. При создании списка изображений данная подпись будет в них использована. Поместить ее можно как под, так и над рисунком.
- \label : если вам нужно сослаться на изображение внутри документа, установите метку с помощью этой команды. Метка пронумерует изображение и при использовании вместе со следующей командой позволит на него сослаться.
- \ref : этот код будет замещен числом, соответствующим изображению, на которое делается ссылка.
Примечание: если вы используете подписи и ссылки на собственном компьютере, то вам потребуется скомпилировать документ дважды, чтобы они сработали. Overleaf делает это автоматически.
Создание списков
Списки в LaTeX создаются очень просто. Делается это с помощью различных окружений списков. Окружения – это разделы, которые требуется представить отличным от остальной части документа образом. Начинаются они с \begin <. >, а завершаются на \end <. >.
Существует два основных типа списков: упорядоченные и неупорядоченные. Каждый из них реализуется в собственном окружении.
Неупорядоченные списки
Неупорядоченные списки создаются пространством itemize. Каждая запись должна предваряться управляющей последовательностью \item , как показано ниже:
По умолчанию отдельные записи обозначаются черной точкой, или буллетом. Текст в записях может иметь неограниченную длину.
Упорядоченные списки
Для упорядоченных списков используется тот же синтаксис, но в другом окружении. В данном случае этим окружением выступает enumerate :
Аналогично неупорядоченным спискам, каждая запись должна предваряться управляющей последовательностью \item , которая будет автоматически генерировать число, отмечая им элемент. Метки перечисления состоят из последовательных чисел, начинающихся с единицы.
Добавление математических выражений
Одно из главных удобств LaTeX состоит в простоте использования математических выражений. Этот инструмент предоставляет два режима их написания: режим inline (встраивание) и режим display (отображение). Первый используется для написания формул, являющихся частью текста. Второй позволяет создавать выражения, не входящие в состав текста или абзаца, а размещаемые на отдельных строках. Вот пример режима встраивания:
Для размещения уравнений в режиме встраивания используйте один из следующих разграничителей: \( . \) , $ . $ или \begin . \end . Работают они равнозначно, поэтому выбор определяется лишь собственным предпочтением.
Режим отображения предлагает два варианта: без нумерации и с нумерацией.
Для вывода уравнений в режиме отображения используйте один из следующих разграничителей: \[ . \] , \begin . \end или \begin . \end . Применять $$ . $$ нежелательно, так как он может внести несогласованные интервалы, а также коряво работать с некотороми математическими пакетами.
Важно: окружение equation* предоставляется в виде стороннего пакета. Подробнее об этом рекомендую почитать статью по amsmath.
Для использования многих команд при работе с математикой необходим пакет amsmath, поэтому не забудьте его добавить. Ниже показан пример некоторых его базовых команд:
Возможности использования математики в LaTeX безграничны, и перечислить их все здесь просто нереально. Так что рекомендую дополнительно почитать соответствующие материалы по теме:
-
(Математические выражения) (Сноски и индексы) (Скобки и кавычки) (Дроби и многочлены) (Выравнивание уравнений) (Операторы) (Интервалы в математическом режиме) (Интегралы, суммы и пределы) (Стиль отображения в математическом режиме) (Список греческих букв и математических символов) (Математические шрифты)
Базовое форматирование
Теперь разберем написание аннотаций, а также форматирование документов LaTeX в разных главах, разделах и абзацах.
Аннотации
В научных трудах принято включать краткий обзор основной темы работы. В LaTeX для этого есть специальное окружение abstract . Это окружение помещает текст в специальном формате в начало документа.
Абзацы и перевод строки
Когда при написании документа вам требуется начать новый абзац, нужно дважды нажать «Ввод», вставив таким образом двойную пустую строку. Имейте ввиду, что отступ абзацев LaTeX делает автоматически.
Чтобы создать новую строку без создания очередного абзаца нужно вставить точку разрыва строки, для чего используется \\ (двойной обратный слэш, как в примере) или команда \newline.
При этом не следует использовать несколько \\ или \newline для «имитации» абзацев с увеличенными интервалами между ними, так как это приведет к конфликту с внутренними алгоритмами LaTeX. Для подобного эффекта рекомендуется использовать двойные пустые строки, после чего добавлять во вступление \usepackage .
Дополнительную информацию по теме можно найти в статье Paragraphs and new lines.
Главы и разделы
Команды для организации документа варьируются в зависимости от его типа. Простейшей формой организации выступает деление на разделы, доступное во всех форматах.
Команда \section<> отмечает начало нового раздела, а внутри скобок содержит его имя. Нумерация разделов происходит автоматически и может быть отключена добавлением символа * в команду создания раздела: \section*<> . Можно также использовать подразделы, \subsection<> и даже подподразделы, \subsubsection<> . Ниже перечислены основные уровни вложенности:
Обратите внимание, что \part и \chapter доступны только в классах report и book .
Более подробный разбор структуры документа описан в статье Sections and Chapters.
Создание таблиц
Простые таблицы
Вот простейший пример создания таблицы:
По умолчанию для создания таблиц в LaTeX используется окружение tabular . В этом окружении нужно указывать параметр, в нашем случае . В таком виде он сообщит LaTeX, что в таблице будет три столбца, и текст внутри этих столбцов нужно разместить по центру. Можно также использовать r для выравнивания текста по правому краю и l для выравнивания по левому.
Для указания разрывов в записях таблицы используется символ & . Количество символов выравнивания в каждой строке всегда должно быть на один меньше, чем количество столбцов. Чтобы перейти к очередной строке таблицы используется команда создания новой строки, \\ . Всю таблицу мы заключаем в окружение center , чтобы она размещалась по центру страницы.
Добавление границ
Окружение tabular достаточно гибкое и позволяет размещать разделяющие строки между каждым столбцом.
Границы можно добавлять при помощи команды рисования горизонтальной линии \hline и параметра рисования вертикальной линии | .
- < |c|c|c| >: эта команда объявляет, что в таблице будут использованы три столбца, разделенные вертикальными линиями. На необходимость вертикального разделения указывает символ |.
- \hline : эта команда вставит горизонтальную линию. В примере выше горизонтальными линиями мы ограничили верх и низ таблицы, но при желании ими можно разделить ее всю.
Подписи, метки и ссылки
Как и изображения, таблицы можно пописывать и делать на них ссылки. Единственное отличие – это использование вместо figure окружения table .
Примечание: если вы используете подписи и ссылки на своем компьютере, то для работоспособности ссылок нужно будет скомпилировать документ дважды. Overleaf делает это автоматически.
Добавление содержания
Процесс создания содержания очень прост и реализуется командой \tableofcontents :
Разделы, подразделы и главы включаются в содержание автоматически. Чтобы добавить записи вручную, например для указания непронумерованного раздела, используйте команду \addcontentsline , как показано в примере.
Скачивание готового документа
Завершенный документ в формате PDF можно скачать через расположенное слева меню, кликнув PDF.
Есть и более быстрый способ через нажатие кнопки Download PDF в окне просмотра PDF, как показано ниже:
В этом блоге публикуются заметки и решения, найденные в процессе работы, освоения и жизни в дистрибутиве Debian GNU/Linux.
Задача: чтобы перейти на прогрессивный ЛаТеХ с ЗлоВорда / другого форматированного текста, нужно перевести набранные там документы в формат LaTeX. Как это сделать в открытых системах?
Решение: есть несколько свободных утилит, позволяющих это делать.
Введение
Обычно теме перевода научных документов из неправильных форматов в ЛаТеХ уделяют не так много внимания - дескать, кто вкусил ЛаТеХа и пользуется им, у того нет неправильных документов. Но что делать, если вы решили переходить к использованию ЛаТеХа и не хочется снова перенабирать формулы? Есть несколько утилит для перевода документов в ЛаТеХ, в том числе и открытых. Ниже приводятся примеры конвертации документа с формулами и рисунками:
Реализация
Для конвертации нужна Java (у меня работает с java 1.4), которую можно установить из репозитория. После этого открываем вордовый документ, сохраняем его в формат SXW в каталог writer2latex04. Теперь осталось зайти в этот каталог и набрать:
/writer2latex04$ ./w2l имя_документа
This is Writer2LaTeX, Version 0.4 (2005-07-01)
Всё, в каталоге появится такой же файл с расширением имя_документа.tex - его можно открыть, например, в Kile и скомпилировать.
Результат
Формулы набираются почти без нареканий, оформление передаётся прекрасно, и на рисунки вставляются ссылки. Проблему кодировок создатели этих скриптов обошли просто: кириллические символы набираются тэгами:
Выглядит жутко, но при компиляции документа всё смотрится хорошо, что видно на рисунке:
В принципе, никто не мешает создать (или погуглить, наверняка кто-то уже написал) скрипт, который заменит тэги кириллицы на буквы в текущей кодировке. Во всяком случае, главное - формулы, сохранены и набраны очень хорошо.
Плюсы:
+ Прекрасный перевод формул, набранных в ЗлоВорде или ОпенОфисе в ЛаТеХ.
+ Отличное сохранение форматирования, таблиц, точных размеров (важно для титульных листов)
+ Одно из лучших свободных средств конвертирования в ЛаТеХ, наравне с лучшими проприетарными аналогами.
Минусы:
- Кириллица в тэгах, для редактирования текста придётся переконвертировать в текст текущей кодировки.
OpenOffice.org -> HTML -> gnuhtml2latex = LaTeX
Вариант проще и с несколько иной "заточкой", предназначенный прежде всего для перевода в ЛаТеХ форматированного текста. Утилита gnuhtml2latex входит в дистрибутив Дебиан и представляет собой перловый скрипт, который переводит форматирование HTML в ЛаТеХ 2е.
Реализация
Для работы этого скрипта Java не нужна, но нужен Perl - который должен быть в системе любого линуксоида. Скрипт имеет мало параметров
В текущем каталоге появится теховский файл. Но качество перевода математических документов, конечно, ниже среднего: текст есть, не в тэгах, но формулы не набраны (даже рисунками), часть текста может быть в другой кодировке, код ужасен и требует напильника крупного калибра. Всё-таки, справедливости ради, скрипт писался не для того: прежде всего, целью программы был перевод форматированных документов в ЛаТеХ. С текстами типа блоггерских записей он справляется прекрасно, но математика, конечно, выше его сил.
Результат
Говоря кратко, для перевода математических документов gnuhtml2latex просто непригоден. Только форматированный текст, и то после этого код нуждается в напильнике.
Вот что осталось от математики: одни обломки.
Плюсы:
+ Хорошее сохранение форматирования, пригоден для текстов несложного оформления.
Минусы:
- Математические тексты не переводит, часть текста может запросто оказаться в другой кодировке.
- Выдаваемый код довольно жуткий, потребуется крупный напильник.
AbiWord -> LaTeX
Чуть не забыли старика-Абиворда, и очень зря. В былые годы это был чуть ли не единственный текстовый процессор, способный читать и конвертировать много форматов, в том числе ЗлоВорд. AbiWord имеет свои конвертеры для многих форматов, в том числе для злоВорда, ЛаТеХа и ОпенОфиса (в версии 2.2.7, что в Сарже) формата SXW. Так что при совсем безысходных случаях можно и АбиВорд использовать.
Реализация
Это графическое приложение, так что как тыкать по кнопкам, думаю, объяснять не надо. Просто открываем документ (SXW, HTML или даже вордовый), ищем в перечне типов файлов latex и сохраняем.
Результат
Мягко говоря, результат страшноват, но лучше того, что сделал с математикой gnuhtml2latex. AbiWord даже набрал греческие символы, но длинные формулы всё-таки запорол: во всяком случае, индексы он набирает отступами и точным позиционированием текста.
Результат не впечатляет, и по коду после этого придётся елозить напильником.
Плюсы:
+ Графическое приложение, кнопочки.
+ Вменяемо сохраняет форматирование и греческие буквы.
Минусы:
- Код страшен и "в лоб" не скомпилируется, требует применения напильника, паяльника и мощной кувалды.
catdoc -> LaTeX
Эта небольшая, но очень полезная утилита способна читать и декодировать форматы ЗлоВорда, вплоть до ЗлоВорда2000. Очень маленькая, но позволяет сохранять файл ворда либо в простом тексте, либо (с небольшими добавками) формат ЛаТеХ.
Реализация
После установки приложения apt-get install catdoc можно выполнять команду конвертации:
catdoc -t PredDiplomPractice.doc > PredDiplomPracticeCAT.tex
Утилита имеет несколько параметров, но всё-таки больше пригодна не для перевода в ЛаТеХ документов (так как математика в этом случае почти в полном объёме уходит лесом) , а для включения в скрипты и анализа документов.
Результат
Только текст с некоторыми примесями тэгов ЛаТеХа. Почти нет форматирования, не говоря уже о формулах и рисунках. Только в крайнем случае при очень простых текстах.
Результат - только текст с небольшими вкраплениями формул.
Плюсы:
+ Маленькая и быстрая утилита.
Минусы:
- Всё остальное: нет формул, картинок, сносок и прочего. Только слегка отформатированный текст.
wvAbw wvDVI wvPDF wvText
wvCleanLatex wvHtml wvPS wvVersion
wvConvert wvLatex wvRTF wvWare
wvDocBook wvMime wvSummary wvWml
Реализация
После установки apt-get install wv выполняем команду конвертации:
wvLatex PredDiplomPractice.doc PredDiplomPracticeWV.tex
Утилита имеет несколько параметров, но всё-таки больше пригодна не для перевода в ЛаТеХ документов (так как математика в этом случае почти
в полном объёме уходит лесом), а для включения в скрипты и анализа
документов.
Результат
Только текст с некоторыми примесями тэгов ЛаТеХа. Почти нет форматирования, не говоря уже о формулах и рисунках. Только в крайнем случае при очень простых текстах.
Результат - только текст с небольшими вкраплениями формул.
Плюсы:
+ Маленькая и быстрая утилита.
Минусы:
- Всё остальное: мало формул, картинок, сносок и прочего. Только слегка отформатированный текст.
Заключение
При том количестве свободных утилит, которые способны переводить документы из закрытого, проприетарного и патентованного формата ЗлоВорд в формат LaTeX, конвертация осуществима и практически без потерь форматирования, формул и денег.
В этом блоге публикуются заметки и решения, найденные в процессе работы, освоения и жизни в дистрибутиве Debian GNU/Linux.
1/10/2007
Перевод документов из LaTeX в Word / OpenOffice
Сказка: как было бы прекрасно, если бы все в научном мире применяли бы LaTeX так же широко, как сейчас применяется ворд - это избавило бы людей от множества проблем и высвободило кучу времени.
Быль: из-за полного отсутствия компьютерной грамотности, подавляющее большинство научных работников (даже технарей) вообще не подозревают о существовании LaTeX, и уродуются с вордом - так что если вы встали на прогрессивный путь, извольте конвертировать файлы LaTeX в Word / OpenOffice.
Введение
В силу принципиально худшего метода набора визуальных текстовых процессоров, точной и полной конвертации быть не может по определению: всё равно придётся немного "обработать напильником". В зависимости от метода конвертации, может потребоваться ещё и кувалда (написание скриптов для исправления в документе). Ниже я приведу способы конвертации, над которыми корпел сам. Если кто знает другие и лучшие методы - убедительная просьба не скупиться на комментарии. В заголовках будет содержаться цепочка конвертации до опенофиса, так как дальше всё очевидно.
На рисунке показан документ таким, как он выглядит в LaTeX, после перевода в формат DVI. Всё красиво и замечательно - посмотрим, во что превратится это великолепие при переводе в ЗлоВорд.
latex2html - HTML - OpenOffice
Есть утилита latex2html, которая позволяет со множеством опций переводить созданный в LaTeX документ в гипертекст. Есть несколько неприятных моментов: в HTML нет понятия "разделения на страницы", трудно переводить формулы (только графикой) и математические символы.
У latex2html очень впечатляющий man, в котором можно выцедить много интересного. Например, чтобы утилита переводила текст в одну страницу.
Реализация
Генерируем любой оболочной dvi-файл, чтобы в каталоге ещё остался файл .aux, после чего даём команду в консоли в каталоге, где лежит документ:
latex2html -split 0 -external_file 2006fullReport.aux 2006fullReport.tex
Здесь был использован внешний файл aux (содержит информацию о перекрёстных ссылках) и текст выводился в файл html без разделений на подстраницы. После этого появляется каталог 2006fullReport, в котором лежит много файлов, в том числе нужный нам 2006fullReport.html - его открываем OpenOffice. Копируем текст с рисунками в буфер обмена, вставляем в новый документ OpenOffice, и достаём крупный напильник.
Результат
Неплохо, но полученный документ требует серьёзной доводки. Рисунки вставлены в натуральную величину, все тонкие подгонки ушли на север, ссылок на рисунки нет (только гиперссылки). Формулы - рисунками, зато поставлена правильная нумерация формул. Есть ещё очень крупный минус: рисунки в текст внедрить не удаётся, это просто ссылки.
В общем, этот способ подходит скорее для веб-публикаций документов, не содержащих сложного оформления или формул.
Плюсы
+ есть оглавление;
+ хорошо передаётся оформление документа;
Минусы
- формулы в виде графики, ссылок на рисунки нет,
- рисунки в натуральную величину, группы рисунков не передаются.
- большинство рисунков не внедряются в документ и не могут быть сохранены как RTF (например, графики в PS).
latex2rtf - RTF - OpenOffice
Утилита latex2rtf не входит в дистрибутив Дебиан, но может быть поставлена из внешних репозиториев. Позволяет перевести LaTeX-документ в RTF, после чего легко открывается ОпенОфисом. Параметров у утилиты не так много, перевод сравнительно неплох, но напильник далеко откладывать не стоит.
Реализация
Генерируем любой оболочкой dvi-файл со всеми сопутствующими файлами, после чего даём команду в консоли в каталоге, где лежит документ:
latex2rtf -F -M12 -a 2006fullReport.aux -b 2006fullReport.bbl 2006fullReport.tex
Параметр -F заставляет делать изображения из всех вставленных рисунков, опции -a и -b используют файлы aux и bbl соответственно. Параметр -M12 конвертирует все математические символы в рисунки - медленно, но зато потом не возникает трудностей с формулами.
Результатом этого будет единственный файл rtf. Генерироваться это будет достаточно долго, так что наберитесь терпения. В нём все формулы и математические символы будут в виде рисунков. Полученный файл rtf открываем OpenOffice, и немного проходимся напильником по размеру изображений и сразу меняем поля страницы.
Плюсы
+ удовлетворительная вставка рисунков;
+ хорошо передаётся оформление документа;
+ есть нумерация рисунков, библиографии и таблиц.
Минусы
- есть неправильная трансляция в сложных группах изображений с подписями;
- нет оглавления в конечном тексте.
tex4ht (via htlatex) - HTML - OpenOffice
Конвертер tex4ht - вещь очень мощная, но настолько отвратительно документированная в man-страницах, что хоть в гугл беги. Собственно, именно из гугления были найдены необходимые (и весьма не очевидные) параметры для конвертации в HTML.
Реализация
Для этого нужно установить пакеты:
Как вариант, можно указать параметры для перевода с поддержкой MathML:
Результат визуально очень похожий.
Результат
Результирующий файл будет с тем же именем, но расширением html. Результат хорош, есть рисунки и ссылки на формулы, есть оглавление и список литературы.
Но рисунки, вставленные в ряд, появятся в вертикальном расположении, формулы будут в виде изображений.
Плюсы
+ удовлетворительная вставка рисунков;
+ хорошо передаётся структура и оформление документа;
+ есть нумерация рисунков, библиографии и таблиц;
Минусы
- трудности со статической вставкой рисунков.
tth -> HTML -> OpenOffice
На самом деле tth - это конвертор в HTML, заточенный под перевод научных документов. Переводит оглавление в ``кликабельном'' виде - но русские буквы в оглавлении не видны. Есть возможность переводить библиографические ссылки, сноски и отсылки на формулы - всё это так же будет работать. Очень удобно, когда что-то пишется в L A TEX а потом кновертируется в HTML для опубликования на веб-страницах.
Реализация
Для этого нужно установить пакеты:
после чего можно использовать утилиты, о которых говорится в man tth - очень, кстати, неплохом. Например, чтобы сконвертировать описанный выше документ, следует набрать команду:
tth -u -c -f9 -i -n2 2006fullReport.tex > 2006fullReport.html
Результат хорош для веб-публикации: есть ссылки по главам, на формулы и рисунки, библиография переводится, картинки вставляются.
Результат:
Результирующий файл будет с тем же именем, но расширением html. Результат хорош, ссылки по главам, на формулы, рисунки, библиографию.
Плюсы:
+ ссылки вставлены прекрасно: на рисунки, формулы, разделы и библиографию;
+ хорошо вставляются математические символы и греческие буквы.
Минусы:
- не все математические символы могут быть переданы;
- оформление в ряде случаев не передаётся.
Что в итоге
В общем, конвертация свободными программами возможна, хотя и не полная. Есть ещё проприетарное поделие tex2word, но оно стоит 100$ плюс требует MathType, который тоже платный. Плюс платный мелкоВорд. При полностью бесплатном и свободном ЛаТеХе это даже жлобством мало назвать.
Так что применяя свободные утилиты и некоторые усилия напильником, можно подогнать ЛаТеХовский документ к вордовому состоянию - только лучше на него не смотреть, результат (по сравнению с прекрасным экземпляром в ЛаТеХ) смотрится как карикатура.
Читайте также: