# Расширенный LATEX редактор

Сергей Калинин, Константин Михайленко

# Назначение

Программа предназначена для создания и редактирования файлов в рамках издательской системы TEX (LATEX).

## Описание функций

Ниже представлен список основных функций редактора:

Одновременное редактирование нескольких файлов.

Создание нового документа из шаблона.

Отображение структуры документа ввиде дерева.

Отображение ввиде дерева включенных внешних документов.

Вывод списка меток и ссылок.

Подсветка синтаксиса.

Поиск и замена текста.

Автодобивка команд.

Преобразование .tex файла в dvi, ps, pdf, html (при помощи внешних программ) и просмотр полученного документа.

Отображение процесса компиляции и преобразования документа и вывод ошибок.

Печать исходного кода.

Настраиваемые панели инструментов.

Вставка настраиваемых готовых конструкций кода.

Интерактивная проверка орфографии (при помощи ispell).

Автоматический перенос строк при достижении определенной в конфигурации длинны.

Авто-сохранение документа через определённый промежуток времени.

Сохранение позиции редактирования в открытых файлах при выходе из программы и возобновление редактирования этих файлов при следующем запуске программы.

Возможность подключения дополнительных внешних программ.

Настраиваемые цветовые схемы и графические темы панелей инструментов.

Подключение внешнего редактора.

Простой механизм локализации интерфейса программы. В данный момент редактор локализован на русском и английском языках.

Предпросмотр математических формул и любых частей текста а также сохранение их как изображения.

Поддерживается множество кодировок и перекодировка из одной в другую.

Автоматическое подключение нужной кодировки при использовании декларации пакета inputenc.

## Необходимое ПО

Программа написана на интерпретируемом языке Tcl/Tk поэтому Вам потребуется установить интерпретатор языка tcl. Его Вы можете найти у себя в дистрибутиве (для unix-подобных систем) или взять в сети Internet (для систем Windows). Например http://www.activestate.com Также необходимо установить набор графических компонент BWidget (он входит в состав activeTCL) Для полноценной работы с LATEX-документами необходимо установить дистрибутив издательской системы LATEX (например TeTeX или MkiTeX). Для просмотра и преобразования документов желательно установить пакеты tetex-dvips, ghostscript, ImageMagic, latex2html, xdvi, acroread (xpdf) - все , или почти все эти программы присутствуют в последних дистрибутивах линукс (например ALT Linux Master). О настройке данных программ будет рассказано ниже.

# Начало работы

Программа запускается командой /usr/bin/tle - если она установлена из rpm-пакета, или запускается файл tle.tcl из дистрибутивного комплекта. После запуска в домашнем каталоге создается рабочая папка .tle содержащая конфигурационные файлы.

Далее можете приступать к редактированию файлов. Можно открыть уже существующие документы Файл - Открыть либо создавать новые Файл - Новый. Программа, также, поддерживает создание документов из заранее заданных шаблонов Файл - Новый - Создать из шаблона, которые, Вы можете создавать самостоятельно, в появившимся диалоге выбирете нужный шаблон и введите требуемое имя и нажмите кнопку Создать

Tk LATEX Editor позволяет редактировать множество файлов, переключаясь между закладками редактора.

Сохранение документа производиться нажатием кнопки на панели инструментов, либо в меню Файл - Сохранить либо нажатием сочетания клавиш Ctrl - S, либо автоматически, согласно установкам в конфигурационном файле.

# Рaбота с документом

## Редактирование

При редактировании текста доступны режимы ввода и замены символов, переключаемые клавишей Insert. При вводе текста есть возможность ограничить длину строки текста определённым количеством символов, которое задаётся в конфигурационном файле, так же как и включение и выключение режима автопереноса. Т.е. при достижении длины строки текста в заданное количество символов, редактор автоматически начнет ввод со следующей строки. Также есть возможность перемещения курсора на строку с заданным номером - Ctrl - G.

### Вставка тегов

Для облегчения и ускорения процесса вёрстки документа редактор TLE позволяет вставлять готовые конструкции, используя настраиваемые панели инструментов. Например конструкции вида `\textsl{Редактирование}` можно вставлять, предварительно выделив требуемый текст, нажав соответствующую кнопку панели инструментов. Также при добавлении элементов списка `\item` есть возможность автоматической вставки тега в начале следующей строки при нажатии клавиши Enter в конце ввода строки текста.

Также, есть возможность добивки команд по начальным буквам - для этого, необходимо, после набора первых буква команды, нажать ALT-C и, из появившегося списка, выбрать требуемое. Списки команд соответствуют пакетам системы LATEX. И могут быть дополнены пользователем.

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

### Поиск и замена текста

Редактор TLE позволяет производить поиск и поиск с заменой текста в открытом документе. Данные функции доступны через меню Редактирование или при нажатии клавиш Ctrl-F и Ctrl-R соответственно. Для простого поиска ведется история.

## Перекодирование

TLE поддерживает работу с множеством различных кодировок. При открытии LATEX-документа происходит считывание данных о кодировке документа, если используется пакет inputenc. Если документ не содержит данных о кодовой странице то он будет отображен с использованием системной кодировки. В случае не совпадения кодовой страницы документа и Вашей системы документ будет отображён некорректно. Но это можно исправить, указав кодировку документа через меню Вид - Кодировка.

Если Вы хотите сохранить документ в кодировке отличной от исходной то необходимо выбрать нужную кодовую страницу через меню Документ - Кодировка и файл будет перекодирован при сохранении.

В случае если Вы используете пакет inputenc но не правильно указали кодировку документа в описании пакета либо текущая кодировка документа не соответствует требуемой, при сохранении будет выдано предупреждение о не соответствии кодовых страниц.

## Предпросмотр текста и формул

При наличии в системе дополнительных программ, становится доступна функция предварительного просмотра математических формул и произвольных частей документа. Для осуществления данной операции необходимо в редактируемом документе выделить текст формулы, либо её часть, и нажать сочетание клавиш Alt-V. Также можно выбрать пункт Показать формулу в меню Редактирование или при помощи всплывающего меню.

Для произвольного фрагмента текста операция идентична предыдущей с той лишь разницей, что необходимо нажать Alt-B или меню Редактирование - Показать Текст

## Проверка орфографии

Для проверки орфографии используется программа ispell. Вам необходимо выбрать в меню Документ - Орфография или нажать кнопку в панели инструментов. В появившимся диалоге надо выбрать требуемый словарь и режим проверки - весь документ или с текущей позиции. При несовпадении слов в тексте и в словаре Вам будет предложен список возможных вариантов из которых можно выбрать нужный и заменить неправильное слово.

## Преобразование в различные форматы

Для преобразования файла в различные форматы используются внешние программы. Команды для их запуска описаны в конфигурационном файле tle.conf:

    set convert_cmd(dvi) "latex"
    set convert_cmd(ps) "dvips -Pwww -j0 -ta4 -o %fileName.ps %fileName.dvi"
    set convert_cmd(pdf) "ps2pdf %name.ps"
    set convert_cmd(html) "latex2html -no_navigation -split 0"

Если в команде встречается макрос %fileName то программа подставит вместо него имя текущего файла без расширения.

Вызов команд производиться как через меню Документ - Преобразовать так и через панель инструментов. Разница заключается лишь в том, что при вызове команды через меню будет вызван диалог, в котором можно изменить опции командной строки, заданной по умолчанию. А при вызове команды через панель инструментов будет использована последняя заданная команда для операции преобразования.

## Предварительный просмотр документа

После преобразования документа станет доступна возможность просмотра полученного результата. Команды для просмотра заданы в конфигурационном файле tle.conf, аналогично и командам конвертации.

    ## PREVIEW ##
    set preview_cmd(dvi) "xdvi"
    set preview_cmd(ps) "gv"
    set preview_cmd(pdf) "acroread"
    set preview_cmd(html) "mozilla"

Вызвать команды просмотра можно как через меню Документ - Предварительный просмотр так и при помощи кнопок на панели инструментов.

# Настройка

## Конфигурационный файл

Локализация

set locale "en" - установка языка интерфейса программы

Временные файлы

set backup(create) "Yes" - создание резервных копий файлов

set backup(del) "No" - удалять резервные копии

set backup(autosave) "Yes" - автосохранение документа

Встроенная Помощь

set help(encode) "koi8-r" - язык файлов помощи

Параметры для ispell

set ispell_lib /usr/lib/ispell

set ispell_startindex "1.0"

Рабочие каталоги

каталог для временных файлов

     set dir(tmp) [file join $env(HOME) tmp]

каталог для документов по умолчанию

     set dir(doc) [file join $env(HOME) doc my]

Таймеры в миллисекундах

set timers(refresh) 60000 - время автообновления структуры документа

set timers(autosave) 300000 - время автосохранения документа

Настройки Интерфейс

set gui(geometry) "750x550+0+0" - установка геометрии основного окна

set gui(tabsLabel) "top" - расположение заголовков закладок "top" или "bottom"

set theme "default" - тема для панелей инструментов "default" или "stroke"

Установка шрифтов

set font(normal) "Arial 10 normal roman" - нормальный шрифт интерфейса

set font(bold) "Arial 10 bold roman" - жирный шрифт интерфейса

Установка цветовых схем

set color(selectbg) "#55c4d1" - цвет выделенной области

set color(bg) "#bbbbbb" - фон элементов интерфейса

set color(editBg) "#cccccc" - фон элементов редактирования

set color(editFg) "#000000" - цвет шрифта элементов редактирования

set color(editTitleNormal) "#000000" - цвет заголовка закладки редактора нормальный

set color(editTitleModify) "#0021ff" - цвет заголовка закладкиредактора изменённый

Подсветка текста

set color(procName) "#0021ff" - процедуры

set color(operator) "#0000a8" - операторы

set color(keyWord) "#0000a8" - ключевые слова

set color(param) "#6a0082" - параметры

set color(subParam) "#008282" - подпараметры

set color(comments) "#9b9b9b" - коментарий

set color(var) "#e50000" - переменная

set color(string) "#168400" - строка заключённая в кавычки

set color(brace) "#d33434" - скобка

set color(braceBG) "#000000" - фон подсвеченной скобки

set color(braceFG) "#00feff" - цвет подсвеченной скобки

set color(percent) "#a500c6" - знак процента

set color(bindKey) "#a500c6" - ключи

Рельеф кнопок и элементов интерфейса

доступны flat, groove, raised, ridge, solid, sunken or link

set relief(btn) link - кнопки

доступны flat, groove, raised, ridge, solid, or sunken

set relief(menu) groove - меню

Включение панелей инструментов

При добавлении своей панели инструментов необходимо прописать её в конфигурационном файле в формате tool(toolbar_file_name) flag где flag = 0 - скрыть, 1- показать

set tool(main) 1 - основная панель

set tool(insert) 1 - панель для вставки элементов

set tool(math) 0 - математическая панель

set tool(format) 1 - панель форматирования

Установки редактора

set font(editNormal) "fixed" - нормальный шрифт

set font(editBold) "fixed" - полужирный шрифт

set editor(extern) "No" - использовать внешний редактор

set editor(prog) "/usr/bin/emacs" - внешний редактор

set editor(wrap) "word" - автоперенос слов при отображении текста, доступно none, word or char

set editor(strWrap) "Yes" - автоперенос текста при редактировании

set editor(strLen) 100 - количество символов в строке

Опции преобразования документа и просмотра

%fileName - имя текущего файла

%dirName - имя текущего каталога

Преобразование latex в dvi

set convert_cmd(dvi) "latex"

Преобразование dvi в ps (PostScript)

set convert_cmd(ps) "dvips -Pwww -j0 -ta4 -o %dirName/%fileName.ps %dirName/%fileName.dvi"

Преобразование ps в pdf

set convert_cmd(pdf) "ps2pdf %dirName/%fileName.ps"

Преобразование latex в html

set convert_cmd(html) "latex2html -no_navigation -split 0"

Преобразование ps в графическое изображение

set convert_cmd(img) "convert"

Просмотр результатов преобразования

set preview_cmd(dvi) "xdvi"

set preview_cmd(ps) "gv"

set preview_cmd(pdf) "acroread"

set preview_cmd(html) "mozilla"

Параметры отображения формул и частей текста

set render(res) "150x150" - разрешение картинки

set render(format) "gif" - формат файла изображения

set render(bg) "white" - цвет фона

set render(fg) "black" - цвет шрифта

set render(trans) 0 - включение прозрачности

set render(aa) 1 - включение антиалиасинга

## Панелей инструментов

Вы можете самостоятельно настраивать панели инструментов, т.е. добавлять кнопки и меню. Описание панелей инструментов (тул-баров) храниться в каталоге `share/gui/toolbar/`

### Описание функций

Для команд определяемых пользователем есть несколько функций для добавления тэгов в текст.

AddTextFont
  -- добавляет тэги вида «`\tiny{}`». Формат вызова функции

           AddTextFont Имя_Тэга

AddTextDouble
  -- добавляет тэги вида «`\begin{center}" \ldots \verb"\end{center}`».

           AddTextDouble Начальный_Тег Наименование конечный_Тег

AddTextCommand
  -- для добавления простых тэгов вида «`\beta`».

           AddTextCommand Имя_Тэга

В командах начальный слэш следует опускать, он добавляется автоматически

### Наименование файла

Для создания новой панели инструментов создайте в каталоге `toolbar` файл с любым именем без расширения кроме main (это зарезервированное слово под основную панель)

### Формат файла

Строки начинающиеся на «`#`» являются комментарием и игнорируются так же как и пустые строки

Для создания меню:

         ключевое_слово иконка "Текст подсказки"

Для создания команд в меню:

         ключевое_слово "команда" "Текст подсказки" иконка

Параметр иконка не является обязательным если он не указан то в меню будет вставлен текст если указан - то изображение

Для создания кнопки:

         ключевое_слово "команда" Иконка "Текст подсказки"

### Пример

    menu font_width.gif "Font type" {
        cmd "AddTextFont texttt" "Typewriter Typeset"
        imagecmd "AddTextFont textit" "Typewriter Typeset" file.gif
        cmd separator
    }
    button "AddTextFont emph" font_emph.gif "Emphasise"

Здесь `menu`, `button`, `cmd`, `imagecmd` -- ключевые слова для создания соотвественно меню, кнопки меню и кнопки с изображением; `cmd separator` -- добавление в меню разделителя

# Об этом документе ...

Расширенный LATEX редактор

This document was generated using the LaTeX2`HTML` translator Version 2K.1beta (1.57)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html `-no_navigation -split 0 /home/kalinin/projects/tcl/tle/doc/tle_usr_manual.tex`

The translation was initiated by on 2003-01-09