Initial commit
This commit is contained in:
commit
87496f7fb0
330
CHANGELOG
Executable file
330
CHANGELOG
Executable file
|
@ -0,0 +1,330 @@
|
|||
######################################################
|
||||
# Tk LaTeX Editor
|
||||
# Distributed under GNU Public License
|
||||
# Author: Sergey Kalinin (BanZaj) banzaj@lrn.ru
|
||||
# Home page: http//conero.lrn.ru
|
||||
######################################################
|
||||
|
||||
|
||||
1.0.3
|
||||
|
||||
21/09/2004
|
||||
- Fixed work with directory and files included brakespace into names
|
||||
- Image thumbnails support now was stable =)
|
||||
|
||||
16/09/2004
|
||||
- Added thumbnails support into text widget for \includegraphics - unstable
|
||||
- Fixed preview bugs
|
||||
|
||||
24/08/2004
|
||||
- Fixed bug with differents beetwen system encoding and LaTeX encoding
|
||||
- Added encode.lst where writing encoding equivalent
|
||||
- Fixed scroling text window
|
||||
|
||||
|
||||
1.0.2
|
||||
20/04/2004
|
||||
- Word wrapping fixed (when cursor-arrow pressed)
|
||||
- Added users command files like as toolbar files but without "button" command (~/.tle/gui/hotkeys)
|
||||
- Fixed duble lines into toolbar-menus
|
||||
|
||||
27/02/2004
|
||||
- Fix problem with close debug node
|
||||
- Fix problem with many included files
|
||||
|
||||
|
||||
1.0.1
|
||||
|
||||
09/10/2003
|
||||
- Fix closed file if opened included files (\input, \include)
|
||||
- Fix problem with finding tags like \section*{}
|
||||
|
||||
08/10/2003
|
||||
- Fix problem with close inserted files
|
||||
|
||||
26/09/2003
|
||||
- Fix bug with create new doc from template
|
||||
- Fixed bugs with tree selection get
|
||||
- Fixed bug with node rise procedure
|
||||
|
||||
14/04/2003
|
||||
- Added "Insert curent date" command
|
||||
|
||||
|
||||
1.0.0
|
||||
|
||||
06/02/2003
|
||||
- Fixed some error with Text Reneder procedure
|
||||
- Fixed error with reading toolbar files
|
||||
|
||||
27/01/2003
|
||||
- Added HotKeys setup in toolbar files
|
||||
- Small change spellcheck dialog
|
||||
- Change GUI of "Create new file from template" procedure
|
||||
- Change text and formulas rendering procedure - now reading current document header
|
||||
and used all needed package and instructions
|
||||
- Added removing selected text into other document (file) and include them with \include{}
|
||||
- Added saving selected text as file
|
||||
- Added saving selected text as image
|
||||
- Added users working directories, now tle reading user defined files after main files:
|
||||
command - for user defined command list
|
||||
gui/toolbar - for user defined toolbars
|
||||
modules - for user module files
|
||||
tenmplate - for user defined template files
|
||||
- Added new popup menus for selected text
|
||||
- Added "Select All" and "Unselect All" in "Edit" menu
|
||||
|
||||
10/01/2003
|
||||
|
||||
- Changed preview text and formulas keys Alt-T and Alt-F
|
||||
- Changed tabbar rised if file was closed
|
||||
- Some changes with FilesTree
|
||||
- Changed NoteBook tab switcher now used "Ctrl-PgUp" and "Ctrl+PgDown"
|
||||
- Fixed error with delete file declaration from \input{file} if file was opened in editor
|
||||
- Fixed refresh structure if changed \input{} \include{} files
|
||||
- Fixed error with opened included files if them location in different directory
|
||||
|
||||
09/01/2003
|
||||
- Some fixes in Encoding procedure
|
||||
- Change encoding clipboard
|
||||
- Fixed error with editing file after close any file
|
||||
- Fixed incorrect search on structure tree
|
||||
- Change documentation
|
||||
- Change compile and preview procedure with included files (\iput{})
|
||||
|
||||
08/01/2003
|
||||
- Fixed some error with \input \include declaration if file dosn't exists
|
||||
- Added creating new file in current dir
|
||||
- Added selected text rendering procedure and convert them into image
|
||||
- Changed tle.conf file - added new parameters
|
||||
|
||||
03/01/2003
|
||||
- Mathematical formulas preview added
|
||||
|
||||
01/01/2003
|
||||
- Added popup menus for file, text and tabs
|
||||
- Added readline procedure for compile process
|
||||
- Some bugs fixed
|
||||
|
||||
31/12/2002
|
||||
- Chage GUI replace static scrollbar on dynamic
|
||||
- Added NoteBook Tabs Specifies the side where to place the label of the pages into tle.conf "gui(tabsLabel)"
|
||||
|
||||
30/12/2002
|
||||
- Command line support usage> tle you_doc_file.tex
|
||||
- Multi encoding support added
|
||||
|
||||
0.2.5
|
||||
17/12/2002
|
||||
- Help dialog (F1 key) fixed
|
||||
- F5 (convert to dvi), F6 (convert to ps), F7 (convert to pdf) keys fixed
|
||||
09/12/2002
|
||||
- Fixed error with bookmarks file if file was remove
|
||||
- Remove "Print..." and "Preview" from File menu
|
||||
02/12/2002
|
||||
- Fixed error with %dirName macros
|
||||
- Added new function AddTextMath - for include math mode (changed /gui/toolbar/math)
|
||||
|
||||
0.2.4
|
||||
20/11/2002
|
||||
- Added %dirName macros for converting command in tle.conf file
|
||||
|
||||
19/11/2002
|
||||
- Fixed error with refresh structure if editing file was closed
|
||||
- Added command line dialog for converting option, runing from menu
|
||||
- Fixed memmory leaks in timers
|
||||
|
||||
18/11/2002
|
||||
- Added view full path to edit file in main window title
|
||||
- Added autosave opened files
|
||||
- Added autorefresh document structure
|
||||
- Change gui/toolbar/main toolbar file
|
||||
- Added mouse wheel support into Labels List
|
||||
- Added new commands files in lib/command/
|
||||
|
||||
15/11/2002
|
||||
- Added \ref{} and \pageref{} tags into label tree
|
||||
- Added \input{} and \include{} tags into files tree
|
||||
|
||||
10/11/2002
|
||||
- Added theme support for toolbar icons
|
||||
- Added theme Stroke (by Const)
|
||||
- Added Separator command for toolbars files
|
||||
- Change relief variable - added relief(btn) for buttons and relief(menu) for menu buttons
|
||||
- Added main window geometry setting into tle.conf
|
||||
- Rename work directory ~/.tle
|
||||
- Reorganize menu - remove "Make" menu and added submenu into "Document" menu
|
||||
- New external programms (modules) checking procedure
|
||||
|
||||
0.2.3
|
||||
04/11/2002
|
||||
- Fixed error with "Insert image" procedure (thanks Igor Didkovsky <ididkovsky@mail.ru>)
|
||||
- Added temporary files deleted procedure
|
||||
- Update README file
|
||||
|
||||
28/10/2002
|
||||
- Remove "locale" variable, now used system locale
|
||||
|
||||
0.2.2
|
||||
25/10/2002
|
||||
- Added new comman list - more then 1850 commands (main_cmd.lst) (by Const)
|
||||
|
||||
21/10/2002
|
||||
- Fixed AutoWraping string if length = $editor(strLen) and string have't space
|
||||
|
||||
0.2.1
|
||||
18/10/2002
|
||||
- Added latex2html support
|
||||
- Stored toolbar on/off status into tle.conf
|
||||
- Added few botton into "main" toolbar
|
||||
|
||||
0.2.0
|
||||
17/10/2002
|
||||
- Overwrite procedure added (Insert press)
|
||||
- Open file dialog added path to last opened file directory
|
||||
- Fixed Close unsaved file procedure ("Cancel" button press)
|
||||
|
||||
01/10/2002
|
||||
- Fixed correctly location files on save procedure
|
||||
|
||||
17/09/2002
|
||||
- Fixed On/Off toolbar into "View" menu
|
||||
|
||||
16/09/2002
|
||||
- Change highlight procedure (comments tag removing now)
|
||||
|
||||
13/09/2002
|
||||
- Now working files from any location
|
||||
- Added error highlightning and location in text widget
|
||||
|
||||
04/09/2002
|
||||
- Saving files on close TLE
|
||||
- Remember opened files and cursor position on close TLE and open them on start TLE in next time
|
||||
- Change color tab title if file was modified
|
||||
|
||||
0.1.10
|
||||
15/07/2002
|
||||
- Added word wrapping for actual string size
|
||||
|
||||
0.1.9
|
||||
28/06/2002
|
||||
- Small GUI chages (toolbar buttons view)
|
||||
|
||||
0.1.8
|
||||
21/06/2002
|
||||
- Added GUI coloring (by Constantin Mikhailenko)
|
||||
|
||||
20/06/2002
|
||||
- Fixed "Close"/"Save AS"/"Undo"/"Preview" proceduires if could't opened files
|
||||
|
||||
0.1.7
|
||||
29/05/2002
|
||||
- Fix some error in autocomplit procedure
|
||||
|
||||
28/05/2002
|
||||
- Added support commands like "section{}" into autocomplitition procedure
|
||||
|
||||
16/05/2002
|
||||
- Added HELP dialog
|
||||
|
||||
23/05/2002
|
||||
- Added AutoComplitition procedure
|
||||
|
||||
0.1.6
|
||||
|
||||
15/05/2002
|
||||
- Fixed problem with loading external modules
|
||||
|
||||
0.1.5
|
||||
|
||||
08/05/2002
|
||||
- Added BackUp file created procedure
|
||||
|
||||
07/05/2002
|
||||
- Added external modules support (tkcvs,tkdiff)
|
||||
- Added label navigation
|
||||
|
||||
0.1.3
|
||||
30.04/2002
|
||||
- Create Config file tle.conf
|
||||
- Fixed small bugs with key press event
|
||||
- Added many mathematical symbols (by Const) in toolbar
|
||||
|
||||
29/04/2002
|
||||
- Fixed PageTab procedure for Ctrl+M key
|
||||
- Fixed calling Replace Dialog from menu
|
||||
|
||||
0.1.1
|
||||
27/04/2002
|
||||
- Fixed Edit Menu errors
|
||||
- Fixed Create New File procedure
|
||||
|
||||
26/04/2002
|
||||
- Toolbar fixed
|
||||
|
||||
0.0.12
|
||||
24/04/2002
|
||||
- Added spellcheck procedure (thanks Vitus)
|
||||
|
||||
0.0.11
|
||||
23/04/2002
|
||||
- Added Insert Table dialog and procedure
|
||||
- Fixed Refresh Document structure tree
|
||||
|
||||
0.0.9
|
||||
17/04/2002
|
||||
|
||||
- Fixed structure navagation procedure
|
||||
|
||||
|
||||
0.0.6
|
||||
16/04/2002
|
||||
- Some bugs fixed in highligtning procedure
|
||||
- Add Structure Tree navigator
|
||||
- Add status bar, cursor position, file attributes
|
||||
- Add Insert Section, Subsection, e.t.c, dialog
|
||||
- Fixed bug into Add Enumerate and Itemaze procedures
|
||||
|
||||
|
||||
0.0.5
|
||||
|
||||
11/04/2002
|
||||
- Added Document Structure Viewer
|
||||
- Added Included Package dialog
|
||||
|
||||
0.0.4
|
||||
|
||||
09/04/2002
|
||||
- Added toolbar and many command
|
||||
- Fix comment highlightning
|
||||
|
||||
0.0.1
|
||||
03/04/2002
|
||||
- Beginning the project
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
8
COPYING
Executable file
8
COPYING
Executable file
|
@ -0,0 +1,8 @@
|
|||
######################################################
|
||||
# Tk LaTeX Editor
|
||||
# Distributed under GNU Public License
|
||||
# Author: Sergey Kalinin (BanZaj) banzaj@lrn.ru
|
||||
# Home page: http//conero.lrn.ru
|
||||
######################################################
|
||||
|
||||
|
8
INSTALL
Executable file
8
INSTALL
Executable file
|
@ -0,0 +1,8 @@
|
|||
######################################################
|
||||
# Tk LaTeX Editor
|
||||
# Distributed under GNU Public License
|
||||
# Author: Sergey Kalinin (BanZaj) banzaj@lrn.ru
|
||||
# Home page: http//conero.lrn.ru
|
||||
######################################################
|
||||
|
||||
|
17
KNOWBUG
Executable file
17
KNOWBUG
Executable file
|
@ -0,0 +1,17 @@
|
|||
######################################################
|
||||
# Tk LaTeX Editor
|
||||
# Distributed under GNU Public License
|
||||
# Author: Sergey Kalinin (BanZaj) banzaj@lrn.ru
|
||||
# Copyright (c) "CONERO lab", 2002, http://conero.lrn.ru
|
||||
######################################################
|
||||
|
||||
|
||||
еслт я использую нестандартный пакет
|
||||
(который кладу в тот же каталог, где и редактируемый файл),
|
||||
препросмотр -- естественно -- не работает, ругается...
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
39
README
Executable file
39
README
Executable file
|
@ -0,0 +1,39 @@
|
|||
######################################################
|
||||
# Tk LaTeX Editor
|
||||
# Distributed under GNU Public License
|
||||
# Author: Sergey Kalinin (BanZaj) banzaj@lrn.ru
|
||||
# Home page: http//conero.lrn.ru
|
||||
######################################################
|
||||
|
||||
|
||||
1. ABOUT
|
||||
|
||||
Tk LaTeX Editor is a powerful LaTeX editor. It supports code highlighting, a document structure navigator, a project and file manager, spellchecking, command autocompletion, convert to PS/PDF/HTML support, and much more.
|
||||
|
||||
2. REQUIREMENTS
|
||||
|
||||
For LINUX (Unix)
|
||||
Tcl/Tk http://www.tcl-tk.org
|
||||
BWidget http://sourceforge.net/projects/tcllib
|
||||
TeTeX
|
||||
|
||||
For WINDOWS
|
||||
ActiveTCL http://tcl.activestate.com
|
||||
MiKTeX http://www.miktex.org
|
||||
GhostScript http://www.cs.wisc.edu/~ghost/
|
||||
|
||||
3. INSTALL
|
||||
|
||||
Install any requirements on your system.
|
||||
Unpack archive and execute tle.tcl
|
||||
|
||||
4. CREDITS
|
||||
|
||||
Sergey Kalinin (aka Banzaj) - main project programmer and coordinator
|
||||
banzaj@lrn.ru http://conero.lrn.ru
|
||||
|
||||
Constantin I Mikhailenko (aka Const) const@mail.ru
|
||||
|
||||
|
||||
|
||||
|
11
THANKS
Executable file
11
THANKS
Executable file
|
@ -0,0 +1,11 @@
|
|||
#########################################################
|
||||
# Tk LaTeX Editor
|
||||
# Distributed under GNU Public License
|
||||
# Author: Sergey Kalinin (BanZaj) banzaj@lrn.ru
|
||||
# Copyright (c) "CONERO lab", 2002, http://conero.lrn.ru
|
||||
#########################################################
|
||||
|
||||
|
||||
Belimov Dmitri <dimon@megalink.ru>
|
||||
Igor Didkovsky <ididkovsky@mail.ru> http://langos.lrn.ru
|
||||
Oleh Nykyforchyn <nick@pu.if.ua>
|
44
TODO
Executable file
44
TODO
Executable file
|
@ -0,0 +1,44 @@
|
|||
######################################################
|
||||
# Tk LaTeX Editor
|
||||
# Distributed under GNU Public License
|
||||
# Author: Sergey Kalinin (BanZaj) banzaj@lrn.ru
|
||||
# Home page: http//conero.lrn.ru
|
||||
######################################################
|
||||
|
||||
|
||||
рекурсивное обновление струткуры для всех открытых вложенных файлов
|
||||
|
||||
|
||||
Сделать проверку на наличие пакетов включенных в тексте на этапе открытия документа
|
||||
|
||||
20. Установка курсора в положение где найдена ошибка при компиляции!!!
|
||||
|
||||
|
||||
folding
|
||||
|
||||
Скролинг в окне автодобивки с клавиатуры
|
||||
|
||||
Обработка кликов мыши в окне автодобивки и клавиш управления курсором
|
||||
|
||||
|
||||
3. better support for the labels feature - include support for the bibliography environment & the \bibitem \cite... commands.
|
||||
|
||||
|
||||
структура
|
||||
|->start.tex
|
||||
|-> file1.tex
|
||||
|-> file1-1.tex
|
||||
|
||||
работаю с файлом 1-1
|
||||
перескакиваю в start внести исправления, сохраняю его, возвращаюсь в 1-1, компилю -- ругается. тупо смотрю. потом умно смотрю. потом замечаю, что структура стала
|
||||
|-> start.tex
|
||||
| |-> file1.tex
|
||||
|-> file1-1.tex
|
||||
|
||||
Перескакиваю в файл 1 -- структура магическим образом восстанавливается ;)
|
||||
|
||||
|
||||
и изображения формул
|
||||
|
||||
|
||||
|
37
TODO_v2
Executable file
37
TODO_v2
Executable file
|
@ -0,0 +1,37 @@
|
|||
######################################################
|
||||
# Tk LaTeX Editor
|
||||
# Distributed under GNU Public License
|
||||
# Author: Sergey Kalinin (aka BanZaj) banzaj@lrn.ru
|
||||
# Copyright (c) "CONERO lab", 2005, http://conero.lrn.ru
|
||||
######################################################
|
||||
|
||||
Список задач для второй версии программы
|
||||
|
||||
|
||||
1. Работа с деревом
|
||||
- единая процедура для вставки нод
|
||||
-- параметры {
|
||||
fileFullPath - полное имя файла
|
||||
}
|
||||
- обработка вложенности документов (документы сложной структуры)
|
||||
|
||||
2. текстовый виджет
|
||||
- списки отмены\повтора {
|
||||
.txt -undo true - режим отмены\повтора
|
||||
.txt -autoseparators true - атоматическое разделение символов для undo
|
||||
.txt edit redo - повтор
|
||||
.txt edit undo - отмена
|
||||
bind .txt <KeyPress> {.txt edit separator} - флаг для режима отмены\повтора
|
||||
}
|
||||
- поиск по регулярным выражениям {
|
||||
.txt search -regexp
|
||||
в диалог поиска вставить вызов tkregexp и возможность экспорта созданного выражения в строку поиска
|
||||
далог отображения результатов поиска (или кнопку навигации по ним
|
||||
(использовать переменную varName, содержащую список индексов [.txt search -count VarName] )
|
||||
}
|
||||
|
||||
3. Работа с файлами
|
||||
- выбор нескольких файлов при открытии {
|
||||
tk_getOpenFile -multiple
|
||||
}
|
||||
|
8
config.tcl
Executable file
8
config.tcl
Executable file
|
@ -0,0 +1,8 @@
|
|||
######################################################
|
||||
# Inventory DataBase
|
||||
# Distributed under GNU Public License
|
||||
# Author: Sergey Kalinin (BanZaj) banzaj@altlinux.ru
|
||||
# Copyright (c) "Dal Telecom Int", 2005, http://conero.lrn.ru
|
||||
######################################################
|
||||
|
||||
set dbname inventory
|
68
doc/tle_api_guide.tex
Executable file
68
doc/tle_api_guide.tex
Executable file
|
@ -0,0 +1,68 @@
|
|||
%----------------------------------------
|
||||
% TkTeXEditor |
|
||||
%----------------------------------------
|
||||
|
||||
\documentclass[12pt]{article}
|
||||
\usepackage[koi8-r]{inputenc}
|
||||
\usepackage[english,russian]{babel}
|
||||
|
||||
\usepackage{graphicx}
|
||||
|
||||
\begin{document}
|
||||
\title{Tk \LaTeX Editor Programming Guide}
|
||||
\maketitle
|
||||
\author{Sergey Kalinin (aka BanZaj) 17/06/2002}
|
||||
\section{Подключение модуля}
|
||||
|
||||
Для загрузки нового модуля необходимо файл скрипта (filename.tcl) разместить в каталоге lib/modules/. Файл будет загружен автоматически при старте программы.
|
||||
|
||||
\section{Глобальные переменные}
|
||||
\subsection{Расположение файлов}
|
||||
Для описания каталогов используется массив переменных \textit{dir}:
|
||||
\begin{itemize}
|
||||
\item dir(mod) - Каталог с модулями программы (modules) (сдесь и далее в скобках указано значение по умолчанию)
|
||||
\item dir(gui) - файлы настройки панелей инструментов (gui)
|
||||
\item dir(img) - каталог изображений (img)
|
||||
\item dir(msg) - каталог сообщений (msg), используется для локализации пользовательского интерфейса программы
|
||||
\item dir(tmpl) - шаблоны документов (template)
|
||||
\item dir(work) - рабочий каталог (~/.tktexeditor)
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Определение шрифтов}
|
||||
Для определения шрифтов для интерфейса и редактора используется массив переменных \textit{}:
|
||||
\begin{itemize}
|
||||
\item font(normal) - Обычный шрифт
|
||||
\item font(bold) - жирный шрифт
|
||||
\item font(editNormal) - обычный шрифт в редакторе
|
||||
\item font(editBold) - жирный шрифт в редакторе
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Определение цветовой гаммы}
|
||||
Для определения цветовой гаммы интерфейса и подсветки кода в редакторе определен массив \textit{color}
|
||||
|
||||
\subsubsection{Остальные переменные}
|
||||
\begin{itemize}
|
||||
\item \textit{tree} - имя Tree виджета
|
||||
\item \textit{nb} - имя NoteBook виджета редактра
|
||||
\item \textit{treeStruct} - имя Tree для структуры документа
|
||||
\item \textit{lblList} - имя списка меток
|
||||
\item \textit{module()} - массив переменных содержащий полные имена внешних модулей (см lib/modules/module.tcl)
|
||||
\item files() - массив переменных с именами открытых файлов
|
||||
\item \textit{activeFile} - имя активной ноды
|
||||
Например для извлечения имени активного файла необходимо :
|
||||
\begin{verbatim}
|
||||
if {$activeFile == ""} {return} <-- проверка
|
||||
set text "$nb.f$activeFile.f.text" <-- имя текстового виджета
|
||||
set fullPath [lindex $files($activeFile) 0] <-- полный путь к файлу
|
||||
\end{verbatim}
|
||||
|
||||
\end{itemize}
|
||||
|
||||
|
||||
|
||||
\end{document}
|
||||
|
||||
|
||||
|
||||
|
||||
|
145
doc/tle_api_guide/index.html
Executable file
145
doc/tle_api_guide/index.html
Executable file
|
@ -0,0 +1,145 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2K.1beta (1.57)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Tk LATEXEditor Programming Guide</TITLE>
|
||||
<META NAME="description" CONTENT="Tk LATEXEditor Programming Guide">
|
||||
<META NAME="keywords" CONTENT="tle_api_guide">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-r">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="tle_api_guide.css">
|
||||
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
|
||||
<H1 ALIGN="CENTER">Tk L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>XEditor Programming Guide</H1>
|
||||
<P ALIGN="CENTER"><STRONG>Sergey Kalinin (aka BanZaj) 17/06/2002</STRONG></P>
|
||||
|
||||
<H1><A NAME="SECTION00010000000000000000">
|
||||
ðÏÄËÌÀÞÅÎÉÅ ÍÏÄÕÌÑ</A>
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
äÌÑ ÚÁÇÒÕÚËÉ ÎÏ×ÏÇÏ ÍÏÄÕÌÑ ÎÅÏÂÈÏÄÉÍÏ ÆÁÊÌ ÓËÒÉÐÔÁ (filename.tcl) ÒÁÚÍÅÓÔÉÔØ × ËÁÔÁÌÏÇÅ lib/modules/. æÁÊÌ ÂÕÄÅÔ ÚÁÇÒÕÖÅÎ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÒÉ ÓÔÁÒÔÅ ÐÒÏÇÒÁÍÍÙ.
|
||||
|
||||
<P>
|
||||
|
||||
<H1><A NAME="SECTION00020000000000000000">
|
||||
çÌÏÂÁÌØÎÙÅ ÐÅÒÅÍÅÎÎÙÅ</A>
|
||||
</H1>
|
||||
|
||||
<H2><A NAME="SECTION00021000000000000000">
|
||||
òÁÓÐÏÌÏÖÅÎÉÅ ÆÁÊÌÏ×</A>
|
||||
</H2>
|
||||
äÌÑ ÏÐÉÓÁÎÉÑ ËÁÔÁÌÏÇÏ× ÉÓÐÏÌØÚÕÅÔÓÑ ÍÁÓÓÉ× ÐÅÒÅÍÅÎÎÙÈ <I>dir</I>:
|
||||
|
||||
<UL>
|
||||
<LI>dir(mod) - ëÁÔÁÌÏÇ Ó ÍÏÄÕÌÑÍÉ ÐÒÏÇÒÁÍÍÙ (modules) (ÓÄÅÓØ É ÄÁÌÅÅ × ÓËÏÂËÁÈ ÕËÁÚÁÎÏ ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ)
|
||||
</LI>
|
||||
<LI>dir(gui) - ÆÁÊÌÙ ÎÁÓÔÒÏÊËÉ ÐÁÎÅÌÅÊ ÉÎÓÔÒÕÍÅÎÔÏ× (gui)
|
||||
</LI>
|
||||
<LI>dir(img) - ËÁÔÁÌÏÇ ÉÚÏÂÒÁÖÅÎÉÊ (img)
|
||||
</LI>
|
||||
<LI>dir(msg) - ËÁÔÁÌÏÇ ÓÏÏÂÝÅÎÉÊ (msg), ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÌÏËÁÌÉÚÁÃÉÉ ÐÏÌØÚÏ×ÁÔÅÌØÓËÏÇÏ ÉÎÔÅÒÆÅÊÓÁ ÐÒÏÇÒÁÍÍÙ
|
||||
</LI>
|
||||
<LI>dir(tmpl) - ÛÁÂÌÏÎÙ ÄÏËÕÍÅÎÔÏ× (template)
|
||||
</LI>
|
||||
<LI>dir(work) - ÒÁÂÏÞÉÊ ËÁÔÁÌÏÇ ( /.tktexeditor)
|
||||
</LI>
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00022000000000000000">
|
||||
ïÐÒÅÄÅÌÅÎÉÅ ÛÒÉÆÔÏ×</A>
|
||||
</H2>
|
||||
äÌÑ ÏÐÒÅÄÅÌÅÎÉÑ ÛÒÉÆÔÏ× ÄÌÑ ÉÎÔÅÒÆÅÊÓÁ É ÒÅÄÁËÔÏÒÁ ÉÓÐÏÌØÚÕÅÔÓÑ ÍÁÓÓÉ× ÐÅÒÅÍÅÎÎÙÈ :
|
||||
|
||||
<UL>
|
||||
<LI>font(normal) - ïÂÙÞÎÙÊ ÛÒÉÆÔ
|
||||
</LI>
|
||||
<LI>font(bold) - ÖÉÒÎÙÊ ÛÒÉÆÔ
|
||||
</LI>
|
||||
<LI>font(editNormal) - ÏÂÙÞÎÙÊ ÛÒÉÆÔ × ÒÅÄÁËÔÏÒÅ
|
||||
</LI>
|
||||
<LI>font(editBold) - ÖÉÒÎÙÊ ÛÒÉÆÔ × ÒÅÄÁËÔÏÒÅ
|
||||
</LI>
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00023000000000000000">
|
||||
ïÐÒÅÄÅÌÅÎÉÅ Ã×ÅÔÏ×ÏÊ ÇÁÍÍÙ</A>
|
||||
</H2>
|
||||
äÌÑ ÏÐÒÅÄÅÌÅÎÉÑ Ã×ÅÔÏ×ÏÊ ÇÁÍÍÙ ÉÎÔÅÒÆÅÊÓÁ É ÐÏÄÓ×ÅÔËÉ ËÏÄÁ × ÒÅÄÁËÔÏÒÅ ÏÐÒÅÄÅÌÅÎ ÍÁÓÓÉ× <I>color</I>
|
||||
|
||||
<P>
|
||||
|
||||
<H3><A NAME="SECTION00023100000000000000">
|
||||
ïÓÔÁÌØÎÙÅ ÐÅÒÅÍÅÎÎÙÅ</A>
|
||||
</H3>
|
||||
|
||||
<UL>
|
||||
<LI><I>tree</I> - ÉÍÑ Tree ×ÉÄÖÅÔÁ
|
||||
</LI>
|
||||
<LI><I>nb</I> - ÉÍÑ NoteBook ×ÉÄÖÅÔÁ ÒÅÄÁËÔÒÁ
|
||||
</LI>
|
||||
<LI><I>treeStruct</I> - ÉÍÑ Tree ÄÌÑ ÓÔÒÕËÔÕÒÙ ÄÏËÕÍÅÎÔÁ
|
||||
</LI>
|
||||
<LI><I>lblList</I> - ÉÍÑ ÓÐÉÓËÁ ÍÅÔÏË
|
||||
</LI>
|
||||
<LI><I>module()</I> - ÍÁÓÓÉ× ÐÅÒÅÍÅÎÎÙÈ ÓÏÄÅÒÖÁÝÉÊ ÐÏÌÎÙÅ ÉÍÅÎÁ ×ÎÅÛÎÉÈ ÍÏÄÕÌÅÊ (ÓÍ lib/modules/module.tcl)
|
||||
</LI>
|
||||
<LI>files() - ÍÁÓÓÉ× ÐÅÒÅÍÅÎÎÙÈ Ó ÉÍÅÎÁÍÉ ÏÔËÒÙÔÙÈ ÆÁÊÌÏ×
|
||||
</LI>
|
||||
<LI><I>activeFile</I> - ÉÍÑ ÁËÔÉ×ÎÏÊ ÎÏÄÙ
|
||||
îÁÐÒÉÍÅÒ ÄÌÑ ÉÚ×ÌÅÞÅÎÉÑ ÉÍÅÎÉ ÁËÔÉ×ÎÏÇÏ ÆÁÊÌÁ ÎÅÏÂÈÏÄÉÍÏ :
|
||||
<PRE>
|
||||
if {$activeFile == ""} {return} <-- ÐÒÏ×ÅÒËÁ
|
||||
set text "$nb.f$activeFile.f.text" <-- ÉÍÑ ÔÅËÓÔÏ×ÏÇÏ ×ÉÄÖÅÔÁ
|
||||
set fullPath [lindex $files($activeFile) 0] <-- ÐÏÌÎÙÊ ÐÕÔØ Ë ÆÁÊÌÕ
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
</LI>
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
|
||||
<H1><A NAME="SECTION00030000000000000000">
|
||||
ï ÜÔÏÍ ÄÏËÕÍÅÎÔÅ ...</A>
|
||||
</H1>
|
||||
<STRONG>Tk L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>XEditor Programming Guide</STRONG><P>
|
||||
This document was generated using the
|
||||
<A HREF="http://www-dsed.llnl.gov/files/programs/unix/latex2html/manual/"><STRONG>LaTeX</STRONG>2<tt>HTML</tt></A> translator Version 2K.1beta (1.57)
|
||||
<P>
|
||||
Copyright © 1993, 1994, 1995, 1996,
|
||||
<A HREF="http://cbl.leeds.ac.uk/nikos/personal.html">Nikos Drakos</A>,
|
||||
Computer Based Learning Unit, University of Leeds.
|
||||
<BR>
|
||||
Copyright © 1997, 1998, 1999,
|
||||
<A HREF="http://www.maths.mq.edu.au/~ross/">Ross Moore</A>,
|
||||
Mathematics Department, Macquarie University, Sydney.
|
||||
<P>
|
||||
The command line arguments were: <BR>
|
||||
<STRONG>latex2html</STRONG> <TT>-no_navigation -split 0 /home/kalinin/projects/tcl/tle/doc/tle_api_guide.tex</TT>
|
||||
<P>
|
||||
The translation was initiated by on 2002-12-26
|
||||
<BR><HR>
|
||||
<ADDRESS>
|
||||
|
||||
2002-12-26
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
13
doc/tle_api_guide/labels.pl
Executable file
13
doc/tle_api_guide/labels.pl
Executable file
|
@ -0,0 +1,13 @@
|
|||
# LaTeX2HTML 2K.1beta (1.57)
|
||||
# Associate labels original text with physical files.
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
# LaTeX2HTML 2K.1beta (1.57)
|
||||
# labels from external_latex_labels array.
|
||||
|
||||
|
||||
1;
|
||||
|
30
doc/tle_api_guide/tle_api_guide.css
Executable file
30
doc/tle_api_guide/tle_api_guide.css
Executable file
|
@ -0,0 +1,30 @@
|
|||
/* Century Schoolbook font is very similar to Computer Modern Math: cmmi */
|
||||
.MATH { font-family: "Century Schoolbook", serif; }
|
||||
.MATH I { font-family: "Century Schoolbook", serif; font-style: italic }
|
||||
.BOLDMATH { font-family: "Century Schoolbook", serif; font-weight: bold }
|
||||
|
||||
/* implement both fixed-size and relative sizes */
|
||||
SMALL.XTINY { font-size : xx-small }
|
||||
SMALL.TINY { font-size : x-small }
|
||||
SMALL.SCRIPTSIZE { font-size : smaller }
|
||||
SMALL.FOOTNOTESIZE { font-size : small }
|
||||
SMALL.SMALL { }
|
||||
BIG.LARGE { }
|
||||
BIG.XLARGE { font-size : large }
|
||||
BIG.XXLARGE { font-size : x-large }
|
||||
BIG.HUGE { font-size : larger }
|
||||
BIG.XHUGE { font-size : xx-large }
|
||||
|
||||
/* heading styles */
|
||||
H1 { }
|
||||
H2 { }
|
||||
H3 { }
|
||||
H4 { }
|
||||
H5 { }
|
||||
|
||||
/* mathematics styles */
|
||||
DIV.displaymath { } /* math displays */
|
||||
TD.eqno { } /* equation-number cells */
|
||||
|
||||
|
||||
/* document-specific styles come next */
|
145
doc/tle_api_guide/tle_api_guide.html
Executable file
145
doc/tle_api_guide/tle_api_guide.html
Executable file
|
@ -0,0 +1,145 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2K.1beta (1.57)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Tk LATEXEditor Programming Guide</TITLE>
|
||||
<META NAME="description" CONTENT="Tk LATEXEditor Programming Guide">
|
||||
<META NAME="keywords" CONTENT="tle_api_guide">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-r">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="tle_api_guide.css">
|
||||
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
|
||||
<H1 ALIGN="CENTER">Tk L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>XEditor Programming Guide</H1>
|
||||
<P ALIGN="CENTER"><STRONG>Sergey Kalinin (aka BanZaj) 17/06/2002</STRONG></P>
|
||||
|
||||
<H1><A NAME="SECTION00010000000000000000">
|
||||
ðÏÄËÌÀÞÅÎÉÅ ÍÏÄÕÌÑ</A>
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
äÌÑ ÚÁÇÒÕÚËÉ ÎÏ×ÏÇÏ ÍÏÄÕÌÑ ÎÅÏÂÈÏÄÉÍÏ ÆÁÊÌ ÓËÒÉÐÔÁ (filename.tcl) ÒÁÚÍÅÓÔÉÔØ × ËÁÔÁÌÏÇÅ lib/modules/. æÁÊÌ ÂÕÄÅÔ ÚÁÇÒÕÖÅÎ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÒÉ ÓÔÁÒÔÅ ÐÒÏÇÒÁÍÍÙ.
|
||||
|
||||
<P>
|
||||
|
||||
<H1><A NAME="SECTION00020000000000000000">
|
||||
çÌÏÂÁÌØÎÙÅ ÐÅÒÅÍÅÎÎÙÅ</A>
|
||||
</H1>
|
||||
|
||||
<H2><A NAME="SECTION00021000000000000000">
|
||||
òÁÓÐÏÌÏÖÅÎÉÅ ÆÁÊÌÏ×</A>
|
||||
</H2>
|
||||
äÌÑ ÏÐÉÓÁÎÉÑ ËÁÔÁÌÏÇÏ× ÉÓÐÏÌØÚÕÅÔÓÑ ÍÁÓÓÉ× ÐÅÒÅÍÅÎÎÙÈ <I>dir</I>:
|
||||
|
||||
<UL>
|
||||
<LI>dir(mod) - ëÁÔÁÌÏÇ Ó ÍÏÄÕÌÑÍÉ ÐÒÏÇÒÁÍÍÙ (modules) (ÓÄÅÓØ É ÄÁÌÅÅ × ÓËÏÂËÁÈ ÕËÁÚÁÎÏ ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ)
|
||||
</LI>
|
||||
<LI>dir(gui) - ÆÁÊÌÙ ÎÁÓÔÒÏÊËÉ ÐÁÎÅÌÅÊ ÉÎÓÔÒÕÍÅÎÔÏ× (gui)
|
||||
</LI>
|
||||
<LI>dir(img) - ËÁÔÁÌÏÇ ÉÚÏÂÒÁÖÅÎÉÊ (img)
|
||||
</LI>
|
||||
<LI>dir(msg) - ËÁÔÁÌÏÇ ÓÏÏÂÝÅÎÉÊ (msg), ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÌÏËÁÌÉÚÁÃÉÉ ÐÏÌØÚÏ×ÁÔÅÌØÓËÏÇÏ ÉÎÔÅÒÆÅÊÓÁ ÐÒÏÇÒÁÍÍÙ
|
||||
</LI>
|
||||
<LI>dir(tmpl) - ÛÁÂÌÏÎÙ ÄÏËÕÍÅÎÔÏ× (template)
|
||||
</LI>
|
||||
<LI>dir(work) - ÒÁÂÏÞÉÊ ËÁÔÁÌÏÇ ( /.tktexeditor)
|
||||
</LI>
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00022000000000000000">
|
||||
ïÐÒÅÄÅÌÅÎÉÅ ÛÒÉÆÔÏ×</A>
|
||||
</H2>
|
||||
äÌÑ ÏÐÒÅÄÅÌÅÎÉÑ ÛÒÉÆÔÏ× ÄÌÑ ÉÎÔÅÒÆÅÊÓÁ É ÒÅÄÁËÔÏÒÁ ÉÓÐÏÌØÚÕÅÔÓÑ ÍÁÓÓÉ× ÐÅÒÅÍÅÎÎÙÈ :
|
||||
|
||||
<UL>
|
||||
<LI>font(normal) - ïÂÙÞÎÙÊ ÛÒÉÆÔ
|
||||
</LI>
|
||||
<LI>font(bold) - ÖÉÒÎÙÊ ÛÒÉÆÔ
|
||||
</LI>
|
||||
<LI>font(editNormal) - ÏÂÙÞÎÙÊ ÛÒÉÆÔ × ÒÅÄÁËÔÏÒÅ
|
||||
</LI>
|
||||
<LI>font(editBold) - ÖÉÒÎÙÊ ÛÒÉÆÔ × ÒÅÄÁËÔÏÒÅ
|
||||
</LI>
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00023000000000000000">
|
||||
ïÐÒÅÄÅÌÅÎÉÅ Ã×ÅÔÏ×ÏÊ ÇÁÍÍÙ</A>
|
||||
</H2>
|
||||
äÌÑ ÏÐÒÅÄÅÌÅÎÉÑ Ã×ÅÔÏ×ÏÊ ÇÁÍÍÙ ÉÎÔÅÒÆÅÊÓÁ É ÐÏÄÓ×ÅÔËÉ ËÏÄÁ × ÒÅÄÁËÔÏÒÅ ÏÐÒÅÄÅÌÅÎ ÍÁÓÓÉ× <I>color</I>
|
||||
|
||||
<P>
|
||||
|
||||
<H3><A NAME="SECTION00023100000000000000">
|
||||
ïÓÔÁÌØÎÙÅ ÐÅÒÅÍÅÎÎÙÅ</A>
|
||||
</H3>
|
||||
|
||||
<UL>
|
||||
<LI><I>tree</I> - ÉÍÑ Tree ×ÉÄÖÅÔÁ
|
||||
</LI>
|
||||
<LI><I>nb</I> - ÉÍÑ NoteBook ×ÉÄÖÅÔÁ ÒÅÄÁËÔÒÁ
|
||||
</LI>
|
||||
<LI><I>treeStruct</I> - ÉÍÑ Tree ÄÌÑ ÓÔÒÕËÔÕÒÙ ÄÏËÕÍÅÎÔÁ
|
||||
</LI>
|
||||
<LI><I>lblList</I> - ÉÍÑ ÓÐÉÓËÁ ÍÅÔÏË
|
||||
</LI>
|
||||
<LI><I>module()</I> - ÍÁÓÓÉ× ÐÅÒÅÍÅÎÎÙÈ ÓÏÄÅÒÖÁÝÉÊ ÐÏÌÎÙÅ ÉÍÅÎÁ ×ÎÅÛÎÉÈ ÍÏÄÕÌÅÊ (ÓÍ lib/modules/module.tcl)
|
||||
</LI>
|
||||
<LI>files() - ÍÁÓÓÉ× ÐÅÒÅÍÅÎÎÙÈ Ó ÉÍÅÎÁÍÉ ÏÔËÒÙÔÙÈ ÆÁÊÌÏ×
|
||||
</LI>
|
||||
<LI><I>activeFile</I> - ÉÍÑ ÁËÔÉ×ÎÏÊ ÎÏÄÙ
|
||||
îÁÐÒÉÍÅÒ ÄÌÑ ÉÚ×ÌÅÞÅÎÉÑ ÉÍÅÎÉ ÁËÔÉ×ÎÏÇÏ ÆÁÊÌÁ ÎÅÏÂÈÏÄÉÍÏ :
|
||||
<PRE>
|
||||
if {$activeFile == ""} {return} <-- ÐÒÏ×ÅÒËÁ
|
||||
set text "$nb.f$activeFile.f.text" <-- ÉÍÑ ÔÅËÓÔÏ×ÏÇÏ ×ÉÄÖÅÔÁ
|
||||
set fullPath [lindex $files($activeFile) 0] <-- ÐÏÌÎÙÊ ÐÕÔØ Ë ÆÁÊÌÕ
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
</LI>
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
|
||||
<H1><A NAME="SECTION00030000000000000000">
|
||||
ï ÜÔÏÍ ÄÏËÕÍÅÎÔÅ ...</A>
|
||||
</H1>
|
||||
<STRONG>Tk L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>XEditor Programming Guide</STRONG><P>
|
||||
This document was generated using the
|
||||
<A HREF="http://www-dsed.llnl.gov/files/programs/unix/latex2html/manual/"><STRONG>LaTeX</STRONG>2<tt>HTML</tt></A> translator Version 2K.1beta (1.57)
|
||||
<P>
|
||||
Copyright © 1993, 1994, 1995, 1996,
|
||||
<A HREF="http://cbl.leeds.ac.uk/nikos/personal.html">Nikos Drakos</A>,
|
||||
Computer Based Learning Unit, University of Leeds.
|
||||
<BR>
|
||||
Copyright © 1997, 1998, 1999,
|
||||
<A HREF="http://www.maths.mq.edu.au/~ross/">Ross Moore</A>,
|
||||
Mathematics Department, Macquarie University, Sydney.
|
||||
<P>
|
||||
The command line arguments were: <BR>
|
||||
<STRONG>latex2html</STRONG> <TT>-no_navigation -split 0 /home/kalinin/projects/tcl/tle/doc/tle_api_guide.tex</TT>
|
||||
<P>
|
||||
The translation was initiated by on 2002-12-26
|
||||
<BR><HR>
|
||||
<ADDRESS>
|
||||
|
||||
2002-12-26
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
27
doc/tle_usr_manual.aux
Executable file
27
doc/tle_usr_manual.aux
Executable file
|
@ -0,0 +1,27 @@
|
|||
\relax
|
||||
\catcode`"\active
|
||||
\select@language{russian}
|
||||
\@writefile{toc}{\select@language{russian}}
|
||||
\@writefile{lof}{\select@language{russian}}
|
||||
\@writefile{lot}{\select@language{russian}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {1}\IeC {\CYRN }\IeC {\cyra }\IeC {\cyrz }\IeC {\cyrn }\IeC {\cyra }\IeC {\cyrch }\IeC {\cyre }\IeC {\cyrn }\IeC {\cyri }\IeC {\cyre }}{1}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}\IeC {\CYRO }\IeC {\cyrp }\IeC {\cyri }\IeC {\cyrs }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyri }\IeC {\cyre } \IeC {\cyrf }\IeC {\cyru }\IeC {\cyrn }\IeC {\cyrk }\IeC {\cyrc }\IeC {\cyri }\IeC {\cyrishrt }}{1}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}\IeC {\CYRN }\IeC {\cyre }\IeC {\cyro }\IeC {\cyrb }\IeC {\cyrh }\IeC {\cyro }\IeC {\cyrd }\IeC {\cyri }\IeC {\cyrm }\IeC {\cyro }\IeC {\cyre } \IeC {\CYRP }\IeC {\CYRO }}{2}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {2}\IeC {\CYRN }\IeC {\cyra }\IeC {\cyrch }\IeC {\cyra }\IeC {\cyrl }\IeC {\cyro } \IeC {\cyrr }\IeC {\cyra }\IeC {\cyrb }\IeC {\cyro }\IeC {\cyrt }\IeC {\cyrery }}{2}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3}\IeC {\CYRR }a\IeC {\cyrb }\IeC {\cyro }\IeC {\cyrt }\IeC {\cyra } \IeC {\cyrs } \IeC {\cyrd }\IeC {\cyro }\IeC {\cyrk }\IeC {\cyru }\IeC {\cyrm }\IeC {\cyre }\IeC {\cyrn }\IeC {\cyrt }\IeC {\cyro }\IeC {\cyrm }}{3}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}\IeC {\CYRR }\IeC {\cyre }\IeC {\cyrd }\IeC {\cyra }\IeC {\cyrk }\IeC {\cyrt }\IeC {\cyri }\IeC {\cyrr }\IeC {\cyro }\IeC {\cyrv }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyri }\IeC {\cyre }}{3}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.1}\IeC {\CYRV }\IeC {\cyrs }\IeC {\cyrt }\IeC {\cyra }\IeC {\cyrv }\IeC {\cyrk }\IeC {\cyra } \IeC {\cyrt }\IeC {\cyre }\IeC {\cyrg }\IeC {\cyro }\IeC {\cyrv }}{3}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.2}\IeC {\CYRP }\IeC {\cyro }\IeC {\cyri }\IeC {\cyrs }\IeC {\cyrk } \IeC {\cyri } \IeC {\cyrz }\IeC {\cyra }\IeC {\cyrm }\IeC {\cyre }\IeC {\cyrn }\IeC {\cyra } \IeC {\cyrt }\IeC {\cyre }\IeC {\cyrk }\IeC {\cyrs }\IeC {\cyrt }\IeC {\cyra }}{4}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}\IeC {\CYRP }\IeC {\cyre }\IeC {\cyrr }\IeC {\cyre }\IeC {\cyrk }\IeC {\cyro }\IeC {\cyrd }\IeC {\cyri }\IeC {\cyrr }\IeC {\cyro }\IeC {\cyrv }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyri }\IeC {\cyre }}{4}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}\IeC {\CYRP }\IeC {\cyrr }\IeC {\cyre }\IeC {\cyrd }\IeC {\cyrp }\IeC {\cyrr }\IeC {\cyro }\IeC {\cyrs }\IeC {\cyrm }\IeC {\cyro }\IeC {\cyrt }\IeC {\cyrr } \IeC {\cyrt }\IeC {\cyre }\IeC {\cyrk }\IeC {\cyrs }\IeC {\cyrt }\IeC {\cyra } \IeC {\cyri } \IeC {\cyrf }\IeC {\cyro }\IeC {\cyrr }\IeC {\cyrm }\IeC {\cyru }\IeC {\cyrl }}{4}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}\IeC {\CYRP }\IeC {\cyrr }\IeC {\cyro }\IeC {\cyrv }\IeC {\cyre }\IeC {\cyrr }\IeC {\cyrk }\IeC {\cyra } \IeC {\cyro }\IeC {\cyrr }\IeC {\cyrf }\IeC {\cyro }\IeC {\cyrg }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrf }\IeC {\cyri }\IeC {\cyri }}{5}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}\IeC {\CYRP }\IeC {\cyrr }\IeC {\cyre }\IeC {\cyro }\IeC {\cyrb }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrz }\IeC {\cyro }\IeC {\cyrv }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyri }\IeC {\cyre } \IeC {\cyrv } \IeC {\cyrr }\IeC {\cyra }\IeC {\cyrz }\IeC {\cyrl }\IeC {\cyri }\IeC {\cyrch }\IeC {\cyrn }\IeC {\cyrery }\IeC {\cyre } \IeC {\cyrf }\IeC {\cyro }\IeC {\cyrr }\IeC {\cyrm }\IeC {\cyra }\IeC {\cyrt }\IeC {\cyrery }}{5}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}\IeC {\CYRP }\IeC {\cyrr }\IeC {\cyre }\IeC {\cyrd }\IeC {\cyrv }\IeC {\cyra }\IeC {\cyrr }\IeC {\cyri }\IeC {\cyrt }\IeC {\cyre }\IeC {\cyrl }\IeC {\cyrsftsn }\IeC {\cyrn }\IeC {\cyrery }\IeC {\cyrishrt } \IeC {\cyrp }\IeC {\cyrr }\IeC {\cyro }\IeC {\cyrs }\IeC {\cyrm }\IeC {\cyro }\IeC {\cyrt }\IeC {\cyrr } \IeC {\cyrd }\IeC {\cyro }\IeC {\cyrk }\IeC {\cyru }\IeC {\cyrm }\IeC {\cyre }\IeC {\cyrn }\IeC {\cyrt }\IeC {\cyra }}{6}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4}\IeC {\CYRN }\IeC {\cyra }\IeC {\cyrs }\IeC {\cyrt }\IeC {\cyrr }\IeC {\cyro }\IeC {\cyrishrt }\IeC {\cyrk }\IeC {\cyra }}{6}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}\IeC {\CYRK }\IeC {\cyro }\IeC {\cyrn }\IeC {\cyrf }\IeC {\cyri }\IeC {\cyrg }\IeC {\cyru }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrc }\IeC {\cyri }\IeC {\cyro }\IeC {\cyrn }\IeC {\cyrn }\IeC {\cyrery }\IeC {\cyrishrt } \IeC {\cyrf }\IeC {\cyra }\IeC {\cyrishrt }\IeC {\cyrl }}{6}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}\IeC {\CYRP }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyre }\IeC {\cyrl }\IeC {\cyre }\IeC {\cyrishrt } \IeC {\cyri }\IeC {\cyrn }\IeC {\cyrs }\IeC {\cyrt }\IeC {\cyrr }\IeC {\cyru }\IeC {\cyrm }\IeC {\cyre }\IeC {\cyrn }\IeC {\cyrt }\IeC {\cyro }\IeC {\cyrv }}{9}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.1}\IeC {\CYRO }\IeC {\cyrp }\IeC {\cyri }\IeC {\cyrs }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyri }\IeC {\cyre } \IeC {\cyrf }\IeC {\cyru }\IeC {\cyrn }\IeC {\cyrk }\IeC {\cyrc }\IeC {\cyri }\IeC {\cyrishrt }}{9}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.2}\IeC {\CYRN }\IeC {\cyra }\IeC {\cyri }\IeC {\cyrm }\IeC {\cyre }\IeC {\cyrn }\IeC {\cyro }\IeC {\cyrv }\IeC {\cyra }\IeC {\cyrn }\IeC {\cyri }\IeC {\cyre } \IeC {\cyrf }\IeC {\cyra }\IeC {\cyrishrt }\IeC {\cyrl }\IeC {\cyra }}{10}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.3}\IeC {\CYRF }\IeC {\cyro }\IeC {\cyrr }\IeC {\cyrm }\IeC {\cyra }\IeC {\cyrt } \IeC {\cyrf }\IeC {\cyra }\IeC {\cyrishrt }\IeC {\cyrl }\IeC {\cyra }}{10}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.4}\IeC {\CYRP }\IeC {\cyrr }\IeC {\cyri }\IeC {\cyrm }\IeC {\cyre }\IeC {\cyrr }}{10}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {5}"\IeC {\CYRG }\IeC {\cyro }\IeC {\cyrr }\IeC {\cyrya }\IeC {\cyrch }\IeC {\cyri }\IeC {\cyre }" \IeC {\cyrk }\IeC {\cyrl }\IeC {\cyra }\IeC {\cyrv }\IeC {\cyri }\IeC {\cyrsh }\IeC {\cyri }}{11}}
|
BIN
doc/tle_usr_manual.dvi
Executable file
BIN
doc/tle_usr_manual.dvi
Executable file
Binary file not shown.
532
doc/tle_usr_manual.tex
Executable file
532
doc/tle_usr_manual.tex
Executable file
|
@ -0,0 +1,532 @@
|
|||
%----------------------------------------
|
||||
% TkTeXEditor |
|
||||
%----------------------------------------
|
||||
|
||||
\documentclass[12pt]{article}
|
||||
\usepackage[koi8-r]{inputenc}
|
||||
\usepackage[english,russian]{babel}
|
||||
|
||||
\title{Расширенный \LaTeX{} редактор}
|
||||
\author{Сергей Калинин, Константин Михайленко}
|
||||
\date{}
|
||||
|
||||
\begin{document}
|
||||
\maketitle
|
||||
|
||||
\section{Назначение}
|
||||
Программа предназначена для создания и редактирования файлов в рамках издательской системы \TeX{} (\LaTeX).
|
||||
\subsection{Описание функций}
|
||||
Ниже представлен список основных функций редактора:
|
||||
|
||||
Одновременное редактирование нескольких файлов.
|
||||
|
||||
Создание нового документа из шаблона.
|
||||
|
||||
Отображение структуры документа ввиде дерева.
|
||||
|
||||
Отображение ввиде дерева включенных внешних документов.
|
||||
|
||||
Вывод списка меток и ссылок.
|
||||
|
||||
Подсветка синтаксиса.
|
||||
|
||||
Поиск и замена текста.
|
||||
|
||||
Автодобивка команд.
|
||||
|
||||
Преобразование .tex файла в dvi, ps, pdf, html (при помощи внешних программ) и просмотр полученного
|
||||
документа.
|
||||
|
||||
Отображение процесса компиляции и преобразования документа и вывод ошибок.
|
||||
|
||||
Печать исходного кода.
|
||||
|
||||
Настраиваемые панели инструментов.
|
||||
|
||||
Вставка настраиваемых готовых конструкций кода.
|
||||
|
||||
Интерактивная проверка орфографии (при помощи ispell).
|
||||
|
||||
Автоматический перенос строк при достижении определенной в конфигурации длинны.
|
||||
|
||||
Авто-сохранение документа через определённый промежуток времени.
|
||||
|
||||
Сохранение позиции редактирования в открытых файлах при выходе из программы и возобновление
|
||||
редактирования этих файлов при следующем запуске программы.
|
||||
|
||||
Возможность подключения дополнительных внешних программ.
|
||||
|
||||
Настраиваемые цветовые схемы и графические темы панелей инструментов.
|
||||
|
||||
Подключение внешнего редактора.
|
||||
|
||||
Простой механизм локализации интерфейса программы. В данный момент редактор локализован на русском
|
||||
и английском языках.
|
||||
|
||||
Предпросмотр математических формул и любых частей текста а также сохранение их как изображения.
|
||||
|
||||
Поддерживается множество кодировок и перекодировка из одной в другую.
|
||||
|
||||
Автоматическое подключение нужной кодировки при использовании декларации пакета \emph{inputenc}.
|
||||
|
||||
\subsection{Необходимое ПО}
|
||||
Программа написана на интерпретируемом языке 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).
|
||||
О настройке данных программ будет рассказано ниже.
|
||||
|
||||
\section{Начало работы}
|
||||
Программа запускается командой \emph{/usr/bin/tle} - если она установлена из rpm-пакета, или
|
||||
запускается файл \emph{tle.tcl} из дистрибутивного комплекта.
|
||||
После запуска в домашнем каталоге создается рабочая папка \emph{.tle} содержащая конфигурационные
|
||||
файлы.
|
||||
|
||||
Далее можете приступать к редактированию файлов. Можно открыть уже существующие документы
|
||||
\textit{Файл - Открыть} либо создавать новые \textit{Файл - Новый}. Программа, также,
|
||||
поддерживает создание документов из заранее заданных шаблонов \textit{Файл - Новый - Создать из
|
||||
шаблона}, которые, Вы можете создавать самостоятельно, в появившимся диалоге выбирете нужный шаблон
|
||||
и введите требуемое имя и нажмите кнопку \textit{Создать}
|
||||
|
||||
Tk \LaTeX{} Editor позволяет редактировать множество файлов, переключаясь между закладками
|
||||
редактора.
|
||||
|
||||
Сохранение документа производиться нажатием кнопки на панели инструментов, либо в меню \emph{Файл -
|
||||
Сохранить} либо нажатием сочетания клавиш \emph{Ctrl - S}, либо автоматически, согласно установкам
|
||||
в конфигурационном файле.
|
||||
|
||||
|
||||
\section{Рaбота с документом}
|
||||
|
||||
\subsection{Редактирование}
|
||||
|
||||
При редактировании текста доступны режимы ввода и замены символов, переключаемые клавишей
|
||||
\emph{Insert}. При вводе текста есть возможность ограничить длину строки текста определённым
|
||||
количеством символов, которое задаётся в конфигурационном файле, так же как и включение и
|
||||
выключение режима автопереноса. Т.е. при достижении длины строки текста в заданное количество
|
||||
символов, редактор автоматически начнет ввод со следующей строки.
|
||||
Также есть возможность перемещения курсора на строку с заданным номером - \emph{Ctrl - G}.
|
||||
|
||||
\subsubsection{Вставка тегов}
|
||||
Для облегчения и ускорения процесса вёрстки документа редактор TLE позволяет вставлять готовые
|
||||
конструкции, используя настраиваемые панели инструментов.
|
||||
Например конструкции вида \verb"\textsl{Редактирование}" можно вставлять, предварительно выделив
|
||||
требуемый текст, нажав соответствующую кнопку панели инструментов. Также при добавлении элементов
|
||||
списка \verb"\item" есть возможность автоматической вставки тега \(следующего элемента списка\) в
|
||||
начале следующей строки при нажатии клавиши \emph{Enter} в конце ввода строки текста.
|
||||
|
||||
Также, есть возможность добивки команд по начальным буквам - для этого, необходимо, после набора
|
||||
первых буква команды, нажать \emph{ALT-C} и, из появившегося списка, выбрать требуемое.
|
||||
Списки команд соответствуют пакетам системы \LaTeX. И могут быть дополнены пользователем.
|
||||
|
||||
В панели инструментов имеются диалоги для вставки изображения и таблицы, и многих других. В
|
||||
отдельную панель выделены математические символы и режимы.
|
||||
|
||||
\subsubsection{Поиск и замена текста}
|
||||
|
||||
Редактор TLE позволяет производить поиск и поиск с заменой текста в открытом документе. Данные
|
||||
функции доступны через меню \emph{Редактирование} или при нажатии клавиш \emph{Ctrl-F} и
|
||||
\emph{Ctrl-R} соответственно. Для простого поиска ведется история.
|
||||
|
||||
\subsection{Перекодирование}
|
||||
TLE поддерживает работу с множеством различных кодировок. При открытии \LaTeX-документа происходит
|
||||
считывание данных о кодировке документа, если используется пакет \emph{inputenc}. Если документ не
|
||||
содержит данных о кодовой странице то он будет отображен с использованием системной кодировки. В
|
||||
случае не совпадения кодовой страницы документа и Вашей системы документ будет отображён
|
||||
некорректно. Но это можно исправить, указав кодировку документа через меню \emph{Вид -
|
||||
Кодировка}.
|
||||
|
||||
Если Вы хотите сохранить документ в кодировке отличной от исходной то необходимо выбрать нужную
|
||||
кодовую страницу через меню \emph{Документ - Кодировка} и файл будет перекодирован при сохранении.
|
||||
|
||||
В случае если Вы используете пакет \emph{inputenc} но не правильно указали кодировку документа в
|
||||
описании пакета либо текущая кодировка документа не соответствует требуемой, при сохранении будет
|
||||
выдано предупреждение о не соответствии кодовых страниц.
|
||||
|
||||
\subsection{Предпросмотр текста и формул}
|
||||
При наличии в системе дополнительных программ, становится доступна функция предварительного
|
||||
просмотра математических формул и произвольных частей документа.
|
||||
Для осуществления данной операции необходимо в редактируемом документе выделить текст формулы, либо
|
||||
её часть, и нажать сочетание клавиш \emph{Alt-V}. Также можно выбрать пункт \emph{Показать формулу}
|
||||
в меню \emph{Редактирование} или при помощи всплывающего меню.
|
||||
|
||||
Для произвольного фрагмента текста операция идентична предыдущей с той лишь разницей, что необходимо
|
||||
нажать \emph{Alt-B} или меню \emph{Редактирование - Показать Текст}
|
||||
|
||||
\subsection{Проверка орфографии}
|
||||
Для проверки орфографии используется программа ispell.
|
||||
Вам необходимо выбрать в меню \emph{Документ - Орфография} или нажать кнопку в панели инструментов.
|
||||
В появившимся диалоге надо выбрать требуемый словарь и режим проверки - весь документ или с
|
||||
текущей позиции. При несовпадении слов в тексте и в словаре Вам будет предложен список возможных
|
||||
вариантов из которых можно выбрать нужный и заменить неправильное слово.
|
||||
|
||||
\subsection{Преобразование в различные форматы}
|
||||
Для преобразования файла в различные форматы используются внешние программы.
|
||||
Команды для их запуска описаны в конфигурационном файле tle.conf:
|
||||
|
||||
\begin{verbatim}
|
||||
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"
|
||||
\end{verbatim}
|
||||
|
||||
Если в команде встречается макрос \emph{\%fileName} то программа подставит вместо него имя текущего
|
||||
файла без расширения.
|
||||
|
||||
Вызов команд производиться как через меню \textit{Документ} - \textit{Преобразовать} так и через
|
||||
панель инструментов.
|
||||
Разница заключается лишь в том, что при вызове команды через меню будет вызван диалог, в котором
|
||||
можно изменить опции командной строки, заданной по умолчанию.
|
||||
А при вызове команды через панель инструментов будет использована последняя заданная команда для
|
||||
операции преобразования.
|
||||
|
||||
\subsection{Предварительный просмотр документа}
|
||||
После преобразования документа станет доступна возможность просмотра полученного результата.
|
||||
Команды для просмотра заданы в конфигурационном файле tle.conf, аналогично и командам конвертации.
|
||||
|
||||
\begin{verbatim}
|
||||
## PREVIEW ##
|
||||
set preview_cmd(dvi) "xdvi"
|
||||
set preview_cmd(ps) "gv"
|
||||
set preview_cmd(pdf) "acroread"
|
||||
set preview_cmd(html) "mozilla"
|
||||
\end{verbatim}
|
||||
|
||||
Вызвать команды просмотра можно как через меню \textit{Документ} - \textit{Предварительный просмотр}
|
||||
так и при помощи кнопок на панели инструментов.
|
||||
|
||||
\section{Настройка}
|
||||
|
||||
\subsection{Конфигурационный файл}
|
||||
|
||||
\textbf{Локализация}
|
||||
|
||||
\emph{set locale "en"} - установка языка интерфейса программы
|
||||
|
||||
\textbf{Временные файлы}
|
||||
|
||||
\emph{set backup(create) "Yes"} - создание резервных копий файлов
|
||||
|
||||
\emph{set backup(del) "No"} - удалять резервные копии
|
||||
|
||||
\emph{set backup(autosave) "Yes"} - автосохранение документа
|
||||
|
||||
\textbf{Встроенная Помощь}
|
||||
|
||||
\emph{set help(encode) "koi8-r"} - язык файлов помощи
|
||||
|
||||
\textbf{Параметры для ispell}
|
||||
|
||||
\emph{set ispell\_lib /usr/lib/ispell}
|
||||
|
||||
\emph{set ispell\_startindex "1.0"}
|
||||
|
||||
\textbf{Рабочие каталоги}
|
||||
|
||||
каталог для временных файлов
|
||||
|
||||
\begin{verbatim} set dir(tmp) [file join $env(HOME) tmp]
|
||||
\end{verbatim}
|
||||
|
||||
каталог для документов по умолчанию
|
||||
|
||||
\begin{verbatim} set dir(doc) [file join $env(HOME) doc my]
|
||||
\end{verbatim}
|
||||
|
||||
\textbf{Таймеры в миллисекундах}
|
||||
|
||||
\emph{set timers(refresh) 60000} - время автообновления структуры документа
|
||||
|
||||
\emph{set timers(autosave) 300000} - время автосохранения документа
|
||||
|
||||
\textbf{Настройки Интерфейс}
|
||||
|
||||
\emph{set gui(geometry) "750x550+0+0"} - установка геометрии основного окна
|
||||
|
||||
\emph{set gui(tabsLabel) "top"} - расположение заголовков закладок "top" или "bottom"
|
||||
|
||||
\emph{set theme "default" }- тема для панелей инструментов "default" или "stroke"
|
||||
|
||||
\textbf{Установка шрифтов}
|
||||
|
||||
\emph{set font(normal) "Arial 10 normal roman"} - нормальный шрифт интерфейса
|
||||
|
||||
\emph{set font(bold) "Arial 10 bold roman"} - жирный шрифт интерфейса
|
||||
|
||||
\textbf{Установка цветовых схем}
|
||||
|
||||
\emph{set color(selectbg) "\#55c4d1"} - цвет выделенной области
|
||||
|
||||
\emph{set color(bg) "\#bbbbbb"} - фон элементов интерфейса
|
||||
|
||||
\emph{set color(editBg) "\#cccccc"} - фон элементов редактирования
|
||||
|
||||
|
||||
\emph{set color(editFg) "\#000000"} - цвет шрифта элементов редактирования
|
||||
|
||||
\emph{set color(editTitleNormal) "\#000000"} - цвет заголовка закладки редактора нормальный
|
||||
|
||||
\emph{set color(editTitleModify) "\#0021ff"} - цвет заголовка закладкиредактора изменённый
|
||||
|
||||
\textbf{Подсветка текста}
|
||||
|
||||
\emph{set color(procName) "\#0021ff"} - процедуры
|
||||
|
||||
\emph{set color(operator) "\#0000a8"} - операторы
|
||||
|
||||
\emph{set color(keyWord) "\#0000a8"} - ключевые слова
|
||||
|
||||
\emph{set color(param) "\#6a0082" }- параметры
|
||||
|
||||
\emph{set color(subParam) "\#008282"} - подпараметры
|
||||
|
||||
\emph{set color(comments) "\#9b9b9b"} - коментарий
|
||||
|
||||
\emph{set color(var) "\#e50000"} - переменная
|
||||
|
||||
|
||||
\emph{set color(string) "\#168400"} - строка заключённая в кавычки
|
||||
|
||||
\emph{set color(brace) "\#d33434"} - скобка
|
||||
|
||||
\emph{set color(braceBG) "\#000000"} - фон подсвеченной скобки
|
||||
|
||||
\emph{set color(braceFG) "\#00feff"} - цвет подсвеченной скобки
|
||||
|
||||
\emph{set color(percent) "\#a500c6"} - знак процента
|
||||
|
||||
\emph{set color(bindKey) "\#a500c6"} - ключи
|
||||
|
||||
\textbf{Рельеф кнопок и элементов интерфейса}
|
||||
|
||||
доступны flat, groove, raised, ridge, solid, sunken or link
|
||||
|
||||
\emph{set relief(btn) link} - кнопки
|
||||
|
||||
доступны flat, groove, raised, ridge, solid, or sunken
|
||||
|
||||
\emph{set relief(menu) groove }- меню
|
||||
|
||||
\textbf{Включение панелей инструментов}
|
||||
|
||||
При добавлении своей панели инструментов необходимо прописать её в конфигурационном файле в формате
|
||||
\textit{tool(toolbar\_file\_name) flag}
|
||||
где flag = 0 - скрыть, 1- показать
|
||||
|
||||
\emph{set tool(main) 1} - основная панель
|
||||
|
||||
\emph{set tool(insert) 1} - панель для вставки элементов
|
||||
|
||||
\emph{set tool(math) 0} - математическая панель
|
||||
|
||||
\emph{set tool(format) 1} - панель форматирования
|
||||
|
||||
\textbf{Установки редактора}
|
||||
|
||||
\emph{set font(editNormal) "fixed"} - нормальный шрифт
|
||||
|
||||
\emph{set font(editBold) "fixed"} - полужирный шрифт
|
||||
|
||||
\emph{set editor(extern) "No"} - использовать внешний редактор
|
||||
|
||||
\emph{set editor(prog) "/usr/bin/emacs"} - внешний редактор
|
||||
|
||||
\emph{set editor(wrap) "word"} - автоперенос слов при отображении текста, доступно none, word or char
|
||||
|
||||
\emph{set editor(strWrap) "Yes"} - автоперенос текста при редактировании
|
||||
|
||||
\emph{set editor(strLen) 100} - количество символов в строке
|
||||
|
||||
\textbf{Опции преобразования документа и просмотра}
|
||||
|
||||
\emph{\%fileName} - имя текущего файла
|
||||
|
||||
\emph{\%dirName} - имя текущего каталога
|
||||
|
||||
\textbf{Преобразование latex в dvi}
|
||||
|
||||
\emph{set convert\_cmd(dvi) "latex"}
|
||||
|
||||
\textbf{Преобразование dvi в ps (PostScript)}
|
||||
|
||||
\emph{set convert\_cmd(ps) "dvips -Pwww -j0 -ta4 -o \%dirName/\%fileName.ps
|
||||
\%dirName/\%fileName.dvi"}
|
||||
|
||||
\textbf{Преобразование ps в pdf}
|
||||
|
||||
\emph{set convert\_cmd(pdf) "ps2pdf \%dirName/\%fileName.ps"}
|
||||
|
||||
\textbf{Преобразование latex в html}
|
||||
|
||||
\emph{set convert\_cmd(html) "latex2html -no\_navigation -split 0"}
|
||||
|
||||
\textbf{Преобразование ps в графическое изображение}
|
||||
|
||||
\emph{set convert\_cmd(img) "convert"}
|
||||
|
||||
\textbf{Просмотр результатов преобразования}
|
||||
|
||||
\emph{set preview\_cmd(dvi) "xdvi"}
|
||||
|
||||
\emph{set preview\_cmd(ps) "gv"}
|
||||
|
||||
\emph{set preview\_cmd(pdf) "acroread"}
|
||||
|
||||
\emph{set preview\_cmd(html) "mozilla"}
|
||||
|
||||
\textbf{Параметры отображения формул и частей текста}
|
||||
|
||||
\emph{set render(res) "150x150"} - разрешение картинки
|
||||
|
||||
\emph{set render(format) "gif"} - формат файла изображения
|
||||
|
||||
\emph{set render(bg) "white"} - цвет фона
|
||||
|
||||
\emph{set render(fg) "black"} - цвет шрифта
|
||||
|
||||
\emph{set render(trans) 0} - включение прозрачности
|
||||
|
||||
\emph{set render(aa) 1} - включение антиалиасинга
|
||||
|
||||
|
||||
\subsection{Панелей инструментов}
|
||||
Вы можете самостоятельно настраивать панели инструментов, т.е. добавлять кнопки и меню.
|
||||
Описание панелей инструментов (тул-баров) храниться в каталоге \texttt{share/gui/toolbar/}
|
||||
|
||||
\subsubsection{Описание функций}
|
||||
Для команд определяемых пользователем есть несколько функций для добавления тэгов в текст.
|
||||
|
||||
\begin{description}
|
||||
\item[\textit{\textbf{AddTextFont}}]~--- добавляет тэги вида <<\verb"\tiny{}">>.
|
||||
Формат вызова функции
|
||||
\begin{verbatim}
|
||||
AddTextFont Имя_Тэга
|
||||
\end{verbatim}
|
||||
\item[\textit{\textbf{AddTextDouble}}]~--- добавляет тэги вида <<\verb"\begin{center}" \ldots \verb"\end{center}">>.
|
||||
\begin{verbatim}
|
||||
AddTextDouble Начальный_Тег Наименование конечный_Тег
|
||||
\end{verbatim}
|
||||
\item[\textit{\textbf{AddTextCommand}}]~--- для добавления простых тэгов вида <<\verb"\beta">>.
|
||||
\begin{verbatim}
|
||||
AddTextCommand Имя_Тэга
|
||||
\end{verbatim}
|
||||
\end{description}
|
||||
В командах начальный слэш следует опускать, он добавляется автоматически
|
||||
|
||||
\subsubsection{Наименование файла}
|
||||
Для создания новой панели инструментов создайте в каталоге \texttt{toolbar} файл с любым именем без
|
||||
расширения кроме main (это зарезервированное слово под основную панель)
|
||||
|
||||
\subsubsection{Формат файла}
|
||||
Строки начинающиеся на <<\verb"#">> являются комментарием и игнорируются так же как и пустые строки
|
||||
|
||||
Для создания меню:
|
||||
\begin{verbatim}
|
||||
ключевое_слово иконка "Текст подсказки"
|
||||
\end{verbatim}
|
||||
|
||||
Для создания команд в меню:
|
||||
\begin{verbatim}
|
||||
ключевое_слово "команда" "Текст подсказки" иконка
|
||||
\end{verbatim}
|
||||
|
||||
Параметр \textit{иконка} не является обязательным если он не указан то в меню будет вставлен текст
|
||||
если указан - то изображение
|
||||
|
||||
Для создания кнопки:
|
||||
\begin{verbatim}
|
||||
ключевое_слово "команда" Иконка "Текст подсказки"
|
||||
\end{verbatim}
|
||||
|
||||
\subsubsection{Пример}
|
||||
\begin{verbatim}
|
||||
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"
|
||||
\end{verbatim}
|
||||
|
||||
Здесь
|
||||
\texttt{menu}, \texttt{button}, \texttt{cmd}, \texttt{imagecmd}~--- ключевые слова для создания
|
||||
соотвественно меню, кнопки меню и кнопки с изображением;
|
||||
\texttt{cmd~separator}~--- добавление в меню разделителя
|
||||
|
||||
|
||||
\section{"Горячие" клавиши}
|
||||
|
||||
\emph{Ctrl + A} - Сохранить файл под другим именем.
|
||||
|
||||
\emph{Ctrl + C} - Команда копирует выделенный в окне редактора текст в буфер обмена.
|
||||
|
||||
\emph{Ctrl + F} - Поиск заданного выражения в тексте.
|
||||
|
||||
\emph{Ctrl + G} - Перейти к строке с заданным номером.
|
||||
|
||||
\emph{Ctrl + N} - Создать новый файл. Команда вызывает диалог создания файла.
|
||||
|
||||
\emph{Ctrl + O} - Открыть файл.
|
||||
|
||||
\emph{Ctrl + P} - Печать файла (кода).
|
||||
|
||||
\emph{Ctrl + Q} - Выход.
|
||||
|
||||
\emph{Ctrl + R} - Поиск и замена заданного выражения в тексте.
|
||||
|
||||
\emph{Ctrl + S} - Сохранить файл. Сохраняется файл, который открыт в текущем окне редактора.
|
||||
|
||||
\emph{Ctrl + T} - Поменять местами два символа, стоящих до и после курсора.
|
||||
|
||||
\emph{Ctrl + U} - Перемещает курсор на соответствующую открытую или закрытую скобку.
|
||||
|
||||
\emph{Ctrl + V} - Вставка фрагмента текста из буфера обмена, скопированного предыдущей командой.
|
||||
|
||||
\emph{Ctrl + W} - Закрыть файл. Команда закрывает файл открытый в текущем окне редактора.
|
||||
|
||||
\emph{Ctrl + X} - Вырезать выделенный фрагмент текста в буфер обмена.
|
||||
|
||||
\emph{Ctrl + Z} - Отменить операцию
|
||||
|
||||
\emph{Ctrl + PageUp} - Переключение закладок (окон редактора) назад (к предыдущему открытому файлу).
|
||||
|
||||
\emph{Ctrl + PageDown} - Переключение закладок (окон редактора) вперед (к следующему открытому файлу).
|
||||
|
||||
\emph{F1} - Вызов системы помощи по программе и по языку. Если в тексте выделить команду и нажать
|
||||
данную клавишу то будет выведена на экран подсказка по этой команде.
|
||||
|
||||
\emph{F2} - Разделение окна редактора
|
||||
|
||||
\emph{F3} - Повторный поиск, команда работает с последним введенным выражением в диалоговом окне
|
||||
поиска
|
||||
|
||||
\emph{F5} - Компиляция файла в DVI формат
|
||||
|
||||
\emph{F6} - Конвертирование DVI файла в PS.
|
||||
|
||||
\emph{F7} - Конвертирование DVI файла в PDF.
|
||||
|
||||
\emph{Alt + T} - Предпросмотр выделенного участка текста
|
||||
|
||||
\emph{Alt + C} - Автодобивка команд.
|
||||
|
||||
\emph{Alt + F} - Предпросмотр математической формулы
|
||||
|
||||
\end{document}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
cnt ghbdt
|
||||
|
||||
|
||||
|
||||
|
||||
|
432
doc/tle_usr_manual/index.html
Executable file
432
doc/tle_usr_manual/index.html
Executable file
|
@ -0,0 +1,432 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2K.1beta (1.57)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Расширенный LATEXредактор</TITLE>
|
||||
<META NAME="description" CONTENT="Расширенный LATEXредактор">
|
||||
<META NAME="keywords" CONTENT="tle_usr_manual">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-r">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="tle_usr_manual.css">
|
||||
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<H1 ALIGN="CENTER">Расширенный L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>Xредактор</H1>
|
||||
<P ALIGN="CENTER"><STRONG>Сергей Калинин, Константин Михайленко</STRONG></P>
|
||||
|
||||
<P>
|
||||
|
||||
<H1><A NAME="SECTION00010000000000000000">
|
||||
Назначение</A>
|
||||
</H1>
|
||||
Программа предназначена для создания и редактирования файлов в рамках издательской системы T<SMALL>E</SMALL>X (L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X).
|
||||
|
||||
<H2><A NAME="SECTION00011000000000000000">
|
||||
Описание функций</A>
|
||||
</H2>
|
||||
Одновременное редактирование нескольких файлов.
|
||||
Создание нового документа из шаблона.
|
||||
Отображение структуры документа ввиде дерева.
|
||||
Отображение ввиде дерева включенных внешних документов.
|
||||
Вывод списка меток и ссылок.
|
||||
Подсветка синтаксиса.
|
||||
Поиск и замена текста.
|
||||
Автодобивка команд.
|
||||
Преобразование .tex файла в dvi, ps, pdf, html (при помощи внешних программ) и просмотр полученного
|
||||
документа.
|
||||
Отображение процесса компиляции и преобразования документа и вывод ошибок.
|
||||
Печать исходного кода.
|
||||
Настраиваемые панели инструментов.
|
||||
Вставка настраиваемых готовых конструкций кода.
|
||||
Интерактивная проверка орфографии (при помощи ispell).
|
||||
Автоматический перенос строк при достижении определенной в конфигурации длинны.
|
||||
Автосохранение документа через определённый промежуток времени.
|
||||
Сохранение позиции редактирования в открытых файлах при выходе из программы и возобновление
|
||||
редактирования этих файлов при следующем запуске программы.
|
||||
Возможность подключения дополнительных внешних программ.
|
||||
Настраиваемые цветовые схемы и графические темы панелей инструментов.
|
||||
Подключение внешнего редактора.
|
||||
Простой механизм локализации интерфейса программы. В данный момент редактор локализован на русском
|
||||
и английском языках.
|
||||
Предпросмотр математических формул и любых частей текста а также сохранение их как изображения.
|
||||
Поддерживается множество кодировок и перекодировка из одной в другую.
|
||||
Автоматическое подключение нужной кодировки при использовании декларации пакета <I>inputenc</I>.
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00012000000000000000">
|
||||
Необходимое ПО</A>
|
||||
</H2>
|
||||
Программа написана на интерпретируемом языке 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).
|
||||
О настройке данных программ будет рассказано ниже.
|
||||
|
||||
<P>
|
||||
|
||||
<H1><A NAME="SECTION00020000000000000000">
|
||||
Начало работы</A>
|
||||
</H1>
|
||||
Программа запускается командой <I>/usr/bin/tle</I> - если она установлена из rpm-пакета, или
|
||||
запускается файл <I>tle.tcl</I> из дистрибутивного комплекта.
|
||||
После запуска в домашнем каталоге создается рабочая папка <I>.tle</I> содержащая конфигурационные файлы.
|
||||
|
||||
<P>
|
||||
Далее можете приступать к редактированию файлов. Можно открыть уже существующие документы
|
||||
<I>Файл - Открыть</I> либо создавать новые <I>Файл - Новый</I>. Программа, также,
|
||||
поддерживает создание документов из заранее заданных шаблонов <I>Файл - Новый - Создать из
|
||||
шаблона</I>, которые, Вы можете создавать самостоятельно, в появившимся диалоге выбирете нужный шаблон
|
||||
и введите требуемое имя и нажмите кнопку <I>Создать</I>
|
||||
|
||||
<P>
|
||||
Tk LaTeX Editor позволяет редактировать множество файлов, переключаясь между закладками
|
||||
редактора.
|
||||
|
||||
<P>
|
||||
Сохранение документа производиться нажатием конпки на панели инструментов, либо в меню <I>Файл -
|
||||
Сохранить</I> либо нажатием сочитания клавиш <I>Ctrl - S</I>, либо автоматически, согласно установкам
|
||||
в конфигурационном файле.
|
||||
|
||||
<P>
|
||||
|
||||
<H1><A NAME="SECTION00030000000000000000">
|
||||
Настройка Панелей инструментов</A>
|
||||
</H1>
|
||||
Вы можете самостоятельно настраивать панели инструментов, т.е. добавлять кнопки и меню.
|
||||
Описание панелей инструментов (тул-баров) храниться в каталоге <TT>share/gui/toolbar/</TT>
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00031000000000000000">
|
||||
Описание функций</A>
|
||||
</H2>
|
||||
Для команд определяемых пользователем есть несколько функций для добавления тэгов в текст.
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG><I><B>AddTextFont</B></I></STRONG></DT>
|
||||
<DD> -- добавляет тэги вида «<code>\tiny{}</code>».
|
||||
Формат вызова функции
|
||||
<PRE>
|
||||
AddTextFont Имя_Тэга
|
||||
</PRE>
|
||||
</DD>
|
||||
<DT><STRONG><I><B>AddTextDouble</B></I></STRONG></DT>
|
||||
<DD> -- добавляет тэги вида «<code>\begin{center}" \ldots \verb"\end{center}</code>».
|
||||
<PRE>
|
||||
AddTextDouble Начальный_Тег Наименование конечный_Тег
|
||||
</PRE>
|
||||
</DD>
|
||||
<DT><STRONG><I><B>AddTextCommand</B></I></STRONG></DT>
|
||||
<DD> -- для добавления простых тэгов вида «<code>\beta</code>».
|
||||
<PRE>
|
||||
AddTextCommand Имя_Тэга
|
||||
</PRE>
|
||||
</DD>
|
||||
</DL>
|
||||
В командах начальный слэш следует опускать, он добавляется автоматически
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00032000000000000000">
|
||||
Наименование файла</A>
|
||||
</H2>
|
||||
Для создания новой панели инструментов создайте в каталоге <TT>toolbar</TT> файл с любым именем без
|
||||
расширения кроме main (это зарезервированное слово под основную панель)
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00033000000000000000">
|
||||
Формат файла</A>
|
||||
</H2>
|
||||
Строки начинающиеся на «<code>#</code>» являются комментарием и игнорируются так же как и пустые строки
|
||||
|
||||
<P>
|
||||
Для создания меню:
|
||||
<PRE>
|
||||
ключевое_слово иконка "Текст подсказки"
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
Для создания команд в меню:
|
||||
<PRE>
|
||||
ключевое_слово "команда" "Текст подсказки" иконка
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
Параметр <I>иконка</I> не является обязательным если он не указан то в меню будет вставлен текст
|
||||
если указан - то изображение
|
||||
|
||||
<P>
|
||||
Для создания кнопки:
|
||||
<PRE>
|
||||
ключевое_слово "команда" Иконка "Текст подсказки"
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00034000000000000000">
|
||||
Пример</A>
|
||||
</H2>
|
||||
<PRE>
|
||||
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"
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
Здесь
|
||||
<TT>menu</TT>, <TT>button</TT>, <TT>cmd</TT>, <TT>imagecmd</TT> -- ключевые слова для создания
|
||||
соотвественно меню, кнопки меню и кнопки с изображением;
|
||||
<TT>cmd separator</TT> -- добавление в меню разделителя
|
||||
|
||||
<P>
|
||||
|
||||
<H1><A NAME="SECTION00040000000000000000">
|
||||
Рaбота с документом</A>
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00041000000000000000">
|
||||
Редактирование</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00042000000000000000">
|
||||
Перекодирование</A>
|
||||
</H2>
|
||||
TLE поддерживает работу с множеством различных кодировок. При открытии latex-документа происходит
|
||||
считывание данных о кодировке документа, если используется пакет <I>inputenc</I>. Если документ не
|
||||
содержит данных о кодовой странице то он будет отображён с использованием системной кодировки. В
|
||||
случае не совпадения кодовой страницы документа и Вашей системы документ будет отображён
|
||||
некорректно. Но это можно исправить, указав кодировку документа через меню <I>Вид -
|
||||
Кодировка</I>.
|
||||
|
||||
<P>
|
||||
Если Вы хотите сохранить документ в кодировке отличной от исходной то необходимо выбрать нужную
|
||||
кодовую страницу через меню <I>Документ - Кодировка</I> и файл будет перекодирован при сохранении.
|
||||
|
||||
<P>
|
||||
В случае если Вы используете пакет <I>inputenc</I> но не правильно указали кодировку документа в
|
||||
описании пакета либо текущая кодировка документа не соответсвет требуемой, при сохранении будет
|
||||
выдано предупреждение о не соответствии кодовых страниц.
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00043000000000000000">
|
||||
Предпросмотр текста и формул</A>
|
||||
</H2>
|
||||
При наличии в системе дополнительных программ, становится доступна функция предварительного
|
||||
просмотра математических формул и произвольных частей документа.
|
||||
Для осуществления данной операции необходимо в редактируемом документе выделить текст формулы, либо
|
||||
её часть, и нажать сочитание клавиш <I>Alt-V</I>. Также можно выбрать пункт <I>Показать формулу</I>
|
||||
в меню <I>Редактирование</I> или при помощи всплывабщего меню.
|
||||
|
||||
<P>
|
||||
Для произволного фрагмента текста операция идентична предыдущей с той лишь разницей, что необходимо
|
||||
нажать <I>Alt-B</I> или меню <I>Редактирование - Показать Текст</I>
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00044000000000000000">
|
||||
Проверка орфографии</A>
|
||||
</H2>
|
||||
Для проверки орфографии используется программа ispell.
|
||||
Вам необходимо выбрать в меню <I>Документ - Орфография</I> или нажать кнопку в панели инструментов.
|
||||
В появившимся диалоге надо выбрать требуемый словарь и режим проверки - весь документ или с
|
||||
текущей позиции. При несовпадении слов в тексте и в словаре Вам будет предложен список возможных
|
||||
вариантов из которых можно выбрать нужный и заменить неправильное слово.
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00045000000000000000">
|
||||
Преобразование в различные форматы</A>
|
||||
</H2>
|
||||
Для преобразования файла в различные форматы используются внешние программы.
|
||||
Команды для их запуска описаны в конфигурационном файле tle.conf:
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
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"
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
Если в команде встречается макрос <I>%fileName</I> то программа подставит вместо него имя текущего
|
||||
файла без расширения.
|
||||
|
||||
<P>
|
||||
Вызов команд производиться как через меню <I>Документ</I> - <I>Преобразовать</I> так и через
|
||||
панель инструментов.
|
||||
Разница заключается лишь в том, что при вызове команды через меню будет вызван диалог, в котором
|
||||
можно изменить опции командной строки, заданной по умолчанию.
|
||||
А при вызове команды через панель инструментов будет использована последняя заданная команда для
|
||||
операции преобразования.
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00046000000000000000">
|
||||
Предварительный просмотр документа</A>
|
||||
</H2>
|
||||
После преобразования документа станет доступна возможность просмотра полученного результата.
|
||||
Команды для просмотра заданы в конфигурационном файле tle.conf, аналогично и командам конвертации.
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
## PREVIEW ##
|
||||
set preview_cmd(dvi) "xdvi"
|
||||
set preview_cmd(ps) "gv"
|
||||
set preview_cmd(pdf) "acroread"
|
||||
set preview_cmd(html) "mozilla"
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
Вызвать команды просмотра можно как через меню <I>Документ</I> - <I>Предварительный просмотр</I>
|
||||
так и при помощи кнопок на панели инструментов.
|
||||
|
||||
<P>
|
||||
|
||||
<H1><A NAME="SECTION00050000000000000000">
|
||||
"Горячие" клавиши</A>
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
<I>Ctrl + A</I> - Сохранить файл под другим именем.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + C</I> - Команда копирует выделенный в окне редактора текст в буфер обмена.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + F</I> - Поиск заданного выражения в тексте.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + G</I> - Перейти к строке с заданным номером.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + J</I> - Вывести список функций с именами полностью или частично совпадающими с введенным.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + L</I> - Вывести список слов, полностью или частично совпадающих с введенным.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + M</I> - Переключение между открытыми файлами (между окнами редактора).
|
||||
|
||||
<P>
|
||||
<I>Ctrl + N</I> - Создать новый файл. Команда вызывает диалог создания файла.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + O</I> - Открыть файл.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + P</I> - Печать файла (кода).
|
||||
|
||||
<P>
|
||||
<I>Ctrl + Q</I> - Выход.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + R</I> - Поиск и замена заданного выражения в тексте.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + S</I> - Сохранить файл. Сохраняется файл, который открыт в текущем окне редактора.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + T</I> - Поменять местами два символа, стоящих до и после курсора.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + U</I> - Перемещает курсор на соответствующую открытую или закрытую скобку.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + V</I> - Вставка фрагмента текста из буфера обмена, скопированного предыдущей командой.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + W</I> - Закрыть файл. Команда закрывает файл открытый в текущем окне редактора.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + X</I> - Вырезать выделенный фрагмент текста в буфер обмена.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + Z</I> - Отменить операцию
|
||||
|
||||
<P>
|
||||
<I>F1</I> - Вызов системы помощи по программе и по языку. Если в тексте выделить команду и нажать
|
||||
данную клавишу то будет выведена на экран подсказка по этой команде.
|
||||
|
||||
<P>
|
||||
<I>F2</I> - Разделение окна редактора
|
||||
|
||||
<P>
|
||||
<I>F3</I> - Повторный поиск, команда работает с последним введенным выражением в диалоговом окне
|
||||
поиска
|
||||
|
||||
<P>
|
||||
<I>F5</I> - Компиляция файла в DVI формат
|
||||
|
||||
<P>
|
||||
<I>F6</I> - Конвертирование DVI файла в PS.
|
||||
|
||||
<P>
|
||||
<I>F7</I> - Конвертирование DVI файла в PDF.
|
||||
|
||||
<P>
|
||||
<I>F9</I> - Выполнение ("компиляция") текущего (активного) проекта.
|
||||
|
||||
<P>
|
||||
<I>Alt + B</I> - Предпросмотр выделенного участка текста
|
||||
|
||||
<P>
|
||||
<I>Alt + C</I> - Автодобивка команд.
|
||||
|
||||
<P>
|
||||
<I>Alt + V</I> - Предпросмотр математической формулы
|
||||
|
||||
<P>
|
||||
|
||||
<H1><A NAME="SECTION00060000000000000000">
|
||||
Об этом документе ...</A>
|
||||
</H1>
|
||||
<STRONG>Расширенный L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>Xредактор</STRONG><P>
|
||||
This document was generated using the
|
||||
<A HREF="http://www-dsed.llnl.gov/files/programs/unix/latex2html/manual/"><STRONG>LaTeX</STRONG>2<tt>HTML</tt></A> translator Version 2K.1beta (1.57)
|
||||
<P>
|
||||
Copyright © 1993, 1994, 1995, 1996,
|
||||
<A HREF="http://cbl.leeds.ac.uk/nikos/personal.html">Nikos Drakos</A>,
|
||||
Computer Based Learning Unit, University of Leeds.
|
||||
<BR>
|
||||
Copyright © 1997, 1998, 1999,
|
||||
<A HREF="http://www.maths.mq.edu.au/~ross/">Ross Moore</A>,
|
||||
Mathematics Department, Macquarie University, Sydney.
|
||||
<P>
|
||||
The command line arguments were: <BR>
|
||||
<STRONG>latex2html</STRONG> <TT>-no_navigation -split 0 /home/banzaj/projects/tcl/tle/doc/tle_usr_manual.tex</TT>
|
||||
<P>
|
||||
The translation was initiated by on 2003-01-08
|
||||
<BR><HR>
|
||||
<ADDRESS>
|
||||
|
||||
2003-01-08
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
13
doc/tle_usr_manual/labels.pl
Executable file
13
doc/tle_usr_manual/labels.pl
Executable file
|
@ -0,0 +1,13 @@
|
|||
# LaTeX2HTML 2K.1beta (1.57)
|
||||
# Associate labels original text with physical files.
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
# LaTeX2HTML 2K.1beta (1.57)
|
||||
# labels from external_latex_labels array.
|
||||
|
||||
|
||||
1;
|
||||
|
30
doc/tle_usr_manual/tle_usr_manual.css
Executable file
30
doc/tle_usr_manual/tle_usr_manual.css
Executable file
|
@ -0,0 +1,30 @@
|
|||
/* Century Schoolbook font is very similar to Computer Modern Math: cmmi */
|
||||
.MATH { font-family: "Century Schoolbook", serif; }
|
||||
.MATH I { font-family: "Century Schoolbook", serif; font-style: italic }
|
||||
.BOLDMATH { font-family: "Century Schoolbook", serif; font-weight: bold }
|
||||
|
||||
/* implement both fixed-size and relative sizes */
|
||||
SMALL.XTINY { font-size : xx-small }
|
||||
SMALL.TINY { font-size : x-small }
|
||||
SMALL.SCRIPTSIZE { font-size : smaller }
|
||||
SMALL.FOOTNOTESIZE { font-size : small }
|
||||
SMALL.SMALL { }
|
||||
BIG.LARGE { }
|
||||
BIG.XLARGE { font-size : large }
|
||||
BIG.XXLARGE { font-size : x-large }
|
||||
BIG.HUGE { font-size : larger }
|
||||
BIG.XHUGE { font-size : xx-large }
|
||||
|
||||
/* heading styles */
|
||||
H1 { }
|
||||
H2 { }
|
||||
H3 { }
|
||||
H4 { }
|
||||
H5 { }
|
||||
|
||||
/* mathematics styles */
|
||||
DIV.displaymath { } /* math displays */
|
||||
TD.eqno { } /* equation-number cells */
|
||||
|
||||
|
||||
/* document-specific styles come next */
|
432
doc/tle_usr_manual/tle_usr_manual.html
Executable file
432
doc/tle_usr_manual/tle_usr_manual.html
Executable file
|
@ -0,0 +1,432 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2K.1beta (1.57)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Расширенный LATEXредактор</TITLE>
|
||||
<META NAME="description" CONTENT="Расширенный LATEXредактор">
|
||||
<META NAME="keywords" CONTENT="tle_usr_manual">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-r">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="tle_usr_manual.css">
|
||||
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<H1 ALIGN="CENTER">Расширенный L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>Xредактор</H1>
|
||||
<P ALIGN="CENTER"><STRONG>Сергей Калинин, Константин Михайленко</STRONG></P>
|
||||
|
||||
<P>
|
||||
|
||||
<H1><A NAME="SECTION00010000000000000000">
|
||||
Назначение</A>
|
||||
</H1>
|
||||
Программа предназначена для создания и редактирования файлов в рамках издательской системы T<SMALL>E</SMALL>X (L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X).
|
||||
|
||||
<H2><A NAME="SECTION00011000000000000000">
|
||||
Описание функций</A>
|
||||
</H2>
|
||||
Одновременное редактирование нескольких файлов.
|
||||
Создание нового документа из шаблона.
|
||||
Отображение структуры документа ввиде дерева.
|
||||
Отображение ввиде дерева включенных внешних документов.
|
||||
Вывод списка меток и ссылок.
|
||||
Подсветка синтаксиса.
|
||||
Поиск и замена текста.
|
||||
Автодобивка команд.
|
||||
Преобразование .tex файла в dvi, ps, pdf, html (при помощи внешних программ) и просмотр полученного
|
||||
документа.
|
||||
Отображение процесса компиляции и преобразования документа и вывод ошибок.
|
||||
Печать исходного кода.
|
||||
Настраиваемые панели инструментов.
|
||||
Вставка настраиваемых готовых конструкций кода.
|
||||
Интерактивная проверка орфографии (при помощи ispell).
|
||||
Автоматический перенос строк при достижении определенной в конфигурации длинны.
|
||||
Автосохранение документа через определённый промежуток времени.
|
||||
Сохранение позиции редактирования в открытых файлах при выходе из программы и возобновление
|
||||
редактирования этих файлов при следующем запуске программы.
|
||||
Возможность подключения дополнительных внешних программ.
|
||||
Настраиваемые цветовые схемы и графические темы панелей инструментов.
|
||||
Подключение внешнего редактора.
|
||||
Простой механизм локализации интерфейса программы. В данный момент редактор локализован на русском
|
||||
и английском языках.
|
||||
Предпросмотр математических формул и любых частей текста а также сохранение их как изображения.
|
||||
Поддерживается множество кодировок и перекодировка из одной в другую.
|
||||
Автоматическое подключение нужной кодировки при использовании декларации пакета <I>inputenc</I>.
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00012000000000000000">
|
||||
Необходимое ПО</A>
|
||||
</H2>
|
||||
Программа написана на интерпретируемом языке 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).
|
||||
О настройке данных программ будет рассказано ниже.
|
||||
|
||||
<P>
|
||||
|
||||
<H1><A NAME="SECTION00020000000000000000">
|
||||
Начало работы</A>
|
||||
</H1>
|
||||
Программа запускается командой <I>/usr/bin/tle</I> - если она установлена из rpm-пакета, или
|
||||
запускается файл <I>tle.tcl</I> из дистрибутивного комплекта.
|
||||
После запуска в домашнем каталоге создается рабочая папка <I>.tle</I> содержащая конфигурационные файлы.
|
||||
|
||||
<P>
|
||||
Далее можете приступать к редактированию файлов. Можно открыть уже существующие документы
|
||||
<I>Файл - Открыть</I> либо создавать новые <I>Файл - Новый</I>. Программа, также,
|
||||
поддерживает создание документов из заранее заданных шаблонов <I>Файл - Новый - Создать из
|
||||
шаблона</I>, которые, Вы можете создавать самостоятельно, в появившимся диалоге выбирете нужный шаблон
|
||||
и введите требуемое имя и нажмите кнопку <I>Создать</I>
|
||||
|
||||
<P>
|
||||
Tk LaTeX Editor позволяет редактировать множество файлов, переключаясь между закладками
|
||||
редактора.
|
||||
|
||||
<P>
|
||||
Сохранение документа производиться нажатием конпки на панели инструментов, либо в меню <I>Файл -
|
||||
Сохранить</I> либо нажатием сочитания клавиш <I>Ctrl - S</I>, либо автоматически, согласно установкам
|
||||
в конфигурационном файле.
|
||||
|
||||
<P>
|
||||
|
||||
<H1><A NAME="SECTION00030000000000000000">
|
||||
Настройка Панелей инструментов</A>
|
||||
</H1>
|
||||
Вы можете самостоятельно настраивать панели инструментов, т.е. добавлять кнопки и меню.
|
||||
Описание панелей инструментов (тул-баров) храниться в каталоге <TT>share/gui/toolbar/</TT>
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00031000000000000000">
|
||||
Описание функций</A>
|
||||
</H2>
|
||||
Для команд определяемых пользователем есть несколько функций для добавления тэгов в текст.
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG><I><B>AddTextFont</B></I></STRONG></DT>
|
||||
<DD> -- добавляет тэги вида «<code>\tiny{}</code>».
|
||||
Формат вызова функции
|
||||
<PRE>
|
||||
AddTextFont Имя_Тэга
|
||||
</PRE>
|
||||
</DD>
|
||||
<DT><STRONG><I><B>AddTextDouble</B></I></STRONG></DT>
|
||||
<DD> -- добавляет тэги вида «<code>\begin{center}" \ldots \verb"\end{center}</code>».
|
||||
<PRE>
|
||||
AddTextDouble Начальный_Тег Наименование конечный_Тег
|
||||
</PRE>
|
||||
</DD>
|
||||
<DT><STRONG><I><B>AddTextCommand</B></I></STRONG></DT>
|
||||
<DD> -- для добавления простых тэгов вида «<code>\beta</code>».
|
||||
<PRE>
|
||||
AddTextCommand Имя_Тэга
|
||||
</PRE>
|
||||
</DD>
|
||||
</DL>
|
||||
В командах начальный слэш следует опускать, он добавляется автоматически
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00032000000000000000">
|
||||
Наименование файла</A>
|
||||
</H2>
|
||||
Для создания новой панели инструментов создайте в каталоге <TT>toolbar</TT> файл с любым именем без
|
||||
расширения кроме main (это зарезервированное слово под основную панель)
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00033000000000000000">
|
||||
Формат файла</A>
|
||||
</H2>
|
||||
Строки начинающиеся на «<code>#</code>» являются комментарием и игнорируются так же как и пустые строки
|
||||
|
||||
<P>
|
||||
Для создания меню:
|
||||
<PRE>
|
||||
ключевое_слово иконка "Текст подсказки"
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
Для создания команд в меню:
|
||||
<PRE>
|
||||
ключевое_слово "команда" "Текст подсказки" иконка
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
Параметр <I>иконка</I> не является обязательным если он не указан то в меню будет вставлен текст
|
||||
если указан - то изображение
|
||||
|
||||
<P>
|
||||
Для создания кнопки:
|
||||
<PRE>
|
||||
ключевое_слово "команда" Иконка "Текст подсказки"
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00034000000000000000">
|
||||
Пример</A>
|
||||
</H2>
|
||||
<PRE>
|
||||
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"
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
Здесь
|
||||
<TT>menu</TT>, <TT>button</TT>, <TT>cmd</TT>, <TT>imagecmd</TT> -- ключевые слова для создания
|
||||
соотвественно меню, кнопки меню и кнопки с изображением;
|
||||
<TT>cmd separator</TT> -- добавление в меню разделителя
|
||||
|
||||
<P>
|
||||
|
||||
<H1><A NAME="SECTION00040000000000000000">
|
||||
Рaбота с документом</A>
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00041000000000000000">
|
||||
Редактирование</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00042000000000000000">
|
||||
Перекодирование</A>
|
||||
</H2>
|
||||
TLE поддерживает работу с множеством различных кодировок. При открытии latex-документа происходит
|
||||
считывание данных о кодировке документа, если используется пакет <I>inputenc</I>. Если документ не
|
||||
содержит данных о кодовой странице то он будет отображён с использованием системной кодировки. В
|
||||
случае не совпадения кодовой страницы документа и Вашей системы документ будет отображён
|
||||
некорректно. Но это можно исправить, указав кодировку документа через меню <I>Вид -
|
||||
Кодировка</I>.
|
||||
|
||||
<P>
|
||||
Если Вы хотите сохранить документ в кодировке отличной от исходной то необходимо выбрать нужную
|
||||
кодовую страницу через меню <I>Документ - Кодировка</I> и файл будет перекодирован при сохранении.
|
||||
|
||||
<P>
|
||||
В случае если Вы используете пакет <I>inputenc</I> но не правильно указали кодировку документа в
|
||||
описании пакета либо текущая кодировка документа не соответсвет требуемой, при сохранении будет
|
||||
выдано предупреждение о не соответствии кодовых страниц.
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00043000000000000000">
|
||||
Предпросмотр текста и формул</A>
|
||||
</H2>
|
||||
При наличии в системе дополнительных программ, становится доступна функция предварительного
|
||||
просмотра математических формул и произвольных частей документа.
|
||||
Для осуществления данной операции необходимо в редактируемом документе выделить текст формулы, либо
|
||||
её часть, и нажать сочитание клавиш <I>Alt-V</I>. Также можно выбрать пункт <I>Показать формулу</I>
|
||||
в меню <I>Редактирование</I> или при помощи всплывабщего меню.
|
||||
|
||||
<P>
|
||||
Для произволного фрагмента текста операция идентична предыдущей с той лишь разницей, что необходимо
|
||||
нажать <I>Alt-B</I> или меню <I>Редактирование - Показать Текст</I>
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00044000000000000000">
|
||||
Проверка орфографии</A>
|
||||
</H2>
|
||||
Для проверки орфографии используется программа ispell.
|
||||
Вам необходимо выбрать в меню <I>Документ - Орфография</I> или нажать кнопку в панели инструментов.
|
||||
В появившимся диалоге надо выбрать требуемый словарь и режим проверки - весь документ или с
|
||||
текущей позиции. При несовпадении слов в тексте и в словаре Вам будет предложен список возможных
|
||||
вариантов из которых можно выбрать нужный и заменить неправильное слово.
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00045000000000000000">
|
||||
Преобразование в различные форматы</A>
|
||||
</H2>
|
||||
Для преобразования файла в различные форматы используются внешние программы.
|
||||
Команды для их запуска описаны в конфигурационном файле tle.conf:
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
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"
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
Если в команде встречается макрос <I>%fileName</I> то программа подставит вместо него имя текущего
|
||||
файла без расширения.
|
||||
|
||||
<P>
|
||||
Вызов команд производиться как через меню <I>Документ</I> - <I>Преобразовать</I> так и через
|
||||
панель инструментов.
|
||||
Разница заключается лишь в том, что при вызове команды через меню будет вызван диалог, в котором
|
||||
можно изменить опции командной строки, заданной по умолчанию.
|
||||
А при вызове команды через панель инструментов будет использована последняя заданная команда для
|
||||
операции преобразования.
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00046000000000000000">
|
||||
Предварительный просмотр документа</A>
|
||||
</H2>
|
||||
После преобразования документа станет доступна возможность просмотра полученного результата.
|
||||
Команды для просмотра заданы в конфигурационном файле tle.conf, аналогично и командам конвертации.
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
## PREVIEW ##
|
||||
set preview_cmd(dvi) "xdvi"
|
||||
set preview_cmd(ps) "gv"
|
||||
set preview_cmd(pdf) "acroread"
|
||||
set preview_cmd(html) "mozilla"
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
Вызвать команды просмотра можно как через меню <I>Документ</I> - <I>Предварительный просмотр</I>
|
||||
так и при помощи кнопок на панели инструментов.
|
||||
|
||||
<P>
|
||||
|
||||
<H1><A NAME="SECTION00050000000000000000">
|
||||
"Горячие" клавиши</A>
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
<I>Ctrl + A</I> - Сохранить файл под другим именем.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + C</I> - Команда копирует выделенный в окне редактора текст в буфер обмена.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + F</I> - Поиск заданного выражения в тексте.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + G</I> - Перейти к строке с заданным номером.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + J</I> - Вывести список функций с именами полностью или частично совпадающими с введенным.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + L</I> - Вывести список слов, полностью или частично совпадающих с введенным.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + M</I> - Переключение между открытыми файлами (между окнами редактора).
|
||||
|
||||
<P>
|
||||
<I>Ctrl + N</I> - Создать новый файл. Команда вызывает диалог создания файла.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + O</I> - Открыть файл.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + P</I> - Печать файла (кода).
|
||||
|
||||
<P>
|
||||
<I>Ctrl + Q</I> - Выход.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + R</I> - Поиск и замена заданного выражения в тексте.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + S</I> - Сохранить файл. Сохраняется файл, который открыт в текущем окне редактора.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + T</I> - Поменять местами два символа, стоящих до и после курсора.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + U</I> - Перемещает курсор на соответствующую открытую или закрытую скобку.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + V</I> - Вставка фрагмента текста из буфера обмена, скопированного предыдущей командой.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + W</I> - Закрыть файл. Команда закрывает файл открытый в текущем окне редактора.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + X</I> - Вырезать выделенный фрагмент текста в буфер обмена.
|
||||
|
||||
<P>
|
||||
<I>Ctrl + Z</I> - Отменить операцию
|
||||
|
||||
<P>
|
||||
<I>F1</I> - Вызов системы помощи по программе и по языку. Если в тексте выделить команду и нажать
|
||||
данную клавишу то будет выведена на экран подсказка по этой команде.
|
||||
|
||||
<P>
|
||||
<I>F2</I> - Разделение окна редактора
|
||||
|
||||
<P>
|
||||
<I>F3</I> - Повторный поиск, команда работает с последним введенным выражением в диалоговом окне
|
||||
поиска
|
||||
|
||||
<P>
|
||||
<I>F5</I> - Компиляция файла в DVI формат
|
||||
|
||||
<P>
|
||||
<I>F6</I> - Конвертирование DVI файла в PS.
|
||||
|
||||
<P>
|
||||
<I>F7</I> - Конвертирование DVI файла в PDF.
|
||||
|
||||
<P>
|
||||
<I>F9</I> - Выполнение ("компиляция") текущего (активного) проекта.
|
||||
|
||||
<P>
|
||||
<I>Alt + B</I> - Предпросмотр выделенного участка текста
|
||||
|
||||
<P>
|
||||
<I>Alt + C</I> - Автодобивка команд.
|
||||
|
||||
<P>
|
||||
<I>Alt + V</I> - Предпросмотр математической формулы
|
||||
|
||||
<P>
|
||||
|
||||
<H1><A NAME="SECTION00060000000000000000">
|
||||
Об этом документе ...</A>
|
||||
</H1>
|
||||
<STRONG>Расширенный L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>Xредактор</STRONG><P>
|
||||
This document was generated using the
|
||||
<A HREF="http://www-dsed.llnl.gov/files/programs/unix/latex2html/manual/"><STRONG>LaTeX</STRONG>2<tt>HTML</tt></A> translator Version 2K.1beta (1.57)
|
||||
<P>
|
||||
Copyright © 1993, 1994, 1995, 1996,
|
||||
<A HREF="http://cbl.leeds.ac.uk/nikos/personal.html">Nikos Drakos</A>,
|
||||
Computer Based Learning Unit, University of Leeds.
|
||||
<BR>
|
||||
Copyright © 1997, 1998, 1999,
|
||||
<A HREF="http://www.maths.mq.edu.au/~ross/">Ross Moore</A>,
|
||||
Mathematics Department, Macquarie University, Sydney.
|
||||
<P>
|
||||
The command line arguments were: <BR>
|
||||
<STRONG>latex2html</STRONG> <TT>-no_navigation -split 0 /home/banzaj/projects/tcl/tle/doc/tle_usr_manual.tex</TT>
|
||||
<P>
|
||||
The translation was initiated by on 2003-01-08
|
||||
<BR><HR>
|
||||
<ADDRESS>
|
||||
|
||||
2003-01-08
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
7
errors
Normal file
7
errors
Normal file
|
@ -0,0 +1,7 @@
|
|||
Error in startup script: cannot use geometry manager pack inside .frmBody.frmList.nBook.flblList.f which already has slaves managed by grid
|
||||
while executing
|
||||
"pack $lblList -side left -fill both -expand yes"
|
||||
(file "/home/ksv/Projects/tcl/tle/lib/modules/gui.tcl" line 230)
|
||||
invoked from within
|
||||
"source [file join $dir(mod) gui.tcl]"
|
||||
(file "/home/ksv/Projects/tcl/tle/tle.tcl" line 121)
|
1
lib/command/afterpage.lst
Executable file
1
lib/command/afterpage.lst
Executable file
|
@ -0,0 +1 @@
|
|||
\afterpage{}
|
2
lib/command/amsbsy.lst
Executable file
2
lib/command/amsbsy.lst
Executable file
|
@ -0,0 +1,2 @@
|
|||
\boldsymbol
|
||||
\pmb{}
|
6
lib/command/amscd.lst
Executable file
6
lib/command/amscd.lst
Executable file
|
@ -0,0 +1,6 @@
|
|||
@(((
|
||||
@)))
|
||||
@<<<
|
||||
@>>>
|
||||
@AAA
|
||||
@VVV
|
2
lib/command/amsfonts.lst
Executable file
2
lib/command/amsfonts.lst
Executable file
|
@ -0,0 +1,2 @@
|
|||
\mathbb
|
||||
\mathfrac
|
59
lib/command/amsmath.lst
Executable file
59
lib/command/amsmath.lst
Executable file
|
@ -0,0 +1,59 @@
|
|||
\\*
|
||||
\\
|
||||
\Big
|
||||
\big
|
||||
\Bigg
|
||||
\bigg
|
||||
\biggl
|
||||
\Biggr
|
||||
\biggr
|
||||
\bigl
|
||||
\Bigm
|
||||
\binom{}{}{}{}{}{}
|
||||
\cfrac[]{}{}
|
||||
\dbinom{}{}{}{}{}{}
|
||||
\ddddot{}
|
||||
\dddot{}
|
||||
\ddots{}
|
||||
\dfrac{}{}
|
||||
\dots
|
||||
\dotsb
|
||||
\dotsc
|
||||
\dotsi
|
||||
\dotsm
|
||||
\fracwithdelims()[]
|
||||
\genfrac{}{}{}{}{}{}
|
||||
\idotsint
|
||||
\leftroot
|
||||
\measuredangle
|
||||
\mod
|
||||
\nolimits
|
||||
\operatorname{}
|
||||
\overset
|
||||
\pmod
|
||||
\pod
|
||||
\rVert
|
||||
\rvert
|
||||
\xrightarrow
|
||||
\sideset
|
||||
\smash\spbreve
|
||||
\spcheck
|
||||
\spdddot
|
||||
\spddot
|
||||
\spdot
|
||||
\special
|
||||
\sphat
|
||||
\sptilde
|
||||
\stackrel
|
||||
\tag{}
|
||||
\tag*{}
|
||||
\tbinom{}{}{}{}{}{}
|
||||
\tfrac
|
||||
\uproot
|
||||
\varinjlim
|
||||
\varliminf
|
||||
\varlimsup
|
||||
\varprojlim
|
||||
Vmatrix
|
||||
vmatrix
|
||||
|
486
lib/command/amssymb.lst
Executable file
486
lib/command/amssymb.lst
Executable file
|
@ -0,0 +1,486 @@
|
|||
\{
|
||||
\|
|
||||
\}
|
||||
\aleph
|
||||
\hat
|
||||
\check
|
||||
\acute
|
||||
\grave
|
||||
\bar
|
||||
\vec
|
||||
\dot
|
||||
\ddot
|
||||
\breve
|
||||
\tilde
|
||||
\allowdisplaybreaks
|
||||
\alpha
|
||||
\angle
|
||||
\approx
|
||||
\approxeq
|
||||
\arccos
|
||||
\arcsin
|
||||
\arctan
|
||||
\arg
|
||||
\Arrowvert
|
||||
\arrowvert
|
||||
\ast
|
||||
\asymp
|
||||
\backepsilon
|
||||
\backprime
|
||||
\backsim
|
||||
\backsimeq
|
||||
\backslash
|
||||
\barwedge
|
||||
\Bbbk
|
||||
\because
|
||||
\beta
|
||||
\beth
|
||||
\between
|
||||
\bigcap
|
||||
\bigcirc
|
||||
\bigcup
|
||||
\bigodot
|
||||
\bigoplus
|
||||
\bigotimes
|
||||
\bigsqcup
|
||||
\bigstar
|
||||
\bigstrutjot
|
||||
\bigtriangledown
|
||||
\bigtriangleup
|
||||
\biguplus
|
||||
\bigvee
|
||||
\bigwedge
|
||||
\blacklozenge
|
||||
\blacksquare
|
||||
\blacktriangle
|
||||
\blacktriangledown
|
||||
\blacktriangleleft
|
||||
\blacktriangleright
|
||||
\bot
|
||||
\bowtie
|
||||
\Box
|
||||
\boxdot
|
||||
\boxminus
|
||||
\boxplus
|
||||
\boxtimes
|
||||
\bracevert
|
||||
\bullet
|
||||
\Bumpeq
|
||||
\bumpeq
|
||||
\Cap
|
||||
\cap
|
||||
\cdot
|
||||
\cdots
|
||||
\centerdot
|
||||
\chi
|
||||
\circ
|
||||
\circeq
|
||||
\circlearrowleft
|
||||
\circlearrowright
|
||||
\circledast
|
||||
\circledcirc
|
||||
\circleddash
|
||||
\circledS
|
||||
\clubsuit
|
||||
\complement
|
||||
\cong
|
||||
\coprod
|
||||
\cos
|
||||
\cosh
|
||||
\cot
|
||||
\coth
|
||||
\csc
|
||||
\Cup
|
||||
\cup
|
||||
\curlyeqprec
|
||||
\curlyeqsucc
|
||||
\curlyvee
|
||||
\curlywedg
|
||||
\curvearrowleft
|
||||
\curvearrowright
|
||||
\dagger
|
||||
\daleth
|
||||
\dashleftarrow
|
||||
\dashrightarrow
|
||||
\dashv
|
||||
\ddagger
|
||||
\deg
|
||||
\Delta
|
||||
\delta
|
||||
\det
|
||||
\diagdown
|
||||
\diagup
|
||||
\Diamond
|
||||
\diamond
|
||||
\diamondsuit
|
||||
\digamma
|
||||
\dim
|
||||
\div
|
||||
\divideontimes
|
||||
\dot
|
||||
\doteq
|
||||
\doteqdot
|
||||
\dotplus
|
||||
\doublebarwedge
|
||||
\Downarrow
|
||||
\downarrow
|
||||
\downdownarrows
|
||||
\downharpoonleft
|
||||
\downharpoonright
|
||||
\ell
|
||||
\emptyset
|
||||
\epsilon
|
||||
\eqcirc
|
||||
\eqslantgtr
|
||||
\eqslantless
|
||||
\equiv
|
||||
\eta
|
||||
\eth
|
||||
\exists
|
||||
\exp
|
||||
\fallingdotseq
|
||||
\Finv
|
||||
\flat
|
||||
\forall
|
||||
\frac
|
||||
\frown
|
||||
\Game
|
||||
\Gamma
|
||||
\gamma
|
||||
\gcd
|
||||
\geq
|
||||
\geqq
|
||||
\geqslant
|
||||
\gg
|
||||
\ggg
|
||||
\gimel
|
||||
\gnapprox
|
||||
\gneq
|
||||
\gneqq
|
||||
\gnsim
|
||||
\grave
|
||||
\gtrapprox
|
||||
\gtrdot
|
||||
\gtreqless
|
||||
\gtreqqless
|
||||
\gtrless
|
||||
\gtrsim
|
||||
\gvertneqq
|
||||
\hat
|
||||
\hbar
|
||||
\heartsuit
|
||||
\hom
|
||||
\hookleftarrow
|
||||
\hookrightarrow
|
||||
\hslash
|
||||
\iiiint
|
||||
\iiint
|
||||
\iint
|
||||
\Im
|
||||
\imath
|
||||
\in
|
||||
\inf
|
||||
\infty
|
||||
\int
|
||||
\intercal
|
||||
\iota
|
||||
\jmath
|
||||
\Join
|
||||
\kappa
|
||||
\ker
|
||||
\Lambda
|
||||
\lambda
|
||||
\langle
|
||||
\lceil
|
||||
\ldots
|
||||
\le
|
||||
\Leftarrow
|
||||
\leftarrow
|
||||
\leftarrowtail
|
||||
\leftharpoondown
|
||||
\leftharpoonup
|
||||
\leftleftarrows
|
||||
\Leftrightarrow
|
||||
\leftrightarrow
|
||||
\leftrightarrows
|
||||
\leftrightharpoons
|
||||
\leftrightsquigarrow
|
||||
\leftthreetimes
|
||||
\leq
|
||||
\leqq
|
||||
\leqslant
|
||||
\lessapprox
|
||||
\lessdot
|
||||
\lesseqgtr
|
||||
\lesseqqgtr
|
||||
\lessgtr
|
||||
\lesssim
|
||||
\lfloor
|
||||
\lg
|
||||
\lgroup
|
||||
\lhd
|
||||
\lim
|
||||
\liminf
|
||||
\limsup
|
||||
\ll
|
||||
\llcorner
|
||||
\Lleftarrow
|
||||
\lll
|
||||
\lmoustache
|
||||
\ln
|
||||
\lnapprox
|
||||
\lneq
|
||||
\lneqq
|
||||
\lnsim
|
||||
\log
|
||||
\Longleftarrow
|
||||
\longleftarrow
|
||||
\Longleftrightarrow
|
||||
\longleftrightarrow
|
||||
\longmapsto
|
||||
\Longrightarrow
|
||||
\longrightarrow
|
||||
\looparrowleft
|
||||
\looparrowright
|
||||
\lozenge
|
||||
\lrcorner
|
||||
\Lsh
|
||||
\lltimes
|
||||
\lvertneqq
|
||||
\mapsto
|
||||
\mathbb
|
||||
\max
|
||||
\mho
|
||||
\mid
|
||||
\min
|
||||
\models
|
||||
\mp
|
||||
\mu
|
||||
\multimap
|
||||
\nabla
|
||||
\natural
|
||||
\ncong
|
||||
\nearrow
|
||||
\neg
|
||||
\neq
|
||||
\nexists
|
||||
\ngeq
|
||||
\ngeqq
|
||||
\ngeqslant
|
||||
\ngtr
|
||||
\ni
|
||||
\nLeftarrow
|
||||
\nleftarrow
|
||||
\nLeftrightarrow
|
||||
\nleftrightarrow 258
|
||||
\nleq
|
||||
\nleqq
|
||||
\nleqslant
|
||||
\nless
|
||||
\nmid
|
||||
\nparallel
|
||||
\nprec
|
||||
\npreceq
|
||||
\nRightarrow
|
||||
\nrightarrow
|
||||
\nshortmid
|
||||
\nshortparallel
|
||||
\nsim
|
||||
\nsubseteq
|
||||
\nsucc
|
||||
\nsucceq
|
||||
\nsupseteq
|
||||
\nsupseteqq
|
||||
\ntriangleleft
|
||||
\ntrianglelefteq
|
||||
\ntriangleright
|
||||
\ntrianglerighteq
|
||||
\nu
|
||||
\numberwithin
|
||||
\nVDash
|
||||
\nvDash
|
||||
\nvdash
|
||||
\nwarrow
|
||||
\odot
|
||||
\oint
|
||||
\Omega
|
||||
\omega
|
||||
\ominus
|
||||
\oplus
|
||||
\oslash
|
||||
\otimes
|
||||
\overbrace
|
||||
\overleftarrow
|
||||
\overline
|
||||
\overrightarrow
|
||||
\parallel
|
||||
\partial
|
||||
\perp
|
||||
\Phi
|
||||
\phi
|
||||
\Pi
|
||||
\pi
|
||||
\pitchfork
|
||||
\pm
|
||||
\pmb
|
||||
\Pr
|
||||
\prec
|
||||
\precapprox
|
||||
\preccurlyeq
|
||||
\preceq
|
||||
\precnapprox
|
||||
\precnsim
|
||||
\precsim
|
||||
\prime
|
||||
\prod
|
||||
\propto
|
||||
\Psi
|
||||
\psi
|
||||
\rangle
|
||||
\rceil
|
||||
\Re
|
||||
\real
|
||||
\rfloor
|
||||
\rgroup
|
||||
\rhd
|
||||
\rho
|
||||
\Rightarrow
|
||||
\rightarrow
|
||||
\rightarrowtail
|
||||
\rightharpoondown
|
||||
\rightharpoonup
|
||||
\rightleftarrows
|
||||
\rightleftharpoons
|
||||
\rightrightarrows
|
||||
\rightsquigarrow
|
||||
\rightthreetimes
|
||||
\risingdotseq
|
||||
\rmoustache
|
||||
\Rsh
|
||||
\rtimes
|
||||
\Xi
|
||||
\xi
|
||||
\zeta
|
||||
\wedge
|
||||
\widehat
|
||||
\widetilde
|
||||
\wp
|
||||
\wr
|
||||
\searrow
|
||||
\sec
|
||||
\setminus
|
||||
\sharp
|
||||
\shortmid
|
||||
\shortparallel
|
||||
\Sigma
|
||||
\sigma
|
||||
\sim
|
||||
\simeq
|
||||
\sin
|
||||
\sinh
|
||||
\smallfrown
|
||||
\smallsetminus
|
||||
\smallsmile
|
||||
\smile
|
||||
\spadesuit
|
||||
\sphericalangle
|
||||
\sqcap
|
||||
\sqcup
|
||||
\sqrt
|
||||
\sqsubset
|
||||
\sqsubseteq
|
||||
\sqsupset
|
||||
\sqsupseteq
|
||||
\square
|
||||
\star
|
||||
\Subset
|
||||
\subset
|
||||
\subseteq
|
||||
\subseteqq
|
||||
\subsetneq
|
||||
\subsetneqq
|
||||
\succ
|
||||
\succapprox
|
||||
\succcurlyeq
|
||||
\succeq
|
||||
\succnapprox
|
||||
\succnsim
|
||||
\succsim
|
||||
\sum
|
||||
\Supset
|
||||
\supset
|
||||
\supseteq
|
||||
\supseteqq
|
||||
\supsetneq
|
||||
\supsetneqq
|
||||
\surd
|
||||
\swarrow
|
||||
\sup
|
||||
\tan
|
||||
\tanh
|
||||
\tau
|
||||
\therefore
|
||||
\Theta
|
||||
\theta
|
||||
\thickapprox
|
||||
\thicksim
|
||||
\tilde
|
||||
\time
|
||||
\times
|
||||
\top
|
||||
\triangle
|
||||
\triangledown
|
||||
\triangleleft
|
||||
\trianglelefteq
|
||||
\triangleq
|
||||
\triangleright
|
||||
\trianglerighteq
|
||||
\twoheadleftarrow
|
||||
\twoheadrightarrow
|
||||
\ulcorner
|
||||
\underbrace
|
||||
\underleftarrow
|
||||
\underleftrightarrow
|
||||
\underline
|
||||
\underrightarrow
|
||||
\unlhd
|
||||
\unrhd
|
||||
\Uparrow
|
||||
\uparrow
|
||||
\Updownarrow
|
||||
\updownarrow
|
||||
\upharpoonleft
|
||||
\upharpoonright
|
||||
\uplus
|
||||
\Upsilon
|
||||
\upsilon
|
||||
\upuparrows
|
||||
\urcorner
|
||||
\varepsilon
|
||||
\varkappa
|
||||
\varnothing
|
||||
\varphi
|
||||
\varpi
|
||||
\varpropto
|
||||
\varrho
|
||||
\varsigma
|
||||
\varsubsetneq
|
||||
\varsubsetneqq
|
||||
\varsupsetneq
|
||||
\varsupsetneqq
|
||||
\vartheta
|
||||
\vartriangle
|
||||
\vartriangleleft
|
||||
\vartriangleright
|
||||
\Vdash
|
||||
\vDash
|
||||
\vdash
|
||||
\vdots
|
||||
\vec
|
||||
\vee
|
||||
\veebar
|
||||
\Vvdash
|
||||
|
||||
|
||||
|
||||
|
2
lib/command/amsxtra.lst
Executable file
2
lib/command/amsxtra.lst
Executable file
|
@ -0,0 +1,2 @@
|
|||
\accentedsymbol{}
|
||||
\actualchar
|
1
lib/command/array.lst
Executable file
1
lib/command/array.lst
Executable file
|
@ -0,0 +1 @@
|
|||
\firsthline
|
0
lib/command/babel.lst
Executable file
0
lib/command/babel.lst
Executable file
17
lib/command/bar.lst
Executable file
17
lib/command/bar.lst
Executable file
|
@ -0,0 +1,17 @@
|
|||
\bar{}{}[]
|
||||
\hlineon
|
||||
\legend{}{}
|
||||
\sethspace{}
|
||||
\setlinestyle{}
|
||||
\setdepth{}
|
||||
\setnumberpos{}
|
||||
\setprecision{}
|
||||
\setstretch{}
|
||||
\setstyle{}
|
||||
\setwidth{}
|
||||
\setxaxis{}{}{}
|
||||
\setxname{}
|
||||
\setxvaluetyp{}
|
||||
\setyaxis[]{}{}{}
|
||||
\setyname{}
|
||||
|
2
lib/command/bezier.lst
Executable file
2
lib/command/bezier.lst
Executable file
|
@ -0,0 +1,2 @@
|
|||
\bezier{}(,)(,)(,)
|
||||
\qbezier[](,)(,)(,)
|
13
lib/command/calc.lst
Executable file
13
lib/command/calc.lst
Executable file
|
@ -0,0 +1,13 @@
|
|||
\addtocounter{}{}
|
||||
\advance
|
||||
\Alph{}
|
||||
\alph{}
|
||||
\arabic{}
|
||||
\divide
|
||||
\equal
|
||||
\fnsymbol{}
|
||||
\multiply
|
||||
\newcounter{}[]
|
||||
\setcounter{}{}
|
||||
\stepconnter{}
|
||||
\the
|
9
lib/command/changebar.lst
Executable file
9
lib/command/changebar.lst
Executable file
|
@ -0,0 +1,9 @@
|
|||
\cbdelete[]
|
||||
\cbend
|
||||
\cbstart
|
||||
changebargrey
|
||||
\changebarsep
|
||||
\changebarwidth
|
||||
\deletebarwidth
|
||||
\nochangebars
|
||||
\outerbarstrue
|
3
lib/command/chicago.lst
Executable file
3
lib/command/chicago.lst
Executable file
|
@ -0,0 +1,3 @@
|
|||
\citeA{}
|
||||
\citeN{}
|
||||
\citeyear{}
|
6
lib/command/cite.lst
Executable file
6
lib/command/cite.lst
Executable file
|
@ -0,0 +1,6 @@
|
|||
\@cite
|
||||
\cite{}
|
||||
\citen
|
||||
\shortcite
|
||||
\shortciteA
|
||||
\shortciteN
|
0
lib/command/color.lst
Executable file
0
lib/command/color.lst
Executable file
6
lib/command/curves.lst
Executable file
6
lib/command/curves.lst
Executable file
|
@ -0,0 +1,6 @@
|
|||
\closecurve
|
||||
\curve[]()
|
||||
\curvedashes{}
|
||||
\curvesymbol{}
|
||||
\tagcurve[]()
|
||||
\scaleput(){}
|
50
lib/command/doc.lst
Executable file
50
lib/command/doc.lst
Executable file
|
@ -0,0 +1,50 @@
|
|||
\*
|
||||
\@idxitem
|
||||
\AltMacroFont
|
||||
\bslash
|
||||
\changes{}{}{}
|
||||
\CharacterTable{}
|
||||
\CheckModules
|
||||
\CheckSum{}
|
||||
\CodelineIndex
|
||||
\CodelineNumbered
|
||||
\DeleteShortVerb
|
||||
\DescribeEnv{}
|
||||
\DescribeMacro{}
|
||||
\DisableCrossrefs
|
||||
\docdate
|
||||
\DocInput{}
|
||||
\DocstyleParms
|
||||
\DoNotIndex
|
||||
\DontCheckModules{}
|
||||
\lndexlnput{}
|
||||
\IndexMin
|
||||
\IndexParms
|
||||
\indexPrologue{}
|
||||
\levelchar
|
||||
\MacrocodeTopsep
|
||||
\MacroFont
|
||||
\MacroIndent
|
||||
\MacroTopsep
|
||||
\main
|
||||
\MakePrivateLetters
|
||||
\MakeShortVerb{}
|
||||
\meta{}
|
||||
\Module
|
||||
\PrintChanges
|
||||
\PrintDescribeEnv
|
||||
\PrintDescribeMacro
|
||||
\PrintIndex
|
||||
\PrintMacroName
|
||||
\ps@titlepage
|
||||
\quotechar
|
||||
\RecordChanges
|
||||
\SortIndex
|
||||
\SpecialEnvIndex
|
||||
\SpecialEscapechar
|
||||
\SpecialIndex
|
||||
\SpecialMainIndex
|
||||
\SpecialUsageIndex
|
||||
\StopEventually
|
||||
\theCodelineNo
|
||||
\verbatimchar
|
3
lib/command/eclbip.lst
Executable file
3
lib/command/eclbip.lst
Executable file
|
@ -0,0 +1,3 @@
|
|||
\brush{}
|
||||
\leftnode[]{}
|
||||
\match
|
5
lib/command/ecltree.lts
Executable file
5
lib/command/ecltree.lts
Executable file
|
@ -0,0 +1,5 @@
|
|||
\chunk[]{}
|
||||
\GapDepth
|
||||
\GapWidth
|
||||
\drawwith{}
|
||||
\EdgeLabelSep
|
13
lib/command/eepic.lst
Executable file
13
lib/command/eepic.lst
Executable file
|
@ -0,0 +1,13 @@
|
|||
\arc{}{}{}
|
||||
\circle{}
|
||||
\circle*{}
|
||||
\ellipse{}{}
|
||||
\ellipse*{}{}
|
||||
\filltype{}
|
||||
\line(){}
|
||||
\maxovaldiam
|
||||
\oval(){}
|
||||
\path()
|
||||
\spline()
|
||||
\Thicklines
|
||||
\thicklines
|
2
lib/command/endfloat.lst
Executable file
2
lib/command/endfloat.lst
Executable file
|
@ -0,0 +1,2 @@
|
|||
\figureplace
|
||||
\nomarkersintext
|
2
lib/command/endnotes.lst
Executable file
2
lib/command/endnotes.lst
Executable file
|
@ -0,0 +1,2 @@
|
|||
\endnote
|
||||
\enotesize
|
16
lib/command/epic.lst
Executable file
16
lib/command/epic.lst
Executable file
|
@ -0,0 +1,16 @@
|
|||
\shortstack
|
||||
\allinethickness{}
|
||||
\dashline[]{}[]()
|
||||
\dashlinestretch
|
||||
\dottedline[]{}()
|
||||
\drawline[]()
|
||||
\drawlinestretch
|
||||
\grid(,)(,)[,]
|
||||
\jput(){}
|
||||
\matrixput()(){}(){}{}
|
||||
\multyput
|
||||
\multiputlist
|
||||
\picsquare
|
||||
\rightnode[]{}
|
||||
\match{}{}
|
||||
\leftnode{}{}
|
4
lib/command/epsfig.lst
Executable file
4
lib/command/epsfig.lst
Executable file
|
@ -0,0 +1,4 @@
|
|||
\epsfig{}
|
||||
\psfigdriver{}
|
||||
\psdraft
|
||||
\psfull
|
1
lib/command/eufrac.lst
Executable file
1
lib/command/eufrac.lst
Executable file
|
@ -0,0 +1 @@
|
|||
\EuFrak
|
1
lib/command/euscript.lst
Executable file
1
lib/command/euscript.lst
Executable file
|
@ -0,0 +1 @@
|
|||
\EuScript
|
6
lib/command/fancybox.lst
Executable file
6
lib/command/fancybox.lst
Executable file
|
@ -0,0 +1,6 @@
|
|||
\cornersize{}
|
||||
\cornersize*{}
|
||||
\doublebox{}
|
||||
\shadowbox{}
|
||||
\ovalbox{}
|
||||
\Ovalbox{}
|
13
lib/command/fancyheadings.lst
Executable file
13
lib/command/fancyheadings.lst
Executable file
|
@ -0,0 +1,13 @@
|
|||
\cfoot[]{}
|
||||
\chead[]{}
|
||||
\fancyplain{}{}
|
||||
\footrule
|
||||
\footrulewidth
|
||||
\headrule
|
||||
\headrulewidth
|
||||
\headwidth
|
||||
\lfoot
|
||||
\lhead
|
||||
\rfoot
|
||||
\rhead
|
||||
|
6
lib/command/float.lst
Executable file
6
lib/command/float.lst
Executable file
|
@ -0,0 +1,6 @@
|
|||
\floatname
|
||||
\floatplacement
|
||||
\floatstyle
|
||||
\listof
|
||||
\newfloat{}{}{}{}
|
||||
\restylefloat{}
|
1
lib/command/floatfig.lst
Executable file
1
lib/command/floatfig.lst
Executable file
|
@ -0,0 +1 @@
|
|||
\initfloatingfigs
|
0
lib/command/fontenc.lst
Executable file
0
lib/command/fontenc.lst
Executable file
0
lib/command/graphicx.lst
Executable file
0
lib/command/graphicx.lst
Executable file
0
lib/command/grapics.lst
Executable file
0
lib/command/grapics.lst
Executable file
1
lib/command/hangcaption.lst
Executable file
1
lib/command/hangcaption.lst
Executable file
|
@ -0,0 +1 @@
|
|||
\isucaption
|
2
lib/command/hhline.lst
Executable file
2
lib/command/hhline.lst
Executable file
|
@ -0,0 +1,2 @@
|
|||
\hhline
|
||||
\hrule
|
17
lib/command/ifthen.lst
Executable file
17
lib/command/ifthen.lst
Executable file
|
@ -0,0 +1,17 @@
|
|||
\whiledo
|
||||
\Yarea
|
||||
\Ysize
|
||||
\Xsize
|
||||
\Xarea
|
||||
\boolean{}
|
||||
\ifthenelse
|
||||
\equal{}{}
|
||||
\isodd
|
||||
\lengthtest{}
|
||||
\newboolean
|
||||
\newif
|
||||
\newX
|
||||
\newY
|
||||
\not
|
||||
\or
|
||||
\setboolean
|
4
lib/command/index.lst
Executable file
4
lib/command/index.lst
Executable file
|
@ -0,0 +1,4 @@
|
|||
\index{}{}
|
||||
\indexproofstyle
|
||||
\newindex{}{}{}{}
|
||||
\renewindex{}{}{}{}
|
0
lib/command/inputenc.lst
Executable file
0
lib/command/inputenc.lst
Executable file
5
lib/command/latexsym.lst
Executable file
5
lib/command/latexsym.lst
Executable file
|
@ -0,0 +1,5 @@
|
|||
\leadsto
|
||||
\Box
|
||||
\Join
|
||||
\lhd
|
||||
\Diamond
|
1
lib/command/layout.lst
Executable file
1
lib/command/layout.lst
Executable file
|
@ -0,0 +1 @@
|
|||
\layout
|
5
lib/command/longtable.lst
Executable file
5
lib/command/longtable.lst
Executable file
|
@ -0,0 +1,5 @@
|
|||
\endfirsthead
|
||||
\endfoot
|
||||
\endhead
|
||||
\endlastfoot
|
||||
\kill
|
942
lib/command/main_cmd.lst
Executable file
942
lib/command/main_cmd.lst
Executable file
|
@ -0,0 +1,942 @@
|
|||
\'
|
||||
\(
|
||||
\)
|
||||
\,
|
||||
\-
|
||||
\/
|
||||
\:
|
||||
\;
|
||||
\=
|
||||
\>
|
||||
\!
|
||||
\@addtoreset{}{}
|
||||
\@cite
|
||||
\@dotsep
|
||||
\@dottedtocline{}{}{}{}{}
|
||||
\@evenfoot
|
||||
\@evenhead
|
||||
\@makecaption{}{}
|
||||
\@makefigcaption
|
||||
\@makefnmark
|
||||
\@makefntext
|
||||
\@mkboth
|
||||
\@oddfoot
|
||||
\@oddhead
|
||||
\@pnumwidth
|
||||
\@ptsize
|
||||
\@rightskip
|
||||
\@seccntformat
|
||||
\@startsection{}{}{}{}{}{}
|
||||
\@starttoc{}
|
||||
\@thefnmark
|
||||
\@tocrmarg
|
||||
\`
|
||||
\a'
|
||||
\a=
|
||||
\a'
|
||||
\abovedisplayshortskip
|
||||
\abovedisplayskip
|
||||
abstract
|
||||
\abstractname
|
||||
\accent
|
||||
\acro
|
||||
\addcontentsline{}{}
|
||||
\adddialect{}{}
|
||||
\addlanguage{}
|
||||
\addto
|
||||
\addtocontents{}{}
|
||||
\addtocounter{}{}
|
||||
\addtolength{}{}
|
||||
\AE
|
||||
\aleph
|
||||
\alsoname
|
||||
\amalg
|
||||
\Appendix
|
||||
\appendix
|
||||
\appendixname
|
||||
array
|
||||
\AtBeginDocument
|
||||
\AtEndDocument
|
||||
\AtEndOfClass
|
||||
\AtEndOfPackage
|
||||
\baselineskip
|
||||
\baselinestretch
|
||||
\batchfile{}
|
||||
\batchinput
|
||||
\Bbb
|
||||
\begin{}
|
||||
\belowdisplayshortskip
|
||||
\belowdisplayskip
|
||||
\bf
|
||||
\bfdefault
|
||||
Bflushleft
|
||||
Bflushright
|
||||
\bfseries
|
||||
\bibhang
|
||||
\bibindent
|
||||
\bibitem[]{}
|
||||
\bibliography{}
|
||||
\bibliographystyle{}
|
||||
\bibliographyunit[]
|
||||
\bibname
|
||||
\bibpunct
|
||||
\bigcircle
|
||||
\bigskip
|
||||
\bigskipamount
|
||||
bmatrix
|
||||
\bmod
|
||||
\boldmath
|
||||
book
|
||||
bookman
|
||||
\botfigrule
|
||||
\bottomcaption
|
||||
\bottomfraction
|
||||
bottomnumber
|
||||
\boxed{}
|
||||
bundle
|
||||
\bye
|
||||
calc
|
||||
\caption[]{}
|
||||
\caption*{}
|
||||
\captionwidth
|
||||
cases
|
||||
catalan
|
||||
\catcode
|
||||
cc
|
||||
\ccname
|
||||
CD
|
||||
center
|
||||
\centering
|
||||
centertags
|
||||
changebar
|
||||
\chapter{}
|
||||
chapter
|
||||
\chapter*{}
|
||||
chapterbib
|
||||
\chaptermark
|
||||
\chaptername
|
||||
chicago
|
||||
Citation
|
||||
\cite[]{}
|
||||
citesort
|
||||
\cleardoublepage
|
||||
\clearemptydoublepage
|
||||
\clearpage
|
||||
\cline
|
||||
\CodelineFont
|
||||
collectmore
|
||||
color
|
||||
colordvi
|
||||
columnbadness
|
||||
\columnsep
|
||||
\colunnseprule
|
||||
\coluanwidth
|
||||
comment
|
||||
concrete
|
||||
\contentsline{}{}{}
|
||||
\contentsname
|
||||
Cor
|
||||
croatian
|
||||
cropmarks
|
||||
\csname
|
||||
\CurrentOption
|
||||
curves
|
||||
czech
|
||||
danish
|
||||
dashjoin
|
||||
\dblfigrule
|
||||
\dblfloatpagefraction
|
||||
\dblfloatsep
|
||||
\dbltextfloatsep
|
||||
\dbltopfraction
|
||||
dbltopnumber
|
||||
dcolumn
|
||||
debugshow
|
||||
\DeclareErrorFont
|
||||
\DeclareFixedFont{}{}{}{}{}{}
|
||||
\DeclareFontEncoding{}{}{}
|
||||
\DeclareFontFamily{}{}{}
|
||||
\DeclareFontShape{}{}{}{}{}{}
|
||||
\DeclareFontSubstitution{}{}{}{}
|
||||
\DeclareMathAlphabet{}{}{}{}{}
|
||||
\DeclareMathOperator{}
|
||||
\DeclareMathOperator*{}
|
||||
\DeclareMathSizes{}{}{}{}
|
||||
\DeclareMathSymbol{}{}{}{}
|
||||
\DeclareMathVersion{}
|
||||
\DeclareOption{}{}
|
||||
\DeclareOption*{}
|
||||
\DeclareSymbolFont{}{}{}{}{}
|
||||
\DeclareSymbolFontAlphabet{}{}
|
||||
Def
|
||||
\defaulthyphenchar
|
||||
deflist
|
||||
delarray
|
||||
\depth
|
||||
description
|
||||
\descriptionlabel
|
||||
\displaybreak[]
|
||||
\displaystyle
|
||||
doc
|
||||
document
|
||||
\documentclass[]{}
|
||||
\documentstyle[]{}
|
||||
\dotfill
|
||||
dottedjoin
|
||||
\doublerulesep
|
||||
doublespace
|
||||
\dq
|
||||
draft
|
||||
draftcopy
|
||||
drawjoin
|
||||
\driver
|
||||
dutch
|
||||
dvips
|
||||
dvitops
|
||||
\ecaption
|
||||
eclbip
|
||||
ecltree
|
||||
eepic
|
||||
eepicemu
|
||||
\em
|
||||
\emergencystretch
|
||||
\emph{}
|
||||
empty
|
||||
emtex
|
||||
\enclname
|
||||
\encodingdefault
|
||||
\end{}
|
||||
\endcsname
|
||||
endfloat
|
||||
\endpostamble
|
||||
\endpreamble
|
||||
english
|
||||
\enlargethispage{}
|
||||
\enlargethispage*
|
||||
\enspace
|
||||
\ensuremath{}
|
||||
entry
|
||||
\entrylabel
|
||||
enumerate
|
||||
enumerate
|
||||
enumeration
|
||||
enumi
|
||||
enumii
|
||||
enumiii
|
||||
enumiv
|
||||
environment
|
||||
epic
|
||||
epsfig
|
||||
eqnarray
|
||||
eqnarray*
|
||||
\eqref
|
||||
equation
|
||||
equation
|
||||
equation*
|
||||
errorshow
|
||||
esperanto
|
||||
eucal
|
||||
eufrak
|
||||
euler
|
||||
euscript
|
||||
\evensidemargin
|
||||
Exa
|
||||
\ExecuteOptions
|
||||
executivepaper
|
||||
exscale
|
||||
\externaldocument
|
||||
\extracolsep
|
||||
\extrarowheight
|
||||
\extratabsurround
|
||||
\faketableofcontents
|
||||
\familydefault
|
||||
fancy
|
||||
fancybox
|
||||
fancyheadings
|
||||
\fbox{}
|
||||
\fboxrule
|
||||
\fboxsep
|
||||
figure
|
||||
figure
|
||||
\figurename
|
||||
figwindow
|
||||
filecontents
|
||||
\fill
|
||||
finalcolumnbadness
|
||||
final
|
||||
\Finale
|
||||
finnish
|
||||
fixed
|
||||
flatter
|
||||
flalign
|
||||
flalign*
|
||||
fleqn
|
||||
float
|
||||
floatfig
|
||||
floatingfigure
|
||||
\floatpagefraction
|
||||
\floatsep
|
||||
\flq
|
||||
\flqq
|
||||
\flushbottom
|
||||
\flushcolunms
|
||||
flushleft
|
||||
flushright
|
||||
\fminilength
|
||||
fminipage
|
||||
fnpara
|
||||
\fontdimen
|
||||
\fontencoding{}
|
||||
\fontfamily{}
|
||||
\fontseries{}
|
||||
\fontshape{}
|
||||
\fontsize{}{}
|
||||
\footnote{}
|
||||
footnote
|
||||
\footnotemark
|
||||
\footnoterule
|
||||
\footnotesep
|
||||
\footnotesize
|
||||
\footnotetext{}
|
||||
footnpag
|
||||
\footskip
|
||||
\framebox[][]{}
|
||||
FrameVerb
|
||||
francais
|
||||
french
|
||||
french
|
||||
\from{}{}
|
||||
\frq
|
||||
\frqq
|
||||
ftnright
|
||||
\fullref
|
||||
\fussy
|
||||
galician
|
||||
garamond
|
||||
gather
|
||||
gather*
|
||||
gathered
|
||||
\generateFile{}{}{}
|
||||
german
|
||||
german
|
||||
germanb
|
||||
\glossary
|
||||
\glossaryentry
|
||||
\glq
|
||||
\glqq
|
||||
graphics
|
||||
\grq
|
||||
\grqq
|
||||
hackalloc
|
||||
hangcaption
|
||||
harvard
|
||||
\hdotsfor[]{}
|
||||
\headheight
|
||||
headings
|
||||
\headsep
|
||||
\headtoname
|
||||
\height
|
||||
\help
|
||||
helvet
|
||||
here
|
||||
hhline
|
||||
\hline
|
||||
\hoffset
|
||||
\hrulefill
|
||||
\hspace
|
||||
\hspace*
|
||||
\Huge
|
||||
\huge
|
||||
\IfFileExists{}{}{}
|
||||
\iflanguage{}{}{}
|
||||
ifthen
|
||||
\ignorespaces
|
||||
\include{}
|
||||
\includeonly{}
|
||||
indentfirst
|
||||
index
|
||||
\indexentry
|
||||
\indexname
|
||||
infoshow
|
||||
\init
|
||||
\input
|
||||
inputenc
|
||||
\InputIfFileExists{}{}{}
|
||||
\intertext{}
|
||||
\intextsep
|
||||
intlimits
|
||||
isolatin1
|
||||
\it
|
||||
italian
|
||||
\itdefault
|
||||
\item
|
||||
\itemindent
|
||||
itemize
|
||||
\itemsep
|
||||
\itshape
|
||||
jmb
|
||||
\jot
|
||||
\keepsilent
|
||||
\l@chapter
|
||||
\l@example
|
||||
\l@figure
|
||||
\l@paragraph
|
||||
\l@part
|
||||
\l@section
|
||||
\1@subparagraph
|
||||
\l@subsection
|
||||
\l@subsubsection
|
||||
\l@table
|
||||
\label{}
|
||||
\labelenumi
|
||||
\labelenumii
|
||||
\labelenumiii
|
||||
\labelemuniv
|
||||
\labelitemi
|
||||
\labelitemii
|
||||
\labelitemiii
|
||||
\labelitemiv
|
||||
\labelsep
|
||||
\labelwidth
|
||||
\landscape
|
||||
landscape
|
||||
\LARGE
|
||||
\Large
|
||||
\large
|
||||
\lasthline
|
||||
latexsym,
|
||||
layout
|
||||
\left
|
||||
\leftmargin
|
||||
\leftmark
|
||||
legalpaper
|
||||
Lem
|
||||
Lentry
|
||||
\Lentrylabel{}
|
||||
leqno
|
||||
letter
|
||||
letterpaper
|
||||
\letterspace
|
||||
letterspace
|
||||
\linebreak
|
||||
\linethickness
|
||||
\linewidth
|
||||
list
|
||||
\listfigurename
|
||||
\listfiles
|
||||
\listofexamples
|
||||
\listoffigures
|
||||
\listoftables
|
||||
\listparindent
|
||||
\listtablename
|
||||
ln
|
||||
\LoadClass[]{}[]
|
||||
loading
|
||||
\longpage
|
||||
longtable
|
||||
\lowercase
|
||||
lrbox
|
||||
lscape
|
||||
\LTcapwidth
|
||||
\LTchunksize
|
||||
\LTleft
|
||||
\LTpost
|
||||
\LTpre
|
||||
\LTright
|
||||
lucid
|
||||
lucidbrb
|
||||
lucidbry
|
||||
lucmath
|
||||
\lVert
|
||||
\lvert
|
||||
\m@th
|
||||
macro
|
||||
macrocode
|
||||
macrocode*
|
||||
magyar
|
||||
\makeatletter
|
||||
\makeatother
|
||||
\makebox[][]{}
|
||||
\makeglossary
|
||||
makeidx
|
||||
\makelabel
|
||||
\maketitle
|
||||
\marginlabel{}
|
||||
\marginpar[]{}
|
||||
\marginparpush
|
||||
\marginparsep
|
||||
\marginparwidth
|
||||
\markboth{}{}
|
||||
\markright{}
|
||||
\mathalpha
|
||||
\mathbf
|
||||
\mathbin
|
||||
\mathcal
|
||||
\mathclose
|
||||
\mathindent
|
||||
\mathit
|
||||
\mathnormal
|
||||
\mathop
|
||||
\mathopen
|
||||
\mathord
|
||||
\mathpunct
|
||||
\mathrel
|
||||
\mathrm
|
||||
\mathsf
|
||||
\mathsfsl
|
||||
\mathsurround
|
||||
\mathtt
|
||||
\mathversion
|
||||
\matrix
|
||||
matrix
|
||||
MaxMatrixCols
|
||||
\mbox{}
|
||||
\mddefault
|
||||
\mdseries
|
||||
\medskip
|
||||
\medskipamount
|
||||
\medspace
|
||||
\Mentry
|
||||
\Mentrylabel
|
||||
\message
|
||||
minipage
|
||||
minitoc
|
||||
minitocdepth
|
||||
minitocoff
|
||||
mm
|
||||
moreverb
|
||||
mpfootnote
|
||||
\Msg
|
||||
\mspace
|
||||
\mtcfont
|
||||
\mtcindent
|
||||
mtimes
|
||||
mu
|
||||
multibox
|
||||
multicol
|
||||
multicols
|
||||
\multicolsep
|
||||
\multicolumn
|
||||
multind
|
||||
multirow
|
||||
multline
|
||||
multline*
|
||||
\multlinegap
|
||||
myheadings
|
||||
named
|
||||
namelimits
|
||||
\names
|
||||
nar
|
||||
natbib
|
||||
\naturalwidth
|
||||
nature
|
||||
\NeedsTeXFormat{}[]
|
||||
\negmedspace
|
||||
\negthickspace
|
||||
\negthinspace
|
||||
newapa
|
||||
\newblock
|
||||
newcent
|
||||
\newcolunmtype{}[]{}
|
||||
\newcommand{}
|
||||
\newenvironment{}[]{}{}
|
||||
\newfont
|
||||
\newindex
|
||||
\newlength
|
||||
newlfont
|
||||
\newpage
|
||||
\newsavebox{}
|
||||
\nfssfont
|
||||
\nocite{}
|
||||
\nocorr
|
||||
\nocorrlist
|
||||
\nofiglist
|
||||
\nofiles
|
||||
\nohyphens
|
||||
\noindent
|
||||
nointlimits
|
||||
nonamelimits
|
||||
\nonfrenchspacing
|
||||
\nonumber
|
||||
\nopagebreak
|
||||
\normalem
|
||||
\normalfont
|
||||
\normalmarginpar
|
||||
\normalsize
|
||||
norsk
|
||||
nosumlimits
|
||||
\notablist
|
||||
\notag
|
||||
Notes
|
||||
notes
|
||||
\numberline
|
||||
nynorsk
|
||||
\oddsidemargin
|
||||
oldgerm
|
||||
oldlfont
|
||||
\oldstylenums
|
||||
\onecolumn
|
||||
openbib
|
||||
\openin
|
||||
\OptionNotUsed
|
||||
order
|
||||
\Ovalbox{}
|
||||
\ovalbox{}
|
||||
overcite
|
||||
oztex
|
||||
\p@enumi
|
||||
\p@enumii
|
||||
\p@enumiii
|
||||
\p@enumiv
|
||||
page
|
||||
\pagebreak
|
||||
\pagename
|
||||
\pagenumbering
|
||||
\pageref
|
||||
\pagestyle
|
||||
palatino
|
||||
pandora
|
||||
\paperheight
|
||||
\paperwidth
|
||||
\paragraph{}
|
||||
paragraph
|
||||
\parbox[]{}{}
|
||||
parentequation
|
||||
\parindent
|
||||
\parsep
|
||||
\parskip
|
||||
\part{}
|
||||
part
|
||||
\part*{}
|
||||
\partname
|
||||
\partopsep
|
||||
\PassOptionsToClass{}{}
|
||||
\PassOptionsToPackage{}{}
|
||||
pausing
|
||||
pc
|
||||
\phantom
|
||||
Piautolist
|
||||
picinpar
|
||||
picture
|
||||
pifont
|
||||
Pilist
|
||||
plain
|
||||
\plainfootrulewidth
|
||||
\plainheadrulewidth
|
||||
pmatrix
|
||||
polish
|
||||
portland
|
||||
\portrait
|
||||
portrait
|
||||
portuges
|
||||
\postamble
|
||||
\postinulticols
|
||||
\preamble
|
||||
\prefacename
|
||||
\premulticols
|
||||
\PreserveBackslash
|
||||
\ProcessOptions
|
||||
\ProcessOptions*
|
||||
program
|
||||
program
|
||||
programbox
|
||||
proof
|
||||
\proofmodetrue
|
||||
\protect
|
||||
\providecommand
|
||||
\ProvidesClass
|
||||
\ProvidesFile
|
||||
\ProvidesPackage
|
||||
\ps@
|
||||
\ps@plain
|
||||
psamsfonts
|
||||
psboxit
|
||||
pstimesm
|
||||
pt
|
||||
\put
|
||||
\putbib
|
||||
\putfile
|
||||
\qquad
|
||||
\quad
|
||||
quotation
|
||||
Quote
|
||||
quote
|
||||
\raggedcolumns
|
||||
\raggedleft
|
||||
\raggedright
|
||||
\raisebox{}[][]{}
|
||||
\ratio
|
||||
\ref{}
|
||||
\refname{}
|
||||
\refstepcounter
|
||||
\reftextafter
|
||||
\reftextbefore
|
||||
\reftextcurrent
|
||||
\reftextfaceafter
|
||||
\reftextfacebefore
|
||||
\reftextfaraway
|
||||
\reftextvario{}{}
|
||||
Rem
|
||||
\renewconnnand{}
|
||||
\renewenvironment{}[]{}{}
|
||||
report
|
||||
reqno
|
||||
\RequirePackage
|
||||
resume
|
||||
\reversemarginpar
|
||||
\right
|
||||
\rightmargin
|
||||
\rightmark
|
||||
\rightskip
|
||||
\rm
|
||||
\rmdefault
|
||||
\rmfamily
|
||||
\Roman
|
||||
\roman
|
||||
Roman
|
||||
roman
|
||||
romanian
|
||||
rotate
|
||||
rotate
|
||||
rotating
|
||||
\rotcaption
|
||||
\rotdriver
|
||||
\rule
|
||||
russian
|
||||
\samepage
|
||||
\sAppendix
|
||||
\savebox{}[][]{}
|
||||
Sbox
|
||||
\sbox{}
|
||||
\sc
|
||||
\scdefault
|
||||
\scriptscriptstyle
|
||||
\scriptsize
|
||||
\scriptstyle
|
||||
\scshape
|
||||
\secdef
|
||||
secnumdepth
|
||||
\section{}
|
||||
section
|
||||
\section*{}
|
||||
\sectionmark
|
||||
\see
|
||||
\seename
|
||||
\selectfont
|
||||
\selectlanguage
|
||||
seminar
|
||||
\seriesdefault
|
||||
\setlength
|
||||
\setmargins
|
||||
\setmarginsrb
|
||||
\SetMathAlphabet
|
||||
\setpapersize
|
||||
\SetSymbolFont
|
||||
\settodepth
|
||||
\settoheight{}{}
|
||||
\settowidth{}{}
|
||||
\sf
|
||||
\sfdefault
|
||||
\sffamily
|
||||
\shabox
|
||||
shadow
|
||||
\shadowsize
|
||||
\shapedefault
|
||||
\shapepar
|
||||
shapepar
|
||||
\shortindexingoff
|
||||
\shortindexingon
|
||||
\shortpage
|
||||
\shoveleft
|
||||
\shoveright
|
||||
\showcols
|
||||
showidx
|
||||
\showprogress
|
||||
showtags
|
||||
sideways
|
||||
sidewaysfigure
|
||||
sidewaystable
|
||||
\skip
|
||||
\sl
|
||||
\sldefault
|
||||
slides,
|
||||
\sloppy
|
||||
slovak
|
||||
slovene
|
||||
\slshape
|
||||
\small
|
||||
smallmatrix
|
||||
\smallskip
|
||||
\smallskipamount
|
||||
\SortNoop
|
||||
\sout
|
||||
sp
|
||||
\space
|
||||
spacing
|
||||
spanish
|
||||
split
|
||||
\squarepar
|
||||
\ss
|
||||
StandardModuleDepth
|
||||
\stop
|
||||
\stretch{}
|
||||
\string
|
||||
\strut
|
||||
subarray
|
||||
subequations
|
||||
subfigure
|
||||
\subitem
|
||||
\subparagraph{}
|
||||
subparagraph
|
||||
\subsection{}
|
||||
subsection
|
||||
\substack
|
||||
\subsubitem
|
||||
\subsubsection{}
|
||||
subsubsection
|
||||
sumlimits
|
||||
\suntaxonly
|
||||
supertab
|
||||
supertabular
|
||||
supertabular*
|
||||
\suppressfloats
|
||||
\swabfamily
|
||||
swedish
|
||||
\symbol
|
||||
syntonly
|
||||
t1enc
|
||||
tabbing
|
||||
\tabbingsep
|
||||
\tabcolsep
|
||||
\table
|
||||
table
|
||||
\tablename
|
||||
\tableofcontents
|
||||
\tableplace
|
||||
tabular
|
||||
tabular*
|
||||
TabularC
|
||||
tabularx
|
||||
tabularx
|
||||
\tabularxcolunm
|
||||
tabwindow
|
||||
tbtags
|
||||
\text{}
|
||||
\textbf{}
|
||||
\textfloatsep{}
|
||||
\textfraction{}
|
||||
\textfrak{}
|
||||
\textgoth{}
|
||||
\textheight{}
|
||||
\textit{}
|
||||
\textmd{}
|
||||
\textnormal{}
|
||||
\textrm{}
|
||||
\textsc{}
|
||||
\textsf{}
|
||||
\textsl{}
|
||||
\textstyle{}
|
||||
\textswab{}
|
||||
\texttt{}
|
||||
\textup{}
|
||||
textures
|
||||
\textwidth
|
||||
thebibliography
|
||||
\thechapter
|
||||
\theendnotes
|
||||
\heenumi
|
||||
\theenumii
|
||||
\theenumiii
|
||||
\theenumiv
|
||||
\theequation
|
||||
\thefootnote
|
||||
theglossary
|
||||
theindex
|
||||
\thempfootnote
|
||||
theorem
|
||||
\thepage
|
||||
\TheSbox
|
||||
\thesection
|
||||
\thesubfigure
|
||||
\thesubsection
|
||||
\thickspace
|
||||
\thinlines
|
||||
\thinspace
|
||||
\thispagestyle
|
||||
threeparttable
|
||||
threeparttable
|
||||
times
|
||||
\tiny
|
||||
tocdepth
|
||||
\today
|
||||
\tolerance
|
||||
\topcaption
|
||||
\topfigrule
|
||||
\topfraction
|
||||
\topmargin
|
||||
topnumber
|
||||
\topsep
|
||||
\topskip
|
||||
\totalheight
|
||||
totalnumber
|
||||
tracefnt
|
||||
\tracingfonts
|
||||
tracingmulticols
|
||||
\tracingtabularx
|
||||
trees
|
||||
\tt
|
||||
\ttdefault
|
||||
\ttfamily
|
||||
turkish
|
||||
turn
|
||||
\twlrm
|
||||
\twocolumn
|
||||
twocolumn
|
||||
twoside
|
||||
\typeout
|
||||
ulem
|
||||
\ULforem
|
||||
\uline
|
||||
unbalance
|
||||
\unboldmath
|
||||
\underset
|
||||
\unitlength
|
||||
\unskip
|
||||
\updefault
|
||||
upref
|
||||
\upshape
|
||||
\usage
|
||||
\usebox{}
|
||||
\usecounter
|
||||
\usefont
|
||||
\usepackage[]{}[]
|
||||
\uwave
|
||||
\vadjust
|
||||
\value
|
||||
varioref
|
||||
\vector
|
||||
Ventry
|
||||
\verb
|
||||
\verb*
|
||||
\vfill
|
||||
\vline
|
||||
vmargin
|
||||
\voffset
|
||||
\vpageref
|
||||
\vref
|
||||
\vrule
|
||||
\vspace
|
||||
\vspace*
|
||||
warningshow
|
||||
\WideMargins
|
||||
\width
|
||||
window
|
||||
\wlog
|
||||
wrapfig
|
||||
wrapfig
|
||||
wrapfigure
|
||||
\xleftarrow
|
||||
\xout
|
||||
xr
|
||||
\xspace
|
||||
xspace
|
2
lib/command/minitoc.lst
Executable file
2
lib/command/minitoc.lst
Executable file
|
@ -0,0 +1,2 @@
|
|||
\dominitoc
|
||||
\minitoc
|
2
lib/command/multibox.lst
Executable file
2
lib/command/multibox.lst
Executable file
|
@ -0,0 +1,2 @@
|
|||
\multiframe()(){}()[]{}
|
||||
\multimake()(){}()[]{}
|
0
lib/command/multicol.lst
Executable file
0
lib/command/multicol.lst
Executable file
3
lib/command/multind.lst
Executable file
3
lib/command/multind.lst
Executable file
|
@ -0,0 +1,3 @@
|
|||
\index{}
|
||||
\makeindex{}{}
|
||||
\printindex{}{}
|
2
lib/command/multirow.lst
Executable file
2
lib/command/multirow.lst
Executable file
|
@ -0,0 +1,2 @@
|
|||
\multirow{}[]{}[]{}
|
||||
\multirowsetup
|
2
lib/command/oldgerm.lst
Executable file
2
lib/command/oldgerm.lst
Executable file
|
@ -0,0 +1,2 @@
|
|||
\frakfamily
|
||||
\gothfamily
|
9
lib/command/pifont.lst
Executable file
9
lib/command/pifont.lst
Executable file
|
@ -0,0 +1,9 @@
|
|||
\ding{}
|
||||
dingautolist
|
||||
\dingfill
|
||||
\dingline
|
||||
dinglist
|
||||
\Pifill{}{}
|
||||
\Pifont{}
|
||||
\Piline{}{}
|
||||
\Pisymbol{}{}
|
3
lib/command/psboxit.lst
Executable file
3
lib/command/psboxit.lst
Executable file
|
@ -0,0 +1,3 @@
|
|||
\psboxit{}{}
|
||||
\PScommands
|
||||
\spbox
|
3
lib/command/shadow.lst
Executable file
3
lib/command/shadow.lst
Executable file
|
@ -0,0 +1,3 @@
|
|||
\sboxrule
|
||||
\sboxsep
|
||||
\sdim
|
2
lib/command/shapepar.lst
Executable file
2
lib/command/shapepar.lst
Executable file
|
@ -0,0 +1,2 @@
|
|||
\diamondpar
|
||||
\heartpar
|
3
lib/command/subfigure.lst
Executable file
3
lib/command/subfigure.lst
Executable file
|
@ -0,0 +1,3 @@
|
|||
\subfigcapskip
|
||||
\subfigtopskip
|
||||
\subfigure
|
5
lib/command/supertab.lst
Executable file
5
lib/command/supertab.lst
Executable file
|
@ -0,0 +1,5 @@
|
|||
\tablecaption{}
|
||||
\tablefirsthead{}
|
||||
\tablehead{}
|
||||
\tablelasttail{}
|
||||
\tabletail{}
|
1
lib/command/tabularx.lst
Executable file
1
lib/command/tabularx.lst
Executable file
|
@ -0,0 +1 @@
|
|||
\arraybackslash
|
6
lib/command/theorem.lst
Executable file
6
lib/command/theorem.lst
Executable file
|
@ -0,0 +1,6 @@
|
|||
\newtheorem{}{}
|
||||
\theorembodyfont{}
|
||||
\theoremheaderfont{}
|
||||
\theorempostskipamount{}
|
||||
\theorempreskipamount{}
|
||||
\theoremstyle{}
|
5
lib/command/trees.lst
Executable file
5
lib/command/trees.lst
Executable file
|
@ -0,0 +1,5 @@
|
|||
\branch{}{}{}:,.
|
||||
\branchlabels{}{}{}
|
||||
\leaf{}{}{}
|
||||
\root() .
|
||||
\tbranch{}{}{}:,.
|
11
lib/command/verbatim.lst
Executable file
11
lib/command/verbatim.lst
Executable file
|
@ -0,0 +1,11 @@
|
|||
listing
|
||||
listing*
|
||||
listingcont
|
||||
listingcont*
|
||||
\listinginput[]{}{}
|
||||
\verbatimtabinput[]{}
|
||||
verbatim
|
||||
verbatim*
|
||||
verbatimcmd
|
||||
verbatimtab
|
||||
verbatimwrite
|
3
lib/command/version.lst
Executable file
3
lib/command/version.lst
Executable file
|
@ -0,0 +1,3 @@
|
|||
\excludeversion
|
||||
\includeversion{}
|
||||
version
|
1
lib/command/xspace.lst
Executable file
1
lib/command/xspace.lst
Executable file
|
@ -0,0 +1 @@
|
|||
\@
|
11
lib/conf/encode.lst
Executable file
11
lib/conf/encode.lst
Executable file
|
@ -0,0 +1,11 @@
|
|||
######################################################
|
||||
# Tk LaTeX Editor
|
||||
# Distributed under GNU Public License
|
||||
# Author: Sergey Kalinin (aka BanZaj) banzaj@lrn.ru
|
||||
# Copyright (c) "CONERO lab", 2004, http://conero.lrn.ru
|
||||
######################################################
|
||||
#
|
||||
# Encode listing format: latex encode - tcl encode
|
||||
#
|
||||
######################################################
|
||||
latin1 iso8859-1
|
22
lib/conf/package.lst
Executable file
22
lib/conf/package.lst
Executable file
|
@ -0,0 +1,22 @@
|
|||
######################################################
|
||||
# Tk LaTeX Editor
|
||||
# Distributed under GNU Public License
|
||||
# Author: Sergey Kalinin (BanZaj) banzaj@lrn.ru
|
||||
# Copyright (c) "CONERO lab", 2002, http://conero.lrn.ru
|
||||
######################################################
|
||||
#
|
||||
# LaTeX pacckage list
|
||||
#
|
||||
######################################################
|
||||
babel
|
||||
color
|
||||
grapics
|
||||
graphicx
|
||||
fontenc
|
||||
inputenc
|
||||
latexsym
|
||||
longtable
|
||||
multicol
|
||||
|
||||
|
||||
|
161
lib/conf/tle.conf
Executable file
161
lib/conf/tle.conf
Executable file
|
@ -0,0 +1,161 @@
|
|||
######################################################
|
||||
# Tk LaTeX Editor
|
||||
# Distributed under GNU Public License
|
||||
# Author: Sergey Kalinin (BanZaj) banzaj@lrn.ru
|
||||
# Copyright (c) "CONERO lab", 2002, http://conero.lrn.ru
|
||||
######################################################
|
||||
|
||||
######################################################
|
||||
# MAIN SETTINGS
|
||||
######################################################
|
||||
|
||||
## LOCALE SETTING ##
|
||||
set locale "en"
|
||||
|
||||
## BACKUP FILES ##
|
||||
set backup(create) "Yes"
|
||||
set backup(del) "No"
|
||||
set backup(autosave) "No"
|
||||
|
||||
## HELP SYSTEM ##
|
||||
set help(encode) "koi8-r"
|
||||
|
||||
## ISPELL SETTINGS ##
|
||||
set ispell_lib /usr/lib/ispell
|
||||
set ispell_startindex "1.0"
|
||||
|
||||
## DIRECTORY SETTING ##
|
||||
set dir(tmp) [file join $env(HOME) tmp]
|
||||
set dir(doc) [file join $env(HOME) doc my]
|
||||
|
||||
## TIMERS ##
|
||||
## structure refresh time ##
|
||||
## default 1 min ##
|
||||
set timers(refresh) 60000
|
||||
## autosave opened files time ##
|
||||
## default 5 min ##
|
||||
set timers(autosave) 300000
|
||||
|
||||
######################################################
|
||||
# USER INTERFACE SETTINGS
|
||||
######################################################
|
||||
|
||||
## MAIN WINDOW GEOMETRY ##
|
||||
set gui(geometry) "750x550+0+0"
|
||||
|
||||
## NoteBook Tabs Specifies the side where to place the label of the pages. ##
|
||||
## must be "top" or "bottom"
|
||||
set gui(tabsLabel) "top"
|
||||
|
||||
## IMAGE THEME ##
|
||||
## must be "default" "stroke" ##
|
||||
set theme "stroke"
|
||||
|
||||
## SETING FONTS ##
|
||||
set font(normal) "Arial 10 normal roman"
|
||||
set font(bold) "Arial 10 bold roman"
|
||||
|
||||
## SETING COLOR ##
|
||||
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(lineNumberBg) "#bbbbbb"
|
||||
set color(lineNumberFg) "#000000"
|
||||
|
||||
## HighLightning Color ##
|
||||
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"
|
||||
|
||||
## RELIEF TOOL BUTTONS##
|
||||
## must be flat, groove, raised, ridge, solid, sunken or link ##
|
||||
set relief(btn) link
|
||||
|
||||
## RELIEF TOOL MENUS##
|
||||
## must be flat, groove, raised, ridge, solid, or sunken ##
|
||||
set relief(menu) groove
|
||||
|
||||
## SHOW TOOLBARS ##
|
||||
## must be: tool(toolbar_file_name) flag
|
||||
## where flag = 0 - hide, 1- show
|
||||
set tool(main) 1
|
||||
set tool(insert) 0
|
||||
set tool(math) 0
|
||||
set tool(format) 0
|
||||
|
||||
|
||||
######################################################
|
||||
# EDITOR SETTINGS
|
||||
######################################################
|
||||
## EDITOR FONTS ##
|
||||
set font(editNormal) "fixed"
|
||||
set font(editBold) "fixed"
|
||||
## EXTERNAL EDITOR ##
|
||||
set editor(extern) "No"
|
||||
set editor(prog) "/usr/bin/emacs"
|
||||
## AUTOMATICALLY WORD WRAPPING ##
|
||||
set editor(wrap) "word" ;# must be: none, word or char
|
||||
# this auto wraping string if string lenght more then editor(strLen)
|
||||
# must be "No" or "Yes"
|
||||
set editor(strWrap) "Yes"
|
||||
set editor(strLen) 100
|
||||
|
||||
######################################################
|
||||
# CONVERT/PREVIEW/PRINT SETTINGS
|
||||
######################################################
|
||||
|
||||
## CONVERT ##
|
||||
## %fileName - current file name
|
||||
## %dirName - currennt directory name
|
||||
set convert_cmd(dvi) "latex"
|
||||
set convert_cmd(ps) "dvips -Pwww -j0 -ta4 -o %dirName/%fileName.ps %dirName/%fileName.dvi"
|
||||
set convert_cmd(pdf) "ps2pdf %dirName/%fileName.ps"
|
||||
set convert_cmd(html) "latex2html -no_navigation -split 0"
|
||||
set convert_cmd(img) "convert"
|
||||
## PREVIEW ##
|
||||
set preview_cmd(dvi) "xdvi"
|
||||
set preview_cmd(ps) "gv"
|
||||
set preview_cmd(pdf) "acroread"
|
||||
set preview_cmd(html) "mozilla"
|
||||
|
||||
######################################################
|
||||
# MATH AND TEXT RENDERING PARAMETERS
|
||||
######################################################
|
||||
# image resolution
|
||||
set render(res) "100x100"
|
||||
# image format
|
||||
set render(format) "gif"
|
||||
# background color
|
||||
set render(bg) "white"
|
||||
# foreground color
|
||||
set render(fg) "black"
|
||||
# on/off transparency
|
||||
set render(trans) 0
|
||||
# on/off antialliasing
|
||||
set render(aa) 1
|
||||
|
||||
######################################################
|
||||
#
|
||||
######################################################
|
||||
|
||||
set thumb(show) "Yes"
|
||||
set thumb(resolution) "100x100"
|
||||
set thumb(format) "png" ;# must be jpg, gif, png
|
||||
|
||||
|
||||
|
||||
|
||||
|
94
lib/conf/tmp/first_proj.tex~
Executable file
94
lib/conf/tmp/first_proj.tex~
Executable file
|
@ -0,0 +1,94 @@
|
|||
%-----------------------------------------------------%
|
||||
% %
|
||||
% Подготовка научных статей, широкая страница %
|
||||
% (предусмотрена работа с рисунками) %
|
||||
% %
|
||||
%-----------------------------------------------------%
|
||||
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\usepackage[koi8-r]{inputenc}
|
||||
\usepackage[english,russian]{babel}
|
||||
|
||||
\usepackage{a4wide}
|
||||
\usepackage{graphicx}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\section{Задание}
|
||||
|
||||
Разработать программу для ввода данных и формирования файла для передачи в банк
|
||||
для системы пакетных платежей
|
||||
|
||||
\subsection{Входные данные}
|
||||
\begin{itemize}
|
||||
\item Название организации
|
||||
\item ФИО руководителя
|
||||
\item ФИО главного бухгалтера
|
||||
\item ФИО работника
|
||||
\item N счёта работника 20-ти значный
|
||||
\item Сумма платежа
|
||||
\item Назначение платежа
|
||||
\item Дата платежа
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Выходные данные}
|
||||
\begin{itemize}
|
||||
\item Печатная ведомость по прилагаемому образцу
|
||||
\item Файл содержащий список работников
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Поддерживаемые функции}
|
||||
\begin{itemize}
|
||||
\item Программа должна позволять вести список работников (ФИО, N счёта)
|
||||
\item Вести список платежей для каждого работника (Дата платежа, наименование,
|
||||
сумма)
|
||||
\item Формировать файл и распечатывать ведомость
|
||||
\item Возможность ввода и редактирования параметров для каждого предприятия (см.
|
||||
входные данные)
|
||||
\end{itemize}
|
||||
|
||||
\section{Реализация}
|
||||
|
||||
Данную программу планируется реализовать на языке C++, с использованием
|
||||
графической библиотеки WxWindow - это обеспечит независимость от используемой
|
||||
платформы (Linux, Windows, ...)
|
||||
|
||||
В качестве хранилища данных использовать MySQL либо Paradox (второе
|
||||
предпочтительнее)
|
||||
|
||||
\section{Структура классов}
|
||||
|
||||
\subsection{Personal}
|
||||
|
||||
Данный класс представляет работника предприятия. Доступные методы:
|
||||
|
||||
\textbf{\emph{add}} (\textbf{String} \textit{LastName}, \textbf{String}
|
||||
\textit{FirstName}, \textbf{String} \textit{MiddleName}, \textbf{Int}
|
||||
\textit{Schet}) - добавление работника
|
||||
|
||||
\textbf{\emph{edit}} (\textbf{Int} \textit{Id}, (\textbf{String} \textit{LastName},
|
||||
\textbf{String} \textit{FirstName}, \textbf{String} \textit{MiddleName},
|
||||
\textbf{Int} \textit{Schet}) - редактирование
|
||||
|
||||
\textbf{\emph{del}} (\textbf{Int} \textit{Id}) - удаление
|
||||
|
||||
\subsection{Payment}
|
||||
|
||||
Класс платежа. Методы:
|
||||
|
||||
\textbf{\emph{add}} (\textbf{Int} \textit{IdPerson}, \textbf{Int}
|
||||
\textit{Summa}, \textbf{String} \textit{Date}, \textbf{String}
|
||||
\textit{PaymentName}) - добавление платежа
|
||||
|
||||
\textbf{\emph{edit}} (\textbf{Int} \textit{Id}, \textbf{Int} \textit{IdPerson},
|
||||
\textbf{Int} \textit{Summa}, \textbf{String} \textit{Date}, \textbf{String}
|
||||
\textit{PaymentName}) - редактирование платежа
|
||||
|
||||
\textbf{\emph{del}} (\textbf{Int} \textit{Id}) - удаление
|
||||
|
||||
|
||||
\end{document}
|
||||
|
||||
|
||||
|
69
lib/gui/toolbar/format
Executable file
69
lib/gui/toolbar/format
Executable file
|
@ -0,0 +1,69 @@
|
|||
######################################################
|
||||
# Tk LaTeX Editor
|
||||
# Distributed under GNU Public License
|
||||
# Author: Sergey Kalinin (BanZaj) banzaj@lrn.ru
|
||||
# Copyright (c) "CONERO lab", 2002, http://conero.lrn.ru
|
||||
######################################################
|
||||
# Format ToolBar
|
||||
|
||||
menu insertsection.gif "Sections" {
|
||||
cmd "AddTextFont title" "Title" "Alt-t"
|
||||
cmd "AddTextFont author" "Author" "Alt-a"
|
||||
cmd "AddTextFont date" "Date" "Alt-d"
|
||||
cmd "AddTextCommand maketitle" "Make title"
|
||||
cmd "AddTextDouble begin{tilepage} end{tilepage}" "Title page"
|
||||
cmd "AddTextCommand tableofcontents" "Table of Contents"
|
||||
cmd "AddTextCommand listoftables" "List of Tables"
|
||||
cmd "AddTextCommand listoffigures "List of Figures"
|
||||
cmd "AddTextDouble begin{thebibliography} end{thebibliography}" "The Bibliography"
|
||||
cmd "AddTextCommand appendix "Appendix"
|
||||
cmd separator
|
||||
cmd "AddTextFont part" "Part"
|
||||
cmd "AddTextFont chapter" "Chapter"
|
||||
cmd "AddTextFont section" "Section"
|
||||
cmd "AddTextFont subsection" "SubSection"
|
||||
cmd "AddTextFont subsubsection" "SubSubSection"
|
||||
cmd "AddTextFont paragraph" "Paragraph"
|
||||
cmd "AddTextFont subparagraph" "SubParagraph"
|
||||
|
||||
}
|
||||
menu font_size.gif "Font size" {
|
||||
cmd "AddTextFont tiny" "tiny"
|
||||
cmd "AddTextFont scriptsize" "scriptsize"
|
||||
cmd "AddTextFont footnotesize" "footnotesize"
|
||||
cmd "AddTextFont small" "small"
|
||||
cmd "AddTextFont normalsize" "Normal"
|
||||
cmd "AddTextFont large" "large"
|
||||
cmd "AddTextFont Large" "Large"
|
||||
cmd "AddTextFont LARGE" "LARGE"
|
||||
cmd "AddTextFont huge" "huge"
|
||||
cmd "AddTextFont Huge" "Huge"
|
||||
}
|
||||
|
||||
menu font_width.gif "Font type" {
|
||||
cmd "AddTextFont textrm" "Romanic"
|
||||
cmd "AddTextFont textsf" "Sans Serif"
|
||||
cmd "AddTextFont texttt" "Typewriter Typeset"
|
||||
cmd separator
|
||||
cmd "AddTextFont textmd" "Middle Face"
|
||||
cmd "AddTextFont textbf" "Bold Face"
|
||||
cmd separator
|
||||
cmd "AddTextFont textup" "Up"
|
||||
cmd "AddTextFont textit" "Italic"
|
||||
cmd "AddTextFont textsl" "Slanted"
|
||||
cmd "AddTextFont textsc" "Small Caps"
|
||||
}
|
||||
button "AddTextFont emph" font_emph.gif "Emphasise"
|
||||
button "AddTextDouble begin{center} end{center}" align_center.gif "Align center"
|
||||
button "AddTextDouble begin{left} end{left}" align_left.gif "Align left"
|
||||
button "AddTextDouble begin{right} end{right}" align_right.gif "Align right"
|
||||
button "AddTextDouble begin{verbatim} end{verbatim}" verb.gif "Verbatim"
|
||||
Separator
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
17
lib/gui/toolbar/insert
Executable file
17
lib/gui/toolbar/insert
Executable file
|
@ -0,0 +1,17 @@
|
|||
######################################################
|
||||
# Tk LaTeX Editor
|
||||
# Distributed under GNU Public License
|
||||
# Author: Sergey Kalinin (BanZaj) banzaj@lrn.ru
|
||||
# Copyright (c) "CONERO lab", 2002, http://conero.lrn.ru
|
||||
######################################################
|
||||
|
||||
button "AddText itemize" itemize.gif "Add itemize list"
|
||||
button "AddText enumerate" numerate.gif "Add enumerate list"
|
||||
button "AddText image" image.gif "Insert image"
|
||||
Separator
|
||||
button "InsertTableDialog" table.gif "Add table"
|
||||
button "AddText date" date_time.gif "Insert curent date-time" "Alt-d"
|
||||
|
||||
|
||||
|
||||
|
43
lib/gui/toolbar/main
Executable file
43
lib/gui/toolbar/main
Executable file
|
@ -0,0 +1,43 @@
|
|||
# Main Toolbar file
|
||||
# useage :
|
||||
# "Command" image.file "Hint for baloon"
|
||||
|
||||
button "FileDialog new" new.gif "New file"
|
||||
button "FileDialog open" open.gif "Open file"
|
||||
button "FileDialog close" close.gif "Close"
|
||||
Separator
|
||||
button "FileDialog save" save.gif "Save file"
|
||||
button "FileDialog save_as" save_as.gif "Save file as"
|
||||
button "FileDialog save_all" save_all.gif "Save all"
|
||||
Separator
|
||||
button "CutPast undo" undo.gif "Undo"
|
||||
Separator
|
||||
button "CutPast cut" cut.gif "Cut into clipboard"
|
||||
button "CutPast copy" copy.gif "Copy into clipboard"
|
||||
button "CutPast paste" paste.gif "Paste from clipboard"
|
||||
Separator
|
||||
button "Find" find.gif "Find"
|
||||
button "SpellCheck $nb.f[$nb raise].f.text" spellcheck.gif "Spell check"
|
||||
Separator
|
||||
button "Convert dvi" dvi.gif "Make DVI"
|
||||
button "Preview dvi" dvi_preview.gif "View DVI" "Alt-F5"
|
||||
button "Convert ps" ps.gif "Make PS"
|
||||
button "Preview ps" ps_preview.gif "View PS" "Alt-F6"
|
||||
button "Convert pdf" pdf.gif "Convert to PDF"
|
||||
button "Preview pdf" pdf_preview.gif "View PDF" "Alt-F7"
|
||||
button "Convert html" htmlconvert.gif "Convert to HTML"
|
||||
button "Preview html" html_preview.gif "View HTML"
|
||||
Separator
|
||||
button "PrintDialog print" print.gif "Print ..."
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
106
lib/gui/toolbar/math
Executable file
106
lib/gui/toolbar/math
Executable file
|
@ -0,0 +1,106 @@
|
|||
########################################################
|
||||
# Tk LaTeX Editor
|
||||
# Distributed under GNU Public License
|
||||
# Author: Sergey Kalinin (BanZaj) banzaj@lrn.ru
|
||||
# Copyright (c) "CONERO lab", 2002, http://conero.lrn.ru
|
||||
########################################################
|
||||
# Mathematical ToolBar
|
||||
# Author: Constantin i Mikhailenko (Const)
|
||||
########################################################
|
||||
|
||||
menu math/equation.gif "Math mode" {
|
||||
cmd "AddTextDouble begin{math} end{math}" "math"
|
||||
cmd "AddTextMath ( )" "( ... )"
|
||||
cmd "AddTextMath $ $" "$ ... $"
|
||||
cmd separator
|
||||
cmd "AddTextDouble begin{displaymath}\n end{displaymath}" "displaymath"
|
||||
cmd "AddTextMath \[ \]" "[ ... ]"
|
||||
cmd "AddTextMath $$ $$" "$$ ... $$"
|
||||
cmd separator
|
||||
cmd "AddTextDouble begin{equation}\n end{equation}" "equation"
|
||||
cmd "AddTextDouble begin{eqarray}\n end{eqarray}" "eqarray"
|
||||
}
|
||||
|
||||
menu math/alpha-nu.gif "Greek 1" {
|
||||
imagecmd "AddTextCommand alpha" "\alpha" math/alpha.gif
|
||||
imagecmd "AddTextCommand beta" "\beta" math/beta.gif
|
||||
imagecmd "AddTextCommand gamma" "\gamma" math/gamma.gif
|
||||
imagecmd "AddTextCommand delta" "\delta" math/delta.gif
|
||||
imagecmd "AddTextCommand zeta" "\zeta" math/zeta.gif
|
||||
imagecmd "AddTextCommand epsilon" "\epsilon" math/epsilon.gif
|
||||
imagecmd "AddTextCommand varepsilon" "\varepsilon" math/varepsilon.gif
|
||||
imagecmd "AddTextCommand eta" "\eta" math/eta.gif
|
||||
imagecmd "AddTextCommand theta" "\theta" math/theta.gif
|
||||
imagecmd "AddTextCommand vartheta" "\vartheta" math/vartheta.gif
|
||||
imagecmd "AddTextCommand iota" "\iota" math/iota.gif
|
||||
imagecmd "AddTextCommand kappa" "\kappa" math/kappa.gif
|
||||
imagecmd "AddTextCommand lambda" "\lambda" math/lambda.gif
|
||||
imagecmd "AddTextCommand mu" "\mu" math/mu.gif
|
||||
imagecmd "AddTextCommand nu" "\nu" math/nu.gif
|
||||
}
|
||||
|
||||
menu math/xi-omega.gif "Greek 2" {
|
||||
imagecmd "AddTextCommand xi" "\xi" math/xi.gif
|
||||
imagecmd "AddTextCommand tau" "\tau" math/tau.gif
|
||||
imagecmd "AddTextCommand upsilon" "\upsilon" math/upsilon.gif
|
||||
imagecmd "AddTextCommand pi" "\pi" math/pi.gif
|
||||
imagecmd "AddTextCommand varpi" "\varpi" math/varpi.gif
|
||||
imagecmd "AddTextCommand rho" "\rho" math/rho.gif
|
||||
imagecmd "AddTextCommand varrho" "\varrho" math/varrho.gif
|
||||
imagecmd "AddTextCommand sigma" "\sigma" math/sigma.gif
|
||||
imagecmd "AddTextCommand varsigma" "\varsigma" math/varsigma.gif
|
||||
imagecmd "AddTextCommand o" "o" math/omikron.gif
|
||||
imagecmd "AddTextCommand \phi" "\phi" math/phi.gif
|
||||
imagecmd "AddTextCommand varphi" "\varphi" math/varphi.gif
|
||||
imagecmd "AddTextCommand chi" "\chi" math/chi.gif
|
||||
imagecmd "AddTextCommand psi" "\psi" math/psi.gif
|
||||
imagecmd "AddTextCommand omega" "\omega" math/omega.gif
|
||||
}
|
||||
|
||||
menu math/omega.gif "Greek" {
|
||||
imagecmd "AddTextCommand Gamma" "\Gamma" math/gamma.gif
|
||||
imagecmd "AddTextCommand Delta" "\Delta" math/delta.gif
|
||||
imagecmd "AddTextCommand Theta" "\Theta" math/theta.gif
|
||||
imagecmd "AddTextCommand Xi" "\Xi" math/xi.gif
|
||||
imagecmd "AddTextCommand Upsilon" "\Upsilon" math/upsilon.gif
|
||||
imagecmd "AddTextCommand Pi" "\Pi" math/pi.gif
|
||||
imagecmd "AddTextCommand Sigma" "\sigma" math/sigma.gif
|
||||
imagecmd "AddTextCommand Phi" "\Phi" math/phi.gif
|
||||
imagecmd "AddTextCommand Psi" "\Psi" math/psi.gif
|
||||
imagecmd "AddTextCommand Omega" "\omega" math/omega.gif
|
||||
}
|
||||
|
||||
menu math/accent.gif "Accents" {
|
||||
imagecmd "AddTextFont hat" "\hat{}" math/hat.gif
|
||||
imagecmd "AddTextFont check" "\check{}" math/check.gif
|
||||
imagecmd "AddTextFont breve" "\breve{}" math/breve.gif
|
||||
imagecmd "AddTextFont acute" "\acute{}" math/acute.gif
|
||||
imagecmd "AddTextFont grave" "\grave{}" math/grave.gif
|
||||
imagecmd "AddTextFont tilde" "\tilde{}" math/tilde.gif
|
||||
imagecmd "AddTextFont bar" "\bar{}" math/bar.gif
|
||||
imagecmd "AddTextFont vec" "\vec{}" math/vec.gif
|
||||
imagecmd "AddTextFont dot" "\dot{}" math/dot.gif
|
||||
imagecmd "AddTextFont ddot" "\ddot{}" math/ddot.gif
|
||||
cmd separator
|
||||
imagecmd "AddTextFont widehat" "\widehat{}" math/widehat.gif
|
||||
imagecmd "AddTextFont widetilde" "\widetilde{}" math/widetilde.gif
|
||||
}
|
||||
|
||||
menu math/math_font.gif "Mathematical fonts" {
|
||||
cmd "AddTextFont mathnormal" "Normal"
|
||||
cmd separator
|
||||
cmd "AddTextFont mathrm" "Romanic"
|
||||
cmd "AddTextFont mathbf" "Boldface"
|
||||
cmd "AddTextFont mathsf" "SansSerif"
|
||||
cmd "AddTextFont mathtt" "TypeWriter Typeset"
|
||||
cmd "AddTextFont mathit" "Italic"
|
||||
cmd separator
|
||||
cmd "AddTextFont mathcal" "Calligraphic"
|
||||
cmd separator
|
||||
cmd "AddTextFont boldmath" "BoldMath"
|
||||
cmd "AddTextFont unboldmath" "UnboldMath"
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
53
lib/modules/about.tcl
Executable file
53
lib/modules/about.tcl
Executable file
|
@ -0,0 +1,53 @@
|
|||
########################################################
|
||||
# Tk LaTeX Editor
|
||||
# Distributed under GNU Public License
|
||||
# Author: Sergey Kalinin banzaj@lrn.ru
|
||||
# Copyright (c) "CONERO lab", 2002, http://conero.lrn.ru
|
||||
########################################################
|
||||
|
||||
## ABOUT DIALOG ##
|
||||
proc AboutDialog {} {
|
||||
global dir tree nb ver font release
|
||||
|
||||
set w .about
|
||||
if {[winfo exists $w]} {
|
||||
destroy $w
|
||||
}
|
||||
toplevel $w
|
||||
wm title $w [::msgcat::mc "About ..."]
|
||||
#wm resizable $w 0 0
|
||||
wm transient $w .
|
||||
|
||||
frame $w.frmImg -borderwidth 2 -relief ridge -background black
|
||||
image create photo imgAbout -format gif -file [file join $dir(img) tle.gif]
|
||||
image create photo imgConero -format gif -file [file join $dir(img) conero.gif]
|
||||
|
||||
label $w.frmImg.lblImg -image imgAbout -background black
|
||||
|
||||
pack $w.frmImg.lblImg -side top -fill x
|
||||
|
||||
frame $w.frmlbl -borderwidth 2 -relief ridge -background "#8700d1"
|
||||
label $w.frmlbl.lblVersion -text "[::msgcat::mc Version] $ver$release"\
|
||||
-background "#8700d1" -foreground black
|
||||
label $w.frmlbl.lblAuthorName -text "[::msgcat::mc Authors]:"\
|
||||
-background "#8700d1" -foreground black
|
||||
label $w.frmlbl.lblAuthor1 -text "Sergey Kalinin (aka BanZaj), banzaj@lrn.ru"\
|
||||
-background "#8700d1" -foreground black
|
||||
label $w.frmlbl.lblAuthor2 -text "Constantin I Makhailenko (aka Const), const@mail.ru"\
|
||||
-background "#8700d1" -foreground black
|
||||
|
||||
pack $w.frmlbl.lblVersion $w.frmlbl.lblAuthorName $w.frmlbl.lblAuthor1 $w.frmlbl.lblAuthor2 -side top -padx 5
|
||||
pack $w.frmImg -side top -fill x
|
||||
pack $w.frmlbl -side top -expand true -fill both
|
||||
|
||||
bind $w <Escape> "destroy .about"
|
||||
bind $w <Return> "destroy .about"
|
||||
#
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
234
lib/modules/addtext.tcl
Executable file
234
lib/modules/addtext.tcl
Executable file
|
@ -0,0 +1,234 @@
|
|||
######################################################
|
||||
# TkTeXEditor
|
||||
# Distributed under GNU Public License
|
||||
# Author: Sergey Kalinin (BanZaj) banzaj@lrn.ru
|
||||
# Copyright (c) "CONERO lab", 2002, http://conero.lrn.ru
|
||||
######################################################
|
||||
|
||||
proc AddText {action} {
|
||||
global dir font color nb
|
||||
set node [$nb raise]
|
||||
if {$node == "" || $node == "debug"} {return}
|
||||
set text "$nb.f$node.f.text"
|
||||
set pos [$text index insert]
|
||||
set curLine [lindex [split $pos "."] 0]
|
||||
set cursor [lindex [split $pos "."] 1]
|
||||
set editLine [$text get $curLine.0 $pos]
|
||||
set types {
|
||||
{"EPS" {.eps}}
|
||||
{"PDF" {.pdf}}
|
||||
{"PNG" {.png}}
|
||||
{"JPG" {.jpg}}
|
||||
{"GIF" {.gif}}
|
||||
}
|
||||
set selIndex [$text tag ranges sel]
|
||||
if {$selIndex != ""} {
|
||||
set posBegin [lindex $selIndex 0]
|
||||
set posEnd [lindex $selIndex 1]
|
||||
set curLine [string range $posBegin 0 [expr [string first "\." $posBegin] - 1]]
|
||||
set cursor [string range $posBegin [expr [string first "\." $posBegin] + 1] end]
|
||||
set endLine [string range $posEnd 0 [expr [string first "\." $posEnd] - 1]]
|
||||
set endCur [string range $posEnd [expr [string first "\." $posBegin] + 1] end]
|
||||
set selText [$text get $posBegin $posEnd]
|
||||
} else {
|
||||
set posBegin "$curLine.$cursor"
|
||||
set endLine [expr $curLine +1]
|
||||
set endCur 0
|
||||
}
|
||||
switch -- $action {
|
||||
enumerate {
|
||||
#insert - 1 chars wordstart" "insert wordend - 1 chars"
|
||||
$text insert $posBegin "\\begin\{enumerate\}\n"
|
||||
$text insert [expr $curLine +1].0 "\\item \n"
|
||||
$text insert [expr $curLine +2].0 "\\end\{enumerate\}"
|
||||
set t [$text get $posBegin $curLine.end]
|
||||
set curPos "[expr $curLine + 1]\.end"
|
||||
}
|
||||
image {
|
||||
set file [tk_getOpenFile -initialdir $dir(doc) -filetypes $types -parent .\
|
||||
-title "[::msgcat::mc "Select image"]"]
|
||||
#set fileName [file tail $file]
|
||||
if {$file == ""} {
|
||||
return
|
||||
}
|
||||
$text insert $posBegin "\\includegraphics\[\]\{$file\}\n"
|
||||
set t [$text get $posBegin $curLine.end]
|
||||
set curPos "$curLine\.[string last "\\" $t]"
|
||||
}
|
||||
itemize {
|
||||
$text insert $posBegin "\\begin\{itemize\}\n"
|
||||
$text insert [expr $curLine +1].0 "\\item \n"
|
||||
$text insert [expr $curLine +2].0 "\\end\{itemize\}"
|
||||
set t [$text get $posBegin $curLine.end]
|
||||
set curPos "[expr $curLine +1]\.end"
|
||||
}
|
||||
item {
|
||||
set editLine [$text get [expr $curLine - 1].0 $pos]
|
||||
if [regexp -nocase -all -- {(\\item)} $editLine match v1] {
|
||||
$text insert $curLine.0 "\\item "
|
||||
set curPos "$curLine\.6"
|
||||
} else {
|
||||
return
|
||||
}
|
||||
}
|
||||
date {
|
||||
set editLine [$text get [expr $curLine - 1].0 $pos]
|
||||
set unixTime [exec date +%s]
|
||||
set dateTime [clock format $unixTime -format "%d.%m.%Y, %H:%M:%S"]
|
||||
$text insert $curLine.0 "$dateTime"
|
||||
set curPos "$curLine\.end"
|
||||
}
|
||||
}
|
||||
$text mark set insert $curPos
|
||||
$text see insert
|
||||
}
|
||||
|
||||
######################################################
|
||||
|
||||
proc AddTextFont {action} {
|
||||
global dir font color nb
|
||||
set node [$nb raise]
|
||||
if {$node == "" || $node == "debug"} {return}
|
||||
set text "$nb.f$node.f.text"
|
||||
set pos [$text index insert]
|
||||
set curLine [lindex [split $pos "."] 0]
|
||||
set cursor [lindex [split $pos "."] 1]
|
||||
set editLine [$text get $curLine.0 $pos]
|
||||
set selIndex [$text tag ranges sel]
|
||||
if {$selIndex != ""} {
|
||||
set posBegin [lindex $selIndex 0]
|
||||
set posEnd [lindex $selIndex 1]
|
||||
set curLine [string range $posBegin 0 [expr [string first "\." $posBegin] - 1]]
|
||||
set cursor [string range $posBegin [expr [string first "\." $posBegin] + 1] end]
|
||||
set endLine [string range $posEnd 0 [expr [string first "\." $posEnd] - 1]]
|
||||
set endCur [string range $posEnd [expr [string first "\." $posBegin] + 1] end]
|
||||
set selText [$text get $posBegin $posEnd]
|
||||
$text insert $endLine.$endCur "\}"
|
||||
$text insert $posBegin "\\$action\{"
|
||||
set t [$text get $posBegin $curLine.end]
|
||||
set curPos "$endLine\.end"
|
||||
$text mark set insert $curPos
|
||||
} else {
|
||||
set posBegin "$curLine.$cursor"
|
||||
set endLine [expr $curLine +0]
|
||||
$text insert $posBegin "\\$action\{\}"
|
||||
$text mark set insert "$endLine.end - 1 chars"
|
||||
}
|
||||
$text see insert
|
||||
}
|
||||
|
||||
proc AddTextCommand {action} {
|
||||
global dir font color nb
|
||||
set node [$nb raise]
|
||||
if {$node == "" || $node == "debug"} {return}
|
||||
set text "$nb.f$node.f.text"
|
||||
set pos [$text index insert]
|
||||
set curLine [lindex [split $pos "."] 0]
|
||||
set cursor [lindex [split $pos "."] 1]
|
||||
set editLine [$text get $curLine.0 $pos]
|
||||
set selIndex [$text tag ranges sel]
|
||||
if {$selIndex != ""} {
|
||||
set posBegin [lindex $selIndex 0]
|
||||
set posEnd [lindex $selIndex 1]
|
||||
set curLine [string range $posBegin 0 [expr [string first "\." $posBegin] - 1]]
|
||||
set cursor [string range $posBegin [expr [string first "\." $posBegin] + 1] end]
|
||||
set endLine [string range $posEnd 0 [expr [string first "\." $posEnd] - 1]]
|
||||
set endCur [string range $posEnd [expr [string first "\." $posBegin] + 1] end]
|
||||
set selText [$text get $posBegin $posEnd]
|
||||
$text insert $posBegin "\\$action "
|
||||
set t [$text get $posBegin $curLine.end]
|
||||
set curPos "$endLine\.end"
|
||||
$text mark set insert $curPos
|
||||
} else {
|
||||
set posBegin "$curLine.$cursor"
|
||||
set endLine [expr $curLine +0]
|
||||
$text insert $posBegin "\\$action "
|
||||
$text mark set insert "$endLine.end"
|
||||
}
|
||||
$text see insert
|
||||
}
|
||||
|
||||
proc AddTextDouble {beginText endText} {
|
||||
global dir font color nb
|
||||
set node [$nb raise]
|
||||
if {$node == "" || $node == "debug"} {return}
|
||||
set text "$nb.f$node.f.text"
|
||||
set pos [$text index insert]
|
||||
set curLine [lindex [split $pos "."] 0]
|
||||
set cursor [lindex [split $pos "."] 1]
|
||||
set editLine [$text get $curLine.0 $pos]
|
||||
set selIndex [$text tag ranges sel]
|
||||
|
||||
if {$selIndex != ""} {
|
||||
set posBegin [lindex $selIndex 0]
|
||||
set posEnd [lindex $selIndex 1]
|
||||
set curLine [string range $posBegin 0 [expr [string first "\." $posBegin] - 1]]
|
||||
set cursor [string range $posBegin [expr [string first "\." $posBegin] + 1] end]
|
||||
set endLine [string range $posEnd 0 [expr [string first "\." $posEnd] - 1]]
|
||||
set endCur [string range $posEnd [expr [string first "\." $posBegin] + 1] end]
|
||||
set selText [$text get $posBegin $posEnd]
|
||||
if {[string range $endText 0 1] == "\n"} {
|
||||
$text insert $endLine.$endCur " \\$endText"
|
||||
} else {
|
||||
$text insert $endLine.$endCur "\n\\[string trim $endText "\n"]"
|
||||
}
|
||||
$text insert $posBegin "\\$beginText "
|
||||
} else {
|
||||
set posBegin "$curLine.$cursor"
|
||||
if {[string range $endText 0 1] == "\n"} {
|
||||
$text insert $posBegin "\\$beginText \\$endText"
|
||||
} else {
|
||||
$text insert $posBegin "\\$beginText \n\\[string trim $endText "\n"]"
|
||||
puts "$beginText $endText"
|
||||
}
|
||||
}
|
||||
|
||||
set ind [expr [string length $beginText] + 2]
|
||||
set curPos "$posBegin + $ind chars"
|
||||
$text mark set insert $curPos
|
||||
$text see insert
|
||||
}
|
||||
|
||||
proc AddTextMath {beginText endText} {
|
||||
global dir font color nb
|
||||
set node [$nb raise]
|
||||
if {$node == "" || $node == "debug"} {return}
|
||||
set text "$nb.f$node.f.text"
|
||||
set pos [$text index insert]
|
||||
set curLine [lindex [split $pos "."] 0]
|
||||
set cursor [lindex [split $pos "."] 1]
|
||||
set editLine [$text get $curLine.0 $pos]
|
||||
set selIndex [$text tag ranges sel]
|
||||
|
||||
if {$selIndex != ""} {
|
||||
set posBegin [lindex $selIndex 0]
|
||||
set posEnd [lindex $selIndex 1]
|
||||
set curLine [string range $posBegin 0 [expr [string first "\." $posBegin] - 1]]
|
||||
set cursor [string range $posBegin [expr [string first "\." $posBegin] + 1] end]
|
||||
set endLine [string range $posEnd 0 [expr [string first "\." $posEnd] - 1]]
|
||||
set endCur [string range $posEnd [expr [string first "\." $posBegin] + 1] end]
|
||||
set selText [$text get $posBegin $posEnd]
|
||||
if {[string range $endText 0 1] == "\n"} {
|
||||
$text insert $endLine.$endCur " $endText"
|
||||
} else {
|
||||
$text insert $endLine.$endCur "[string trim $endText "\n"]"
|
||||
}
|
||||
$text insert $posBegin "$beginText "
|
||||
} else {
|
||||
set posBegin "$curLine.$cursor"
|
||||
if {[string range $endText 0 1] == "\n"} {
|
||||
$text insert $posBegin "$beginText \\$endText"
|
||||
} else {
|
||||
$text insert $posBegin "$beginText [string trim $endText "\n"]"
|
||||
}
|
||||
}
|
||||
set ind [expr [string length $beginText] + 2]
|
||||
set curPos "$posBegin + $ind chars"
|
||||
$text mark set insert $curPos
|
||||
$text see insert
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
84
lib/modules/baloon.tcl
Executable file
84
lib/modules/baloon.tcl
Executable file
|
@ -0,0 +1,84 @@
|
|||
#######################################################################
|
||||
# Baloon help
|
||||
# Author: Alexander Dederer
|
||||
# Usage:
|
||||
# Set balloon tips to widget:
|
||||
# balloon $widget set "Hello World"
|
||||
# balloon [button .exit -text "exit" -command exit] set "Hello world"
|
||||
#
|
||||
# Clear ballon tips from widget:
|
||||
# balloon $widget clear
|
||||
#
|
||||
# Show balloon tips on widget:
|
||||
# balloon $widget show "Hello World"
|
||||
#######################################################################
|
||||
|
||||
proc balloon { widget action args } {
|
||||
global BALLOON font
|
||||
|
||||
switch -- $action {
|
||||
set {
|
||||
if { $args != {{}} } {
|
||||
balloon $widget clear
|
||||
#bind $widget <Any-Enter> "after 1000 [list balloon %W show $args mousepointer %X %Y]"
|
||||
#bind $widget <Any-Leave> "catch { destroy %W.balloon }"
|
||||
bind $widget <Enter> " balloon $widget show $args "
|
||||
bind $widget <Leave> " wm withdraw .bubble "
|
||||
}
|
||||
}
|
||||
show {
|
||||
if ![winfo exists .bubble] {
|
||||
toplevel .bubble -relief flat -background black -bd 1
|
||||
wm withdraw .bubble
|
||||
update
|
||||
array set attrFont [font actual fixed]
|
||||
set attrFont(-size) [expr $attrFont(-size) - 2]
|
||||
eval pack [message .bubble.txt -aspect 5000 -bg lightyellow \
|
||||
-font $font(normal) -text [lindex $args 0]]
|
||||
pack .bubble.txt
|
||||
wm transient .bubble .
|
||||
wm overrideredirect .bubble 1
|
||||
bind .bubble <Enter> "wm withdraw .bubble"
|
||||
}
|
||||
|
||||
if {$args == ""} { wm withdraw .bubble }
|
||||
set text [lindex $args 0]
|
||||
|
||||
set BALLOON $text
|
||||
switch $text {
|
||||
"" { wm withdraw .bubble ; update }
|
||||
"default" {
|
||||
after 1000 "raise_balloon $widget {$text}"
|
||||
after 7000 "if { \$BALLOON == {$text} } { wm withdraw .bubble ; update }"
|
||||
}
|
||||
} ;# switch
|
||||
}
|
||||
clear {
|
||||
catch { destroy .balloon }
|
||||
bind $widget <Enter> {}
|
||||
bind $widget <Leave> {}
|
||||
}
|
||||
} ;# switch action
|
||||
} ;# proc balloon
|
||||
|
||||
|
||||
proc raise_balloon {widget text} {
|
||||
global BALLOON
|
||||
|
||||
if { $BALLOON != $text } { wm withdraw .bubble ; update ; return }
|
||||
set cur_widget [winfo containing [winfo pointerx .] [winfo pointery .]]
|
||||
if { $cur_widget != $widget } { return }
|
||||
|
||||
raise .bubble
|
||||
.bubble.txt configure -text $text
|
||||
set b_x [expr [winfo pointerx .] - [winfo reqwidth .bubble]/2]
|
||||
set b_y [expr [winfo pointery .] + 15]
|
||||
wm geometry .bubble +$b_x+$b_y
|
||||
wm deiconify .bubble
|
||||
update
|
||||
} ;# proc raise_balloon
|
||||
|
||||
|
||||
|
||||
|
||||
|
163
lib/modules/completition.tcl
Executable file
163
lib/modules/completition.tcl
Executable file
|
@ -0,0 +1,163 @@
|
|||
###########################################################
|
||||
# Tcl/Tk Project Manager #
|
||||
# Distrubuted under GPL #
|
||||
# Copyright (c) "CONERO lab", 2002, http://conero.lrn.ru #
|
||||
# Author: Sergey Kalinin (aka BanZaj) banzaj@lrn.ru #
|
||||
###########################################################
|
||||
# AutoCompletition Procedure #
|
||||
# Author Alex DEDERER #
|
||||
# Modify by Sergey (BanZaj) Kalinin 23.05.2002 #
|
||||
###########################################################
|
||||
|
||||
proc auto_completition { widget } {
|
||||
set start_word [$widget get "insert - 1 chars wordstart" insert]
|
||||
set box [$widget bbox insert]
|
||||
set box_x [expr [lindex $box 0] + [winfo rootx $widget] ]
|
||||
set box_y [expr [lindex $box 1] + [winfo rooty $widget] + [lindex $box 3] ]
|
||||
|
||||
set cnt 0
|
||||
set pos "1.0"
|
||||
set last_pos ""
|
||||
set pattern "$start_word\\w*"
|
||||
|
||||
set list_word($start_word) 1
|
||||
while { ([set start [$widget search -count cnt -regexp -- $pattern $pos end]] != "") } {
|
||||
set word [$widget get $start "$start + $cnt chars"]
|
||||
if { ![string equal $start_word $word] } { set list_word($word) 1 }
|
||||
set pos [$widget index "$pos + [expr $cnt + 1] chars"]
|
||||
if { [string equal $last_pos $pos] } { break }
|
||||
set last_pos $pos
|
||||
} ;# while
|
||||
|
||||
bindtags $widget [list CompletitionBind [winfo toplevel $widget] $widget Text sysAfter all]
|
||||
bind CompletitionBind <Escape> "bindtags $widget {[list [winfo toplevel $widget] $widget Text sysAfter all]}; catch { destroy .aCompletition }"
|
||||
bind CompletitionBind <Key> { auto_completition_key %W %K %A ; break}
|
||||
eval auto_completition_win $box_x $box_y [array names list_word]
|
||||
} ;# proc auto_completition
|
||||
|
||||
## PROCEDURE LIST ##
|
||||
## by BanZaj ##
|
||||
proc AutoComplit {} {
|
||||
global cmd activeFile nb
|
||||
set node $activeFile
|
||||
if {$node == ""} {return}
|
||||
set widget "$nb.f$node.f.text"
|
||||
|
||||
set start_word [$widget get "insert - 1 chars wordstart" insert]
|
||||
set box [$widget bbox insert]
|
||||
set box_x [expr [lindex $box 0] + [winfo rootx $widget] ]
|
||||
set box_y [expr [lindex $box 1] + [winfo rooty $widget] + [lindex $box 3] ]
|
||||
|
||||
set cnt 0
|
||||
set pos "1.0"
|
||||
set last_pos ""
|
||||
set pattern "$start_word\\w*"
|
||||
set i 0
|
||||
|
||||
for {set j 0} {$j <= [llength $cmd(all)]} {incr j} {
|
||||
set line [lindex $cmd(all) $j]
|
||||
if [regexp -nocase -all -- {(\\)([a-zA-Z]*)(\{\})} $line word] {
|
||||
set word [string trim $word "\\"]
|
||||
if {[string match "$start_word*" $word]} {
|
||||
set list_word($word) $word
|
||||
incr i
|
||||
}
|
||||
}
|
||||
if {[string match "$start_word*" $line]} {
|
||||
set list_word($line) $line
|
||||
incr i
|
||||
}
|
||||
}
|
||||
if {[array names list_word] == ""} {
|
||||
return
|
||||
}
|
||||
bindtags $widget [list CompletitionBind [winfo toplevel $widget] $widget Text sysAfter all]
|
||||
bind CompletitionBind <Escape> "bindtags $widget {[list [winfo toplevel $widget] $widget Text sysAfter all]}; catch { destroy .aCompletition }"
|
||||
bind CompletitionBind <Key> {auto_completition_key %W %K %A ; break}
|
||||
eval auto_completition_win $box_x $box_y [array names list_word]
|
||||
} ;# proc auto_completition_proc
|
||||
|
||||
|
||||
proc auto_completition_win { x y args} {
|
||||
set win .aCompletition
|
||||
if { [winfo exists $win] } { destroy $win }
|
||||
toplevel $win
|
||||
wm transient $win .
|
||||
wm overrideredirect $win 1
|
||||
|
||||
listbox $win.lBox -width 30 -border 2 -yscrollcommand "$win.yscroll set" -border 1
|
||||
scrollbar $win.yscroll -orient vertical -command "$win.lBox yview" -width 13 -border 1
|
||||
pack $win.lBox -expand true -fill y -side left
|
||||
pack $win.yscroll -side left -expand false -fill y
|
||||
|
||||
foreach { word } $args {
|
||||
$win.lBox insert end $word
|
||||
} ;# foreach | insert all word
|
||||
|
||||
catch { $win.lBox activate 0 ; $win.lBox selection set 0 0 }
|
||||
|
||||
if { [set height [llength $args]] > 10 } { set height 10 }
|
||||
$win.lBox configure -height $height
|
||||
|
||||
bind $win <Escape> " destroy $win "
|
||||
bind $win.lBox <Escape> " destroy $win "
|
||||
|
||||
wm geom $win +$x+$y
|
||||
} ;# auto_completition_win
|
||||
|
||||
|
||||
|
||||
proc auto_completition_key { widget K A } {
|
||||
set win .aCompletition
|
||||
set ind [$win.lBox curselection]
|
||||
|
||||
switch -- $K {
|
||||
Prior {
|
||||
set up [expr [$win.lBox index active] - [$win.lBox cget -height]]
|
||||
if { $up < 0 } { set up 0 }
|
||||
$win.lBox activate $up
|
||||
$win.lBox selection clear 0 end
|
||||
$win.lBox selection set $up $up
|
||||
}
|
||||
Next {
|
||||
set down [expr [$win.lBox index active] + [$win.lBox cget -height]]
|
||||
if { $down >= [$win.lBox index end] } { set down end }
|
||||
$win.lBox activate $down
|
||||
$win.lBox selection clear 0 end
|
||||
$win.lBox selection set $down $down
|
||||
}
|
||||
Up {
|
||||
set up [expr [$win.lBox index active] - 1]
|
||||
if { $up < 0 } { set up 0 }
|
||||
$win.lBox activate $up
|
||||
$win.lBox selection clear 0 end
|
||||
$win.lBox selection set $up $up
|
||||
}
|
||||
Down {
|
||||
set down [expr [$win.lBox index active] + 1]
|
||||
if { $down >= [$win.lBox index end] } { set down end }
|
||||
$win.lBox activate $down
|
||||
$win.lBox selection clear 0 end
|
||||
$win.lBox selection set $down $down
|
||||
}
|
||||
Return {
|
||||
$widget delete "insert - 1 chars wordstart" "insert wordend - 1 chars"
|
||||
$widget insert "insert" [$win.lBox get [$win.lBox curselection]]
|
||||
#$widget mark set insert "insert wordend - 1 chars"
|
||||
#$widget see insert
|
||||
eval [bind CompletitionBind <Escape>]
|
||||
}
|
||||
default {
|
||||
$widget insert "insert" $A
|
||||
eval [bind CompletitionBind <Escape>]
|
||||
}
|
||||
}
|
||||
} ;# proc auto_completition_key
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
252
lib/modules/convert.tcl
Executable file
252
lib/modules/convert.tcl
Executable file
|
@ -0,0 +1,252 @@
|
|||
######################################################
|
||||
# Tk LaTeX Editor
|
||||
# Distributed under GNU Public License
|
||||
# Author: Sergey Kalinin (BanZaj) banzaj@lrn.ru
|
||||
# Copyright (c) "CONERO lab", 2002, http://conero.lrn.ru
|
||||
######################################################
|
||||
|
||||
|
||||
proc Latex2Html {} {
|
||||
global tree module cmdString
|
||||
set selFiles [$tree selection get]
|
||||
if {[llength $selFiles] == 0} {
|
||||
set answer [tk_messageBox\
|
||||
-message "[::msgcat::mc "Don't selected file"]"\
|
||||
-type ok -icon warning\
|
||||
-title [::msgcat::mc "Warning"]]
|
||||
case $answer {
|
||||
ok {return 0}
|
||||
}
|
||||
}
|
||||
if {[llength $selFiles] == 1} {
|
||||
if {$selFiles != ""} {
|
||||
set file [$tree itemcget $selFiles -data]
|
||||
}
|
||||
CommandStringDialog $file
|
||||
}
|
||||
#puts $command
|
||||
}
|
||||
proc ConvertDialog {action} {
|
||||
global nb files font color cmdString module tcl_platform module convert_cmd activeFile act
|
||||
set act $action
|
||||
if [info exists activeFile] {
|
||||
set nod $activeFile
|
||||
} else {
|
||||
return
|
||||
}
|
||||
if {[info exists files($nod)] == 0} {
|
||||
return
|
||||
}
|
||||
set file [lindex $files($nod) 0]
|
||||
|
||||
set w .cmd
|
||||
# destroy the find window if it already exists
|
||||
if {[winfo exists $w]} {
|
||||
destroy $w
|
||||
}
|
||||
|
||||
toplevel $w
|
||||
wm title $w [::msgcat::mc "Command options"]
|
||||
wm resizable $w 0 0
|
||||
wm transient $w .
|
||||
frame $w.frmCombo -borderwidth 1 -background $color(bg)
|
||||
frame $w.frmBtn -borderwidth 1 -background $color(bg)
|
||||
pack $w.frmCombo $w.frmBtn -side top -fill x
|
||||
|
||||
# set combo [entry $w.frmCombo.entFind]
|
||||
label $w.frmCombo.lblModule -text "[::msgcat::mc "Convert to"] \"$action\"" -background $color(bg)
|
||||
label $w.frmCombo.lblFile -text "[::msgcat::mc "File"] \"$file\"" -background $color(bg)
|
||||
set combo [entry $w.frmCombo.txtString]
|
||||
|
||||
pack $w.frmCombo.lblModule $w.frmCombo.lblFile $combo -fill x -padx 2 -pady 2 -side top
|
||||
|
||||
button $w.frmBtn.btnFind -text [::msgcat::mc "Run"]\
|
||||
-font $font(normal) -width 12 -relief groove -background $color(bg)\
|
||||
-command {
|
||||
set convert_cmd($act) [.cmd.frmCombo.txtString get]
|
||||
Convert $act
|
||||
destroy .cmd
|
||||
}
|
||||
button $w.frmBtn.btnCancel -text [::msgcat::mc "Close"]\
|
||||
-relief groove -width 12 -font $font(normal) -background $color(bg)\
|
||||
-command "destroy $w"
|
||||
pack $w.frmBtn.btnFind $w.frmBtn.btnCancel -fill x -padx 2 -pady 2 -side left
|
||||
|
||||
bind $w <Return> {
|
||||
set convert_cmd($act) [.cmd.frmCombo.txtString get]
|
||||
Convert $act
|
||||
destroy .cmd
|
||||
}
|
||||
bind $w <Escape> "destroy $w"
|
||||
$combo insert end "$convert_cmd($action)"
|
||||
focus -force $combo
|
||||
|
||||
}
|
||||
|
||||
proc Convert {action} {
|
||||
global dir nb files font activeFile tcl_platform module convert_cmd makeThread tree
|
||||
set curDir [pwd]
|
||||
#set node [$nb raise]
|
||||
if [info exists activeFile] {
|
||||
set nod $activeFile
|
||||
while {[set parentNode [$tree parent $nod]] != "root"} {
|
||||
set nod $parentNode
|
||||
}
|
||||
} else {
|
||||
return
|
||||
}
|
||||
if {[info exists files($nod)] == 0} {
|
||||
return
|
||||
}
|
||||
if {$module(convert_$action) == ""} {
|
||||
set answer [tk_messageBox\
|
||||
-message "[::msgcat::mc "Don't find programm"] $convert_cmd($action)"\
|
||||
-type ok -icon warning\
|
||||
-title [::msgcat::mc "Warning"]]
|
||||
case $answer {
|
||||
ok {return 0}
|
||||
}
|
||||
}
|
||||
|
||||
set text "$nb.f$nod.f.text"
|
||||
set fullPath [lindex $files($nod) 0]
|
||||
set folder [file dirname $fullPath]
|
||||
set file [file tail $fullPath]
|
||||
set ext [string trim [file extension $file] {.}]
|
||||
set name [file rootname $file]
|
||||
|
||||
##
|
||||
set node "debug"
|
||||
if {[$nb index $node] != -1} {
|
||||
$nb delete debug
|
||||
}
|
||||
set w [$nb insert end $node -text [::msgcat::mc "Running project"]]
|
||||
# create array with file names #
|
||||
set w [frame $w.f]
|
||||
pack $w -side top -fill both -expand true
|
||||
|
||||
frame $w.frame -borderwidth 2 -relief ridge
|
||||
pack $w.frame -side top -fill both -expand true
|
||||
|
||||
|
||||
text $w.frame.text -yscrollcommand "$w.frame.yscroll set" \
|
||||
-relief sunken -wrap word -highlightthickness 0 -font $font(normal)\
|
||||
-selectborderwidth 0 -selectbackground #55c4d1 -width 10 -height 10
|
||||
scrollbar $w.frame.yscroll -relief sunken -borderwidth {1} -width {10} -takefocus 0 \
|
||||
-command "$w.frame.text yview"
|
||||
|
||||
pack $w.frame.text -side left -fill both -expand true
|
||||
pack $w.frame.yscroll -side left -fill y
|
||||
|
||||
## READLINE WIDGET ##
|
||||
frame $w.frmReadline -borderwidth 2 -relief ridge -height 5
|
||||
pack $w.frmReadline -side top -fill x
|
||||
text $w.frmReadline.text2 -yscrollcommand "$w.frmReadline.yscroll2 set" \
|
||||
-relief sunken -wrap word -highlightthickness 0 -font $font(normal)\
|
||||
-selectborderwidth 0 -selectbackground #55c4d1 -width 10 -height 5
|
||||
scrollbar $w.frmReadline.yscroll2 -relief sunken -borderwidth {1} -width {10} -takefocus 0 \
|
||||
-command "$w.frmReadline.text2 yview"
|
||||
pack $w.frmReadline.text2 -side left -fill both -expand true
|
||||
pack $w.frmReadline.yscroll2 -side left -fill y
|
||||
|
||||
bind $w.frmReadline.text2 <Return> ReadLine
|
||||
|
||||
balloon $w.frmReadline.text2 set [::msgcat::mc "Enter LaTeX command here and push Enter"]
|
||||
|
||||
pane::create $w.frame $w.frmReadline -orient horizontal -percent 0.9
|
||||
|
||||
|
||||
# key bindings #
|
||||
|
||||
$nb raise $node
|
||||
#insert debug data into text widget #
|
||||
set pos [$w.frame.text index insert]
|
||||
set lineNum [lindex [split $pos "."] 0]
|
||||
$w.frame.text insert end "[::msgcat::mc "Work with file"] $fullPath\n"
|
||||
|
||||
if {[catch {cd $folder}] != 0} {return ""}
|
||||
FileDialog save
|
||||
set cmdString $convert_cmd($action)
|
||||
if [regexp -nocase "%dirName" $convert_cmd($action) v] {
|
||||
regsub -all -- {%dirName} $cmdString $folder cmdString
|
||||
puts "$cmdString"
|
||||
}
|
||||
if [regexp -nocase "%fileName" $convert_cmd($action) v] {
|
||||
regsub -all -- {%fileName} $cmdString $name cmdString
|
||||
puts "$cmdString"
|
||||
} else {
|
||||
set cmdString "$convert_cmd($action) $fullPath"
|
||||
}
|
||||
puts "$cmdString"
|
||||
$w.frame.text insert end "[::msgcat::mc "Make"] $action [::msgcat::mc "file"]\n"
|
||||
$w.frame.text insert end "$cmdString\n\n"
|
||||
|
||||
set pipe [open "|$cmdString" "w+"]
|
||||
set makeThread $pipe
|
||||
|
||||
$w.frame.text insert end "----------------- [::msgcat::mc "Programm output"] -----------------\n"
|
||||
$w.frame.text tag add bold $lineNum.0 $lineNum.end
|
||||
|
||||
focus -force $w.frmReadline.text2
|
||||
|
||||
fileevent $pipe readable [list DebugInfo $w.frame.text $pipe $folder]
|
||||
fconfigure $pipe -buffering none -blocking no
|
||||
catch {cd $curDir}
|
||||
}
|
||||
|
||||
proc ReadLine {} {
|
||||
global makeThread
|
||||
set pos [.frmBody.frmEditor.noteBook.fdebug.f.frmReadline.text2 index insert]
|
||||
set lineNumber [lindex [split $pos "."] 0]
|
||||
set cmd [.frmBody.frmEditor.noteBook.fdebug.f.frmReadline.text2 get $lineNumber.0 $lineNumber.end]
|
||||
puts $cmd
|
||||
fileevent $makeThread writable
|
||||
if [info exists makeThread] {
|
||||
puts $makeThread "$cmd"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
proc ConvertImage {file} {
|
||||
global dir convert_cmd render activeFile files nb thumb
|
||||
set file [string trimleft [string trimright $file "\}"] "\{"]
|
||||
set inFormat [GetExtention $file]
|
||||
set name [file rootname [file tail $file]]
|
||||
set imgFile "$name.$thumb(format)"
|
||||
puts "$file\t$imgFile"
|
||||
set _dir [file join [file dirname $file] .thumb]
|
||||
|
||||
if {[file exists $_dir] == 0} { file mkdir $_dir }
|
||||
if [file exists [file join $_dir $imgFile]] {
|
||||
puts "File exists [file join $_dir $imgFile]"
|
||||
return "[file join $_dir $imgFile]"
|
||||
} else {
|
||||
puts "$convert_cmd(img) +adjoin +antialias -quality 10 -transparent $render(bg) -density $render(res) $file $_dir/$imgFile"
|
||||
}
|
||||
|
||||
#set file [file tail $file]
|
||||
if {$render(trans) == 1} {
|
||||
if {$render(aa) == 1} {
|
||||
catch [exec $convert_cmd(img) +adjoin -antialias -quality 10 -transparent $render(bg) -scale $thumb(resolution) $file [file join $_dir $imgFile]] err
|
||||
} else {
|
||||
catch [exec $convert_cmd(img) +adjoin +antialias -quality 10 -transparent $render(bg) -scale $thumb(resolution) $file [file join $_dir $imgFile]] err
|
||||
}
|
||||
} else {
|
||||
if {$render(aa) == 1} {
|
||||
catch [exec $convert_cmd(img) +adjoin -antialias -quality 10 -scale $thumb(resolution) $file [file join $_dir $imgFile]] err
|
||||
} else {
|
||||
catch [exec $convert_cmd(img) +adjoin +antialias -quality 10 -scale $thumb(resolution) $file [file join $_dir $imgFile]] err
|
||||
}
|
||||
}
|
||||
if {$err != ""} {
|
||||
set answer [tk_messageBox -message "$err"\
|
||||
-type ok -icon warning -title [::msgcat::mc "Warning"]]
|
||||
case $answer {
|
||||
ok {return}
|
||||
}
|
||||
puts $err
|
||||
}
|
||||
return "[file join $_dir $imgFile]"
|
||||
}
|
||||
|
||||
|
674
lib/modules/editor.tcl
Executable file
674
lib/modules/editor.tcl
Executable file
|
@ -0,0 +1,674 @@
|
|||
#########################################################
|
||||
# TkTeXeditor
|
||||
# Distributed under GNU Public License
|
||||
# Author: Sergey Kalinin (BanZaj) banzaj@lrn.ru
|
||||
# Copyright (c) "CONERO lrn", 2000, http//conero.lrn.ru
|
||||
#########################################################
|
||||
|
||||
|
||||
## FILE EDITOR WINDOW ##
|
||||
proc EditFile {file} {
|
||||
global dir font tree nb files color files index status activeFile treeStruct ver
|
||||
global editor backup status replace sysenc release
|
||||
wm title . "TkLaTeXEditor $ver$release - $file"
|
||||
|
||||
if {[file exists $file] == 0} {
|
||||
set answer [tk_messageBox -message "$f [::msgcat::mc "File not found"]"\
|
||||
-type ok -icon warning -title [::msgcat::mc "Warning"]]
|
||||
case $answer {
|
||||
ok {return}
|
||||
}
|
||||
}
|
||||
|
||||
set fileName [file tail $file]
|
||||
set fileDir [file dirname $file]
|
||||
set dir(current) $fileDir
|
||||
puts "============ $fileName $fileDir"
|
||||
set node [InsertTreeNode $fileName $fileDir]
|
||||
#set node [NodeInsert $fileName $fileDir ""]
|
||||
set activeFile $node
|
||||
set replace 0 ;# for Overwrite procedure# execute external editor #
|
||||
if {$editor(extern)=="Yes"} {
|
||||
set pipe [open "|$editor(prog) $file" "r"]
|
||||
fileevent $pipe readable
|
||||
fconfigure $pipe -buffering none -blocking no
|
||||
return
|
||||
}
|
||||
## check active file and if them don't exists return 0
|
||||
if {[info exists files($node)] != 1} {
|
||||
set files($node) [list $file 0]
|
||||
set w [$nb insert end $node -text "$fileName"]
|
||||
} else {
|
||||
# puts "$file - already opened"
|
||||
return
|
||||
}
|
||||
## update statusbar info
|
||||
$status(fileAttr) configure -text "[FileAttr $file]"
|
||||
$status(fileSize) configure -text "[file size $file] b."
|
||||
$status(encode) configure -text "[lindex $files($node) 2]"
|
||||
|
||||
## create frames and text widget #
|
||||
frame $w.f -borderwidth 2 -relief ridge
|
||||
pack $w.f -side top -fill both -expand true
|
||||
|
||||
#supertext::text
|
||||
supertext::text $w.f.text -yscrollcommand "$w.f.yscroll set" \
|
||||
-relief sunken -wrap $editor(wrap) -highlightthickness 0 -font $font(editNormal)\
|
||||
-background $color(editBg) -foreground $color(editFg)\
|
||||
-selectborderwidth 0 -selectbackground $color(selectbg) -width 10
|
||||
# lines numbering
|
||||
|
||||
#set txtLineNumber [text $w.f.text_lines -yscrollcommand "$w.f.yscroll set" \
|
||||
#-relief sunken -wrap $editor(wrap) -highlightthickness 0 -font $font(editNormal)\
|
||||
#-background $color(lineNumberBg) -foreground $color(lineNumberFg)\
|
||||
#-selectborderwidth 0 -selectbackground $color(selectbg) -width 5]
|
||||
|
||||
scrollbar $w.f.yscroll -relief sunken -borderwidth {1} -width {10} -takefocus 0 \
|
||||
-command "$w.f.text yview"
|
||||
|
||||
#pack $w.f.text_lines -side left -fill y
|
||||
pack $w.f.text -side left -fill both -expand true
|
||||
pack $w.f.yscroll -side left -fill y
|
||||
|
||||
$nb raise $node
|
||||
## loadig tags for highlight procedure
|
||||
LoadTag $w.f.text
|
||||
#puts $w.f.text
|
||||
## BACKUP FILE CREATED ##
|
||||
if {$backup(create) == "Yes"} {
|
||||
file copy -force -- $file [file join $dir(tmp) $fileName~]
|
||||
}
|
||||
## OPENED FILE ##
|
||||
set fHandle [open "$file" r]
|
||||
set sourceEnc [DocRecode $fHandle]
|
||||
if {$sourceEnc == ""} {
|
||||
set sourceEnc [encoding system]
|
||||
}
|
||||
lappend files($node) "$sourceEnc" ;# added encoding information
|
||||
$status(encode) configure -text "[lindex $files($node) 2]"
|
||||
|
||||
set lineNumber 1
|
||||
$treeStruct delete [$treeStruct nodes root] ;# delete all info about old structure
|
||||
while {[gets $fHandle line]>=0} {
|
||||
set line [encoding convertfrom $sourceEnc $line]
|
||||
$w.f.text insert end "[string trimright $line]\n"
|
||||
InsertStruct $node $line $lineNumber $fileDir
|
||||
HighLightTEX $w.f.text $line $lineNumber $node
|
||||
#$txtLineNumber insert end "$lineNumber\n"
|
||||
incr lineNumber
|
||||
}
|
||||
close $fHandle
|
||||
# key bindings #
|
||||
set text $w.f.text
|
||||
bind $text <Control-G> GoToLine
|
||||
bind $text <Control-g> GoToLine
|
||||
bind $text <Control-F> Find
|
||||
bind $text <Control-f> Find
|
||||
#bind $text <F2> SplitWindow
|
||||
#bind $text <F6> {ConvertDialog ps}
|
||||
#bind $text <F7> {ConvertDialog pdf}
|
||||
|
||||
bind $text <Control-R> ReplaceDialog
|
||||
bind $text <Control-r> ReplaceDialog
|
||||
#bind $text <F4> {ReplaceCommand $w.frame.text 1}
|
||||
bind $text <Control-S> {FileDialog save}
|
||||
bind $text <Control-s> {FileDialog save}
|
||||
bind $text <Control-A> {FileDialog save_as}
|
||||
bind $text <Control-a> {FileDialog save_as}
|
||||
bind $text <Control-W> {FileDialog close}
|
||||
bind $text <Control-w> {FileDialog close}
|
||||
bind $text <Control-X> "tk_textCut $w.f.text;break"
|
||||
bind $text <Control-x> "tk_textCut $w.f.text;break"
|
||||
bind $text <Control-C> "tk_textCopy $w.f.text;break"
|
||||
bind $text <Control-c> "tk_textCopy $w.f.text;break"
|
||||
bind $text <Control-V> "tk_textPaste $w.f.text;break"
|
||||
bind $text <Control-v> "tk_textPaste $w.f.text;break"
|
||||
bind $text <Control-q> exit
|
||||
bind $text <Control-Q> exit
|
||||
bind $text <Control-z> "$text undo"
|
||||
bind $text <Control-Z> "$text undo"
|
||||
bind $text <Alt-c> AutoComplit
|
||||
bind $text <Alt-C> AutoComplit
|
||||
bind $text <Alt-f> "GenerateFormula math"
|
||||
bind $text <Alt-F> "GenerateFormula math"
|
||||
bind $text <Alt-t> "GenerateFormula text"
|
||||
bind $text <Alt-T> "GenerateFormula text"
|
||||
bind $text <ButtonRelease-1> {$status(pos) configure -text [%W index insert]}
|
||||
bind $text <Insert> {OverWrite}
|
||||
bind $text <Button-3> {catch [PopupMenu %W %X %Y]}
|
||||
bind $text <KeyRelease-Return> {
|
||||
AddText item
|
||||
set pos [%W index insert]
|
||||
set line [lindex [split $pos "."] 0]
|
||||
set editLine [%W get $line.0 $pos]
|
||||
HighLightTEX %W $editLine $line [$nb raise]
|
||||
set node [$nb raise]
|
||||
if {$node == "" || $node == "debug" || $node == "settings" || $node == "about"} {return 1}
|
||||
if {[lindex $files($node) 1] == 0} {
|
||||
set files($node) [list [lindex $files($node) 0] 1 [lindex $files($node) 2]]
|
||||
$status(active) configure -text [::msgcat::mc "File modify"]
|
||||
$nb itemconfigure $node -foreground $color(editTitleModify)
|
||||
}
|
||||
}
|
||||
|
||||
bind $text <KeyRelease> {
|
||||
set node [$nb raise]
|
||||
if {$node == "" || $node == "debug" || $node == "settings" || $node == "about"} {return 1}
|
||||
set text "$nb.f$node.f.text"
|
||||
set pos [$text index insert]
|
||||
set line [lindex [split $pos "."] 0]
|
||||
set symbol [lindex [split $pos "."] 1]
|
||||
set editLine [$text get $line.0 $pos]
|
||||
HighLightTEX $text $editLine $line $node
|
||||
$status(pos) configure -text [$text index insert];# cursor position
|
||||
if {$symbol >= $editor(strLen)} {
|
||||
if {[Key %k] == "true"} {
|
||||
|
||||
if {$editor(strWrap) == "Yes"} {
|
||||
#$text insert $line.end "\n"
|
||||
set p [$text search -backward -regexp -- {\s} $pos $line.0]
|
||||
if {$p !=""} {
|
||||
$text insert "$p + 1 chars" "\n"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if {[Key %k] == "true"} {
|
||||
if {[lindex $files($node) 1] == 0} {
|
||||
set files($node) [list [lindex $files($node) 0] 1 [lindex $files($node) 2]]
|
||||
$status(active) configure -text [::msgcat::mc "File modify"]
|
||||
$nb itemconfigure $node -foreground $color(editTitleModify)
|
||||
}
|
||||
}
|
||||
}
|
||||
bind $text <KeyPress> {
|
||||
if {[Key %k] == "true"} {
|
||||
ReplaceChar %W
|
||||
}
|
||||
set node [$nb raise]
|
||||
if {$node == "" || $node == "debug" || $node == "settings" || $node == "about"} {return 1}
|
||||
set text "$nb.f$node.f.text"
|
||||
set pos [$text index insert]
|
||||
set line [lindex [split $pos "."] 0]
|
||||
set symbol [lindex [split $pos "."] 1]
|
||||
set editLine [$text get $line.0 $pos]
|
||||
HighLightTEX $text $editLine $line $node
|
||||
$status(pos) configure -text [$text index insert];# cursor position
|
||||
if {$symbol >= $editor(strLen)} {
|
||||
if {[Key %k] == "true"} {
|
||||
if {$editor(strWrap) == "Yes"} {
|
||||
#$text insert $line.end "\n"
|
||||
set p [$text search -backward -regexp -- {\s} $pos $line.0]
|
||||
if {$p !=""} {
|
||||
$text insert "$p + 1 chars" "\n"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
bind $text <KeyPress-space> {
|
||||
if {[Key %k] == "true"} {
|
||||
ReplaceChar %W
|
||||
}
|
||||
}
|
||||
bind $text <KeyRelease-space> {
|
||||
set node [$nb raise]
|
||||
if {$node == "" || $node == "debug" || $node == "settings" || $node == "about"} {return 1}
|
||||
if {[lindex $files($node) 1] == 0} {
|
||||
set files($node) [list [lindex $files($node) 0] 1 [lindex $files($node) 2]]
|
||||
$status(active) configure -text [::msgcat::mc "File modify"]
|
||||
$nb itemconfigure $node -foreground $color(editTitleModify)
|
||||
}
|
||||
}
|
||||
bind $text <Control-u> {
|
||||
set i -1
|
||||
switch -- [%W get "insert - 1 chars"] {
|
||||
\{ {set i [_searchCloseBracket %W \{ \} insert end]}
|
||||
\[ {set i [_searchCloseBracket %W \[ \] insert end]}
|
||||
( {set i [_searchCloseBracket %W ( ) insert end]}
|
||||
\} {set i [_searchOpenBracket %W \{ \} insert 1.0]}
|
||||
\] {set i [_searchOpenBracket %W \[ \] insert 1.0]}
|
||||
) {set i [_searchOpenBracket %W ( ) insert 1.0]}
|
||||
} ;# switch
|
||||
if { $i != -1 } {
|
||||
%W mark set insert $i
|
||||
%W see insert
|
||||
}
|
||||
} ;# bind
|
||||
bindtags $text [list [winfo toplevel $text] $text Text sysAfter all]
|
||||
bind sysAfter <Any-Key> {+ set i -1
|
||||
catch {
|
||||
switch -- [%W get "insert - 1 chars"] {
|
||||
\{ {set i [_searchCloseBracket %W \{ \} insert end]}
|
||||
\[ {set i [_searchCloseBracket %W \[ \] insert end]}
|
||||
( {set i [_searchCloseBracket %W ( ) insert end]}
|
||||
\} {set i [_searchOpenBracket %W \{ \} insert 1.0]}
|
||||
\] {set i [_searchOpenBracket %W \[ \] insert 1.0]}
|
||||
) {set i [_searchOpenBracket %W ( ) insert 1.0]}
|
||||
} ;# switch
|
||||
catch { %W tag remove lightBracket 1.0 end }
|
||||
if { $i != -1 } {%W tag add lightBracket "$i - 1 chars" $i}
|
||||
}
|
||||
} ;# bind sysAfter
|
||||
|
||||
bind sysAfter <Button-1> [bind sysAfter <Any-Key>]
|
||||
focus -force $w.f.text
|
||||
|
||||
Timer $file "refresh"
|
||||
if {$backup(autosave) == "Yes"} {
|
||||
Timer $file "autosave"
|
||||
}
|
||||
|
||||
|
||||
|
||||
};# proc EditFile
|
||||
|
||||
proc _searchCloseBracket { widget o_bracket c_bracket start_pos end_pos } {
|
||||
set o_count 1
|
||||
set c_count 0
|
||||
set found 0
|
||||
set pattern "\[\\$o_bracket\\$c_bracket\]"
|
||||
set pos [$widget search -regexp -- $pattern $start_pos $end_pos]
|
||||
while { ! [string equal $pos {}] } {
|
||||
set char [$widget get $pos]
|
||||
#tk_messageBox -title $pattern -message "char: $char; $pos; o_count=$o_count; c_count=$c_count"
|
||||
if {[string equal $char $o_bracket]} {incr o_count ; set found 1}
|
||||
if {[string equal $char $c_bracket]} {incr c_count ; set found 1}
|
||||
if {($found == 1) && ($o_count == $c_count) } { return [$widget index "$pos + 1 chars"] }
|
||||
set found 0
|
||||
set start_pos "$pos + 1 chars"
|
||||
set pos [$widget search -regexp -- $pattern $start_pos $end_pos]
|
||||
} ;# while search
|
||||
return -1
|
||||
} ;# proc _searchCloseBracket
|
||||
|
||||
# DEDERER
|
||||
## Search open bracket in editor widget
|
||||
proc _searchOpenBracket { widget o_bracket c_bracket start_pos end_pos } {
|
||||
set o_count 0
|
||||
set c_count 1
|
||||
set found 0
|
||||
set pattern "\[\\$o_bracket\\$c_bracket\]"
|
||||
set pos [$widget search -backward -regexp -- $pattern "$start_pos - 1 chars" $end_pos]
|
||||
while { ! [string equal $pos {}] } {
|
||||
set char [$widget get $pos]
|
||||
#tk_messageBox -title $pattern -message "char: $char; $pos; o_count=$o_count; c_count=$c_count"
|
||||
if {[string equal $char $o_bracket]} {incr o_count ; set found 1}
|
||||
if {[string equal $char $c_bracket]} {incr c_count ; set found 1}
|
||||
if {($found == 1) && ($o_count == $c_count) } { return [$widget index "$pos + 1 chars"] }
|
||||
set found 0
|
||||
set start_pos "$pos - 0 chars"
|
||||
set pos [$widget search -backward -regexp -- $pattern $start_pos $end_pos]
|
||||
} ;# while search
|
||||
return -1
|
||||
} ;# proc _searchOpenBracket
|
||||
|
||||
proc GoToLine {} {
|
||||
global nb files font color
|
||||
set node [$nb raise]
|
||||
if {$node == "newproj" || $node == "settings" || $node == "about" || $node == ""} {
|
||||
return
|
||||
}
|
||||
set file $files($node)
|
||||
set w $nb.f$node.goto
|
||||
set text "$nb.f$node.f.text"
|
||||
# destroy the find window if it already exists
|
||||
if {[winfo exists $w]} {
|
||||
destroy $w
|
||||
}
|
||||
# create the new "goto" window
|
||||
toplevel $w
|
||||
wm title $w [::msgcat::mc "Goto line"]
|
||||
wm resizable $w 0 0
|
||||
wm transient $w $nb.f$node
|
||||
|
||||
label $w.text -text [::msgcat::mc "Line number"] -font $font(normal) -background $color(bg)
|
||||
entry $w.entGoTo -width 6 -validate key -validatecommand "ValidNumber %W %P"
|
||||
pack $w.text $w.entGoTo -side left -anchor nw -padx 2 -pady 2
|
||||
set line [$w.entGoTo get]
|
||||
bind $w.entGoTo <Return> "+GoToLineNumber $text $nb.f$node"
|
||||
|
||||
bind $w.entGoTo <Escape> "destroy $w"
|
||||
focus -force $w.entGoTo
|
||||
}
|
||||
## Check input number ##
|
||||
proc ValidNumber {w value} {
|
||||
if [string is integer $value] {
|
||||
return 1
|
||||
} else {
|
||||
bell
|
||||
return 0
|
||||
}
|
||||
}
|
||||
## GOTO LINE ##
|
||||
proc GoToLineNumber {text w} {
|
||||
global status
|
||||
set lineNumber [$w.goto.entGoTo get]
|
||||
destroy $w.goto
|
||||
catch {
|
||||
$text mark set insert $lineNumber.0
|
||||
$text see insert
|
||||
}
|
||||
$status(pos) configure -text [$text index insert];# cursor position
|
||||
}
|
||||
|
||||
## SEARCH DIALOG FORM ##
|
||||
set findHistory ""
|
||||
set findString ""
|
||||
set replaceString ""
|
||||
proc Find {} {
|
||||
global nb files font findHistory findString color
|
||||
|
||||
set node [$nb raise]
|
||||
if {$node == "newproj" || $node == "settings" || $node == "about" || $node == ""} {
|
||||
return
|
||||
}
|
||||
set file $files($node)
|
||||
set w $nb.f$node.find
|
||||
set text "$nb.f$node.f.text"
|
||||
set findString ""
|
||||
# destroy the find window if it already exists
|
||||
if {[winfo exists $w]} {
|
||||
destroy $w
|
||||
}
|
||||
|
||||
toplevel $w
|
||||
wm title $w [::msgcat::mc "Find"]
|
||||
wm resizable $w 0 0
|
||||
wm transient $w $nb.f$node
|
||||
frame $w.frmCombo -borderwidth 1 -background $color(bg)
|
||||
frame $w.frmBtn -borderwidth 1 -background $color(bg)
|
||||
pack $w.frmCombo $w.frmBtn -side top -fill x
|
||||
|
||||
# set combo [entry $w.frmCombo.entFind]
|
||||
set combo [ComboBox $w.frmCombo.txtLocale\
|
||||
-textvariable findString -background $color(bg)\
|
||||
-selectbackground "#55c4d1" -selectborderwidth 0\
|
||||
-values $findHistory]
|
||||
|
||||
pack $combo -fill x -padx 2 -pady 2
|
||||
|
||||
button $w.frmBtn.btnFind -text "[::msgcat::mc "Find"] - F3"\
|
||||
-font $font(normal) -width 12 -relief groove -background $color(bg)\
|
||||
-command "FindCommand $text $w"
|
||||
button $w.frmBtn.btnCancel -text "[::msgcat::mc "Close"] - Esc"\
|
||||
-relief groove -width 12 -font $font(normal) -background $color(bg)\
|
||||
-command "destroy $w"
|
||||
pack $w.frmBtn.btnFind $w.frmBtn.btnCancel -fill x -padx 2 -pady 2 -side left
|
||||
|
||||
bind $w <Return> "FindCommand $text $w"
|
||||
bind $w <F3> "FindCommand $text $w"
|
||||
bind $w <Escape> "destroy $w"
|
||||
focus -force $combo
|
||||
|
||||
# set findIndex [lsearch -exact $findHistory "$findString"]
|
||||
$combo setvalue @0
|
||||
}
|
||||
|
||||
proc FindCommand {text w} {
|
||||
global findString findHistory
|
||||
# set findString [$entry get]
|
||||
destroy $w
|
||||
# if null string? do nothing
|
||||
if {$findString == ""} {
|
||||
return
|
||||
}
|
||||
# search "again" (starting from current position)
|
||||
FindNext $text 0
|
||||
}
|
||||
|
||||
proc FindNext {text {incr 1}} {
|
||||
global findString findHistory
|
||||
set t $text
|
||||
# append find string into find history list #
|
||||
if {[lsearch -exact $findHistory $findString] == -1} {
|
||||
set findHistory [linsert $findHistory 0 $findString]
|
||||
}
|
||||
|
||||
set pos [$t index insert]
|
||||
set line [lindex [split $pos "."] 0]
|
||||
set x [lindex [split $pos "."] 1]
|
||||
incr x $incr
|
||||
|
||||
set pos [$t search -nocase $findString $line.$x end]
|
||||
|
||||
# if found then move the insert cursor to that position, otherwise beep
|
||||
if {$pos != ""} {
|
||||
$t mark set insert $pos
|
||||
$t see $pos
|
||||
|
||||
# highlight the found word
|
||||
set line [lindex [split $pos "."] 0]
|
||||
set x [lindex [split $pos "."] 1]
|
||||
set x [expr {$x + [string length $findString]}]
|
||||
$t tag remove sel 1.0 end
|
||||
$t tag add sel $pos $line.$x
|
||||
focus -force $t
|
||||
return 1
|
||||
} else {
|
||||
bell
|
||||
return 0
|
||||
}
|
||||
catch [$status(pos) configure -text [%W index insert]] ;# cursor position
|
||||
|
||||
}
|
||||
## FIND FUNCTION PROCEDURE ##
|
||||
proc FindProc {text findString node} {
|
||||
global nb status
|
||||
|
||||
set pos "0.0"
|
||||
$text see $pos
|
||||
set line [lindex [split $pos "."] 0]
|
||||
set x [lindex [split $pos "."] 1]
|
||||
|
||||
set pos [$text search -nocase $findString $line.$x end]
|
||||
$text mark set insert $pos
|
||||
$text see $pos
|
||||
|
||||
# highlight the found word
|
||||
set line [lindex [split $pos "."] 0]
|
||||
set x [lindex [split $pos "."] 1]
|
||||
set x [expr {$x + [string length $findString]}]
|
||||
$text tag remove sel 1.0 end
|
||||
$text tag add sel $pos $line.$x
|
||||
focus -force $text
|
||||
catch [$status(pos) configure -text [$text index insert]] ;# cursor position
|
||||
return 1
|
||||
}
|
||||
|
||||
#3 REPLACE DIALOG FORM ##
|
||||
proc ReplaceDialog {} {
|
||||
global nb font files findString replaceString text color
|
||||
set node [$nb raise]
|
||||
if {$node == "newproj" || $node == "settings" || $node == "about" || $node == ""} {
|
||||
return
|
||||
}
|
||||
#set file $files($node)
|
||||
set w .replace
|
||||
set text "$nb.f$node.f.text"
|
||||
# set findString ""
|
||||
# destroy the find window if it already exists
|
||||
if {[winfo exists $w]} {
|
||||
destroy $w
|
||||
}
|
||||
|
||||
# create the new "find" window
|
||||
toplevel $w
|
||||
wm transient $w $nb.f$node
|
||||
wm title $w [::msgcat::mc "Replace"]
|
||||
wm resizable $w 0 0
|
||||
|
||||
set f1 [frame $w.frmFind -background $color(bg)]
|
||||
set f2 [frame $w.frmReplace -background $color(bg)]
|
||||
set f3 [frame $w.frmBtn -borderwidth 1 -background $color(bg)]
|
||||
pack $f1 $f2 $f3 -side top -fill x -expand true
|
||||
|
||||
label $f1.lblFind -text [::msgcat::mc "Find"] -font $font(normal) -width 15 -anchor w -background $color(bg)
|
||||
entry $f1.entFind -width 30
|
||||
pack $f1.lblFind $f1.entFind -side left -padx 2 -pady 2
|
||||
pack $f1.entFind -side left -fill x -expand true -padx 2 -pady 2
|
||||
|
||||
label $f2.lblReplace -text [::msgcat::mc "Replace with"] -font $font(normal) -width 15 -anchor w -background $color(bg)
|
||||
entry $f2.entReplace -width 30
|
||||
pack $f2.lblReplace $f2.entReplace -side left -padx 2 -pady 2
|
||||
pack $f2.entReplace -side left -fill x -expand true -padx 2 -pady 2
|
||||
|
||||
button $f3.btnFind -text "[::msgcat::mc "Find"] - Enter" -width 12 -pady 0 -font $font(normal) -relief groove -background $color(bg)\
|
||||
-command "ReplaceCommand $text $w $f1.entFind $f2.entReplace find"
|
||||
button $f3.btnReplace -text "[::msgcat::mc "Replace"] - F4" -width 12 -pady 0\
|
||||
-font $font(normal) -relief groove -background $color(bg)\
|
||||
-command {
|
||||
ReplaceCommand $text $w .replace.frmFind.entFind .replace.frmReplace.entReplace replace
|
||||
focus -force .replace
|
||||
}
|
||||
button $f3.btnReplaceAll -text [::msgcat::mc "Replace all"] -width 12 -pady 0\
|
||||
-font $font(normal) -relief groove -background $color(bg)\
|
||||
-command "ReplaceCommand $text $w $f1.entFind $f2.entReplace replace_all"
|
||||
button $f3.btnCancel -text "[::msgcat::mc "Cancel"] - Esc" -command "destroy $w"\
|
||||
-width 12 -pady 0 -font $font(normal) -relief groove -background $color(bg)
|
||||
pack $f3.btnFind $f3.btnReplace $f3.btnReplaceAll $f3.btnCancel\
|
||||
-side left -padx 2 -pady 2 -fill x
|
||||
|
||||
bind $w <Return> "ReplaceCommand $text $w $f1.entFind $f2.entReplace find"
|
||||
bind $w <F4> "ReplaceCommand $text $w $f1.entFind $f2.entReplace replace"
|
||||
bind $w <Escape> "destroy $w"
|
||||
focus -force $f1.entFind
|
||||
|
||||
if {$findString != ""} {
|
||||
$f1.entFind insert end $findString
|
||||
}
|
||||
if {$replaceString != ""} {
|
||||
$f2.entReplace insert end $replaceString
|
||||
}
|
||||
}
|
||||
## REPLACE COMMAND ##
|
||||
proc ReplaceCommand {text w entFind entReplace command} {
|
||||
global nb font files findString replaceString
|
||||
set node [$nb raise]
|
||||
|
||||
set findString [$entFind get]
|
||||
set replaceString [$entReplace get]
|
||||
|
||||
switch -- $command {
|
||||
"find" {
|
||||
FindNext $text 1
|
||||
focus -force .replace
|
||||
}
|
||||
"replace" {
|
||||
if {[Replace $text 0]} {
|
||||
FindNext $text 1
|
||||
if {[lindex $files($node) 1] == 0} {
|
||||
set files($node) [list [lindex $files($node) 0] 1 [lindex $files($node) 2]]
|
||||
}
|
||||
focus -force .replace
|
||||
}
|
||||
}
|
||||
"replace_all" {
|
||||
set stringsReplace 0
|
||||
if {[Replace $text 0]} {
|
||||
if {[lindex $files($node) 1] == 0} {
|
||||
set files($node) [list [lindex $files($node) 0] 1 [lindex $files($node) 2]]
|
||||
}
|
||||
incr stringsReplace
|
||||
while {[Replace $text 1]} {
|
||||
incr stringsReplace
|
||||
}
|
||||
}
|
||||
tk_messageBox -icon info -title [::msgcat::mc "Replace"]\
|
||||
-parent $text -message\
|
||||
"[::msgcat::mc "Was replacement"] $stringsReplace."
|
||||
destroy $w
|
||||
}
|
||||
}
|
||||
}
|
||||
## REPLACE ONE WORD PROCEDURE ##
|
||||
proc Replace {text incr} {
|
||||
global nb font files findString replaceString
|
||||
|
||||
if {[FindNext $text $incr]} {
|
||||
set selected [$text tag ranges sel]
|
||||
set start [lindex $selected 0]
|
||||
set end [lindex $selected 1]
|
||||
$text delete $start $end
|
||||
$text insert [$text index insert] $replaceString
|
||||
return 1
|
||||
} else {
|
||||
return 0
|
||||
}
|
||||
# focus -force .replace
|
||||
}
|
||||
|
||||
## OVERWRITE SYMBOL PROCEDURE ##
|
||||
proc OverWrite {} {
|
||||
global replace fontNormal status
|
||||
if {$replace == 1} {
|
||||
set replace 0
|
||||
$status(ovwrt) configure -text [::msgcat::mc "Insert"] -foreground black
|
||||
} else {
|
||||
set replace 1
|
||||
$status(ovwrt) configure -text [::msgcat::mc "Overwrite"] -foreground red
|
||||
}
|
||||
}
|
||||
|
||||
proc ReplaceChar {text} {
|
||||
global replace
|
||||
set pos [$text index insert]
|
||||
set posY [lindex [split $pos "."] 0]
|
||||
set posX [lindex [split $pos "."] 1]
|
||||
if {$replace == 1} {
|
||||
$text delete $posY.$posX $posY.[expr $posX + 1]
|
||||
}
|
||||
}
|
||||
|
||||
## GET KEYS CODE ##
|
||||
proc Key {key} {
|
||||
#puts $key ;#debug
|
||||
if {$key >= 10 && $key <= 22} {return "true"}
|
||||
if {$key >= 24 && $key <= 36} {return "true"}
|
||||
if {$key >= 38 && $key <= 50} {return "true"}
|
||||
if {$key >= 51 && $key <= 61 && $key != 58} {return "true"}
|
||||
if {$key >= 79 && $key <= 91} {return "true"}
|
||||
if {$key == 63 || $key == 107 || $key == 108 || $key == 112} {return "true"}
|
||||
if {$key == 98 || $key == 100 || $key == 102 || $key == 104} {return "false"}
|
||||
}
|
||||
|
||||
## SPLIT EDITOR WINDOW PROCEDURE ##
|
||||
set split 0
|
||||
proc SplitWindow {} {
|
||||
global color font editor nb activeFile split
|
||||
|
||||
if [info exists activeFile] {
|
||||
set w $nb.f$activeFile
|
||||
} else {
|
||||
return
|
||||
}
|
||||
if {$split == 0} {
|
||||
frame $w.f1 -borderwidth 2 -relief ridge
|
||||
pack $w.f1 -side top -fill both -expand true
|
||||
#supertext::text
|
||||
supertext::text $w.f1.text -yscrollcommand "$w.f1.yscroll set" \
|
||||
-relief sunken -wrap $editor(wrap) -highlightthickness 0 -font $font(editNormal)\
|
||||
-background $color(editBg) -foreground $color(editFg)\
|
||||
-selectborderwidth 0 -selectbackground $color(selectbg) -width 10
|
||||
scrollbar $w.f1.yscroll -relief sunken -borderwidth {1} -width {10} -takefocus 0 \
|
||||
-command "$w.f1.text yview"
|
||||
pack $w.f1.text -side left -fill both -expand true
|
||||
pack $w.f1.yscroll -side left -fill y
|
||||
##############################################
|
||||
pane::create $w.f $w.f1 -orient horizontal -percent 0.5
|
||||
set split 1
|
||||
} elseif {$split == 1} {
|
||||
destroy $w.f1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
238
lib/modules/encode.tcl
Executable file
238
lib/modules/encode.tcl
Executable file
|
@ -0,0 +1,238 @@
|
|||
###########################################################
|
||||
# Tcl/Tk project Manager
|
||||
# Distributed under GNU Public License
|
||||
# Author: Sergey Kalinin banzaj@lrn.ru
|
||||
# Copyright (c) "CONERO lab", 2002, http://conero.lrn.ru
|
||||
###########################################################
|
||||
|
||||
###########################################################
|
||||
# ENCODING files procedure #
|
||||
###########################################################
|
||||
|
||||
proc GetCorrectEncode {latexEncode} {
|
||||
global files dir activeFile files
|
||||
set f [open "[file join $dir(work) encode.lst]" r]
|
||||
set encodeList [encoding names]
|
||||
while {[gets $f line]} {
|
||||
if {[string index [string trim $line] 0] == "#"} {
|
||||
continue
|
||||
}
|
||||
scan $line "%s%s" texEnc tclEnc
|
||||
#puts "$texEnc $tclEnc"
|
||||
|
||||
if {$texEnc == $latexEncode} {
|
||||
close $f
|
||||
return $tclEnc
|
||||
} else {
|
||||
set ind [lsearch -exact $encodeList $latexEncode]
|
||||
#puts $latexEncode
|
||||
if {$ind == -1} {
|
||||
set answer [tk_messageBox\
|
||||
-message "[lindex $files($activeFile) 0] [::msgcat::mc "Don't find any system encoding for"] $latexEncode \
|
||||
[::msgcat::mc "You must write correctly encode name in"] [file join $dir(work) encode.lst] [::msgcat::mc "file"]"\
|
||||
-type ok -icon warning\
|
||||
-title [::msgcat::mc "Warning"]]
|
||||
case $answer {
|
||||
ok {return}
|
||||
}
|
||||
close $f
|
||||
return $latexEncode
|
||||
} else {
|
||||
close $f
|
||||
return $latexEncode
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
proc EncodeDialog {type} {
|
||||
global color files activeFile
|
||||
set w .encode
|
||||
# destroy the find window if it already exists
|
||||
if {[winfo exists .encode]} {
|
||||
destroy .encode
|
||||
}
|
||||
|
||||
toplevel .encode
|
||||
wm title .encode [::msgcat::mc "Encoding"]
|
||||
wm resizable .encode 0 0
|
||||
wm transient .encode .
|
||||
|
||||
frame .encode.encodings -width 10
|
||||
eval {
|
||||
listbox .encode.encodings.list -height 10 -width 20 -selectbackground $color(selectbg)\
|
||||
-selectborderwidth 0 -yscrollcommand {.encode.encodings.yscroll set}
|
||||
}
|
||||
eval {scrollbar .encode.encodings.yscroll -orient vertical -command {.encode.encodings.list yview}}
|
||||
pack .encode.encodings.list -side left -expand true -fill y
|
||||
pack .encode.encodings.yscroll -side left -expand false -fill y
|
||||
pack .encode.encodings -side top -expand true -fill both
|
||||
|
||||
canvas .encode.line -border 0 -height 1 -background black -width 10
|
||||
pack .encode.line -side top -expand true -fill x
|
||||
|
||||
frame .encode.command -width 10
|
||||
if {$type == "file"} {
|
||||
eval {
|
||||
button .encode.command.ok -text [::msgcat::mc "Ok"] -command {
|
||||
SetEncode [.encode.encodings.list get [.encode.encodings.list curselection]]
|
||||
}
|
||||
}
|
||||
} else {
|
||||
eval {
|
||||
button .encode.command.ok -text [::msgcat::mc "Ok"] -command {
|
||||
TextRecode [.encode.encodings.list get [.encode.encodings.list curselection]]
|
||||
}
|
||||
}
|
||||
}
|
||||
eval {button .encode.command.cancel -text [::msgcat::mc "Cancel"] -command {destroy .encode }}
|
||||
grid .encode.command.ok -row 0 -column 0 -sticky e -pady 2 -padx 2
|
||||
grid .encode.command.cancel -row 0 -column 1 -sticky w -pady 2 -padx 2
|
||||
pack .encode.command -side top -expand true -fill x
|
||||
|
||||
bind .encode.encodings.list <Double-1> {eval [.encode.command.ok cget -command]}
|
||||
bind .encode.encodings.list <Return> {eval [.encode.command.ok cget -command]}
|
||||
bind .encode <Escape> {eval [.encode.command.cancel cget -command]}
|
||||
|
||||
set i 0 ; set cur_encoding [encoding system]
|
||||
foreach { name_encodings } [lsort [encoding names] ] {
|
||||
.encode.encodings.list insert end $name_encodings
|
||||
if { $name_encodings == $cur_encoding } { set enc_pos $i }
|
||||
incr i
|
||||
} ;# foreach encoding names
|
||||
|
||||
wm resizable .encode 0 0
|
||||
.encode.encodings.list activate $enc_pos
|
||||
.encode.encodings.list selection set $enc_pos $enc_pos
|
||||
.encode.encodings.list see $enc_pos
|
||||
focus -force .encode.encodings.list
|
||||
}
|
||||
|
||||
|
||||
## Source encode ##
|
||||
proc DocRecode {pipe} {
|
||||
global files tree activeFile
|
||||
set parentNode [$tree parent $activeFile]
|
||||
if [info exists files($parentNode)] {
|
||||
set sourceEnc [lindex $files($parentNode) 2]
|
||||
} else {
|
||||
set sourceEnc [encoding system] ;#[EncodeDialog]
|
||||
}
|
||||
puts $sourceEnc
|
||||
while {[gets $pipe line]>=0} {
|
||||
if [regexp -nocase -all -- {(\\)(usepackage)(\[)(.*?)(\])(\{)inputenc(\})} $line match v1 v2 v3 sourceEnc v5 v6 v7] {
|
||||
if [set ind [string last "," $sourceEnc]] {
|
||||
set sourceEnc [string range $sourceEnc [expr $ind + 1] end]
|
||||
}
|
||||
puts "ëÏÄÉÒÏ×ËÁ ÄÏËÕÍÅÎÔÁ $sourceEnc"
|
||||
set sourceEnc [GetCorrectEncode $sourceEnc]
|
||||
puts "ëÏÄÉÒÏ×ËÁ ÓÉÓÔÅÍÙ $sourceEnc"
|
||||
|
||||
}
|
||||
}
|
||||
fconfigure $pipe -encoding binary
|
||||
seek $pipe 0 start
|
||||
return $sourceEnc
|
||||
}
|
||||
|
||||
## CHANGE SOURCE FIELE ENCODING ##
|
||||
proc SetEncode {encode} {
|
||||
global files activeFile status nb
|
||||
destroy .encode
|
||||
set files($activeFile) [list [lindex $files($activeFile) 0] [lindex $files($activeFile) 1] "$encode"]
|
||||
#puts $files($activeFile)
|
||||
$status(encode) configure -text "[lindex $files($activeFile) 2]"
|
||||
}
|
||||
|
||||
## Reencoding text ##
|
||||
proc TextRecode {encode} {
|
||||
global files activeFile status nb
|
||||
destroy .encode
|
||||
set text $nb.f$activeFile.f.text
|
||||
set contents [$text get 0.0 end]
|
||||
#puts "[lindex $files($activeFile) 2] $encode"
|
||||
set contents [encoding convertto [lindex $files($activeFile) 2] $contents]
|
||||
set contents [encoding convertfrom $encode $contents]
|
||||
$text delete 0.0 end
|
||||
$text insert end $contents
|
||||
unset text
|
||||
SetEncode $encode
|
||||
}
|
||||
|
||||
proc CheckEncoding {text} {
|
||||
global files activeFile
|
||||
set sourceEnc "" ;#[EncodeDialog]
|
||||
set line [$text get 0.0 end]
|
||||
if [regexp -nocase -all -- {(\\)(usepackage)(\[)(.*?)(\])(\{)inputenc(\})} $line match v1 v2 v3 sourceEnc v5 v6 v7] {
|
||||
#break
|
||||
if {$sourceEnc != "[lindex $files($activeFile) 2]"} {
|
||||
set answer [tk_messageBox -message "[::msgcat::mc "Don't correctly setting document encoding! Save anyway?"]"\
|
||||
-type yesno -icon warning\
|
||||
-title [::msgcat::mc "Warning"]]
|
||||
case $answer {
|
||||
yes {return 1}
|
||||
no {return 0}
|
||||
}
|
||||
}
|
||||
puts "DocEnc-$sourceEnc ViewEnc-[lindex $files($activeFile) 2]"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
## clipboard encode ##
|
||||
|
||||
set xselection ""
|
||||
proc EncodeTextSelection {txt offset len} {
|
||||
set ::xselection [eval $txt get [$txt tag ranges sel]]
|
||||
encoding convertto \
|
||||
[crange $::xselection $offset [expr $offset + $len - 1]]
|
||||
}
|
||||
|
||||
proc EncodeEntrySelection {txt offset len} {
|
||||
if [$txt selection present] {
|
||||
set idx1 [$txt index sel.first]
|
||||
set idx2 [$txt index sel.last]
|
||||
set ::xselection [string range [$txt get] $idx1 $idx2]
|
||||
encoding convertto \
|
||||
[crange $::xselection $offset [expr $offset + $len - 1]]
|
||||
} else {
|
||||
set ::xselection ""
|
||||
}
|
||||
}
|
||||
|
||||
if {$tcl_platform(platform) == "win"} {
|
||||
bind Text <Map> { selection handle %W "EncodeTextSelection %W"}
|
||||
bind Entry <Map> { selection handle %W "EncodeEntrySelection %W"}
|
||||
bind Text <Unmap> { selection handle %W {}}
|
||||
bind Entry <Unmap> { selection handle %W {}}
|
||||
|
||||
bind Text <ButtonRelease-2> {
|
||||
if [catch {set sel [selection get]}] continue
|
||||
if {[selection own] == ""} {
|
||||
set sel [encoding convertfrom $sel]
|
||||
} else {
|
||||
set sel $xselection
|
||||
}
|
||||
%W insert current $sel
|
||||
}
|
||||
bind Entry <ButtonRelease-2> {
|
||||
if [catch {set sel [selection get]}] continue
|
||||
if {[selection own] == ""} {
|
||||
set sel [encoding convertfrom $sel]
|
||||
} else {
|
||||
set sel $xselection
|
||||
}
|
||||
%W insert insert $sel
|
||||
}
|
||||
}
|
||||
#set class Text
|
||||
#bind $class <Map> "selection handle %W \"unix::Encode${class}Selection %W\""
|
||||
#bind $class <Unmap> { selection handle %W {}}
|
||||
#proc EncodeTextSelection {txt offset len} {encoding convertto [eval $txt get [$txt tag ranges sel]]}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
402
lib/modules/file.tcl
Executable file
402
lib/modules/file.tcl
Executable file
|
@ -0,0 +1,402 @@
|
|||
######################################################
|
||||
# TkTeXeditor
|
||||
# Distributed under GNU Public License
|
||||
# Author: Sergey Kalinin (BanZaj) banzaj@lrn.ru
|
||||
# Copyright (c) "CONERO lrn", 2000, http//conero.lrn.ru
|
||||
######################################################
|
||||
set types {
|
||||
{"TeX files" {.tex}}
|
||||
{"Html files" {.html}}
|
||||
{"Text files" {.txt}}
|
||||
{"All files" *}
|
||||
}
|
||||
set typeImage {
|
||||
{"GIF files" {.gif}}
|
||||
{"PNG files" {.png}}
|
||||
{"JPEG files" {.jpeg}}
|
||||
{"All files" *}
|
||||
}
|
||||
|
||||
proc FileDialog {operation} {
|
||||
global dir font tree nb files treeStruct in lastNode \
|
||||
activeFile color status lblList ver sysenc release types
|
||||
## settings variable for tree section ##
|
||||
set in(c) 0 ;# chapter counter
|
||||
set in(p) 0 ;# part counter
|
||||
set in(s) 0 ;# section counter
|
||||
set in(ss) 0 ;# subsection counter
|
||||
set in(sss) 0 ;# subsubsection counter
|
||||
set in(par) 0 ;# paragraph cponter
|
||||
set in(spar) 0 ;# subparagraph cponter
|
||||
set lastNode "root"
|
||||
|
||||
|
||||
if {$operation == "new"} {
|
||||
NewFileDialog
|
||||
} elseif {$operation == "new_templ"} {
|
||||
TemplateDialog
|
||||
} elseif {$operation == "open"} {
|
||||
set file [tk_getOpenFile -initialdir $dir(current) -filetypes $types -parent .]
|
||||
#puts "$file"
|
||||
if {$file == ""} {return}
|
||||
# call EditFile procedure
|
||||
EditFile $file
|
||||
} elseif {$operation == "save"} {
|
||||
if [info exists activeFile] {
|
||||
set node $activeFile
|
||||
} else {
|
||||
#set node [$nb raise]
|
||||
return
|
||||
}
|
||||
if {$node == "newproj" || $node == "" || $node == "debug"} {
|
||||
return
|
||||
}
|
||||
if {[info exists files($node)] == 0} {
|
||||
return
|
||||
}
|
||||
|
||||
set text "$nb.f$node.f.text"
|
||||
set fullPath [lindex $files($node) 0]
|
||||
set encode [lindex $files($node) 2] ;# document encoding
|
||||
set folder [file dirname $fullPath]
|
||||
set file [file tail $fullPath]
|
||||
#set contents [encoding convertfrom $sysenc [$text get 0.0 end]]
|
||||
#set contents [encoding convertto $encode [$text get 0.0 end]]
|
||||
if {[CheckEncoding $text] == 0} {
|
||||
return
|
||||
}
|
||||
set contents [$text get 0.0 end]
|
||||
set fhandle [open [file join $folder $file] "w"]
|
||||
fconfigure $fhandle -encoding $encode
|
||||
puts $fhandle $contents nonewline
|
||||
close $fhandle
|
||||
|
||||
#UpdateStruct $fullPath
|
||||
if {[lindex $files($node) 1] == 1} {
|
||||
set files($node) [list [lindex $files($node) 0] 0 [lindex $files($node) 2]]
|
||||
$status(active) configure -text [::msgcat::mc "File saved"]
|
||||
$nb itemconfigure $node -foreground $color(editTitleNormal)
|
||||
}
|
||||
UpdateStruct $fullPath $node
|
||||
} elseif {$operation == "save_as"} {
|
||||
if [info exists activeFile] {
|
||||
set node $activeFile
|
||||
#set node [$nb raise]
|
||||
} else {
|
||||
return
|
||||
}
|
||||
if {$node == "newproj" || $node == "settings" || $node == "about" || $node == ""} {
|
||||
return
|
||||
}
|
||||
if {[info exists files($node)] == 0} {
|
||||
return
|
||||
}
|
||||
set fullPath [lindex $files($node) 0]
|
||||
set folder [file dirname $fullPath]
|
||||
set file [file tail $fullPath]
|
||||
set encode [lindex $files($node) 2] ;# document encoding
|
||||
set file [tk_getSaveFile -initialdir $dir(current) -filetypes $types -parent .\
|
||||
-initialfile $file -defaultextension .tex]
|
||||
if {$file == ""} {return}
|
||||
set text "$nb.f$node.f.text"
|
||||
set contents [$text get 0.0 end]
|
||||
set fhandle [open [file join $folder $file] "w"]
|
||||
fconfigure $fhandle -encoding $encode
|
||||
|
||||
puts $fhandle $contents nonewline
|
||||
close $fhandle
|
||||
if {[lindex $files($node) 1] == 1} {
|
||||
set files($node) [list [lindex $files($node) 0] 0 $encode]
|
||||
$status(active) configure -text [::msgcat::mc "File saved"]
|
||||
$nb itemconfigure $node -foreground $color(editTitleNormal)
|
||||
}
|
||||
UpdateStruct $fullPath $node
|
||||
} elseif {$operation == "save_all"} {
|
||||
# SAVE ALL PROCEDURE
|
||||
set i 0
|
||||
set nodeList [$nb pages 0 end]
|
||||
set length [llength $nodeList]
|
||||
while {$i < $length} {
|
||||
set nbNode [lindex $nodeList $i]
|
||||
if {$nbNode != "debug"} {
|
||||
set text "$nb.f$nbNode.f.text"
|
||||
set savedFile [lindex $files($nbNode) 0]
|
||||
set encode [lindex $files($nbNode) 2] ;# document encoding
|
||||
set contents [$text get 0.0 end]
|
||||
set fhandle [open $savedFile "w"]
|
||||
fconfigure $fhandle -encoding $encode
|
||||
puts $fhandle $contents nonewline
|
||||
close $fhandle
|
||||
if {[lindex $files($nbNode) 1] == 1} {
|
||||
set files($nbNode) [list [lindex $files($nbNode) 0] 0 $encode]
|
||||
$status(active) configure -text [::msgcat::mc "File saved"]
|
||||
$nb itemconfigure $nbNode -foreground $color(editTitleNormal)
|
||||
}
|
||||
}
|
||||
incr i
|
||||
}
|
||||
Timer "empty" "autosave"
|
||||
} elseif {$operation == "close"} {
|
||||
set node [$nb raise]
|
||||
if {$node == ""} {return}
|
||||
if {$node == "debug"} {
|
||||
$nb delete $node
|
||||
$nb raise [$nb page 0]
|
||||
return
|
||||
}
|
||||
set childrenNode [$tree nodes $node]
|
||||
# ÐÒÏ×ÅÒÑÅÍ ÅÓÔØ ÌÉ ÏÔËÒÙÔÅ ÄÏÞÅÒÎÉÅ ÆÁÊÌÙ É ÚÁËÒÙ×ÁÅÍ ÉÚÈ ÅÓÌÉ ÅÓÔØ
|
||||
if {$childrenNode != ""} {
|
||||
for {set i 0} {$i <= [llength $childrenNode]} {incr i} {
|
||||
if {[info exists files([lindex $childrenNode $i])] == 1} {
|
||||
CloseNode [lindex $childrenNode $i]
|
||||
}
|
||||
}
|
||||
}
|
||||
CloseNode $node
|
||||
} elseif {$operation == "close_all"} {
|
||||
set nodeList [$nb pages 0 end]
|
||||
$nb raise [$nb page 0]
|
||||
set nbNode [$nb raise]
|
||||
while {$nbNode != ""} {
|
||||
if {[info exists files($nbNode)] == 1} {
|
||||
if {[lindex $files($nbNode) 1] == 1} {
|
||||
set f [lindex $files($nbNode) 0]
|
||||
set f [file tail $f]
|
||||
set answer [tk_messageBox\
|
||||
-message "$f [::msgcat::mc "File was modifyed. Save?"]"\
|
||||
-type yesnocancel -icon warning\
|
||||
-title [::msgcat::mc "Warning"]]
|
||||
case $answer {
|
||||
yes {FileDialog save}
|
||||
no {}
|
||||
cancel {return}
|
||||
}
|
||||
}
|
||||
}
|
||||
$tree delete $nbNode
|
||||
$nb delete $nbNode
|
||||
$nb raise [$nb page 0]
|
||||
set nbNode [$nb raise]
|
||||
}
|
||||
} elseif {$operation == "quit_close_all"} {
|
||||
set nodeList [$nb pages 0 end]
|
||||
$nb raise [$nb page 0]
|
||||
set nbNode [$nb raise]
|
||||
set fhandle [open [file join $dir(work) bookmarks] "w"]
|
||||
while {$nbNode != ""} {
|
||||
if {[info exists files($nbNode)] == 1} {
|
||||
set f [lindex $files($nbNode) 0]
|
||||
puts $f
|
||||
# ÚÁÐÏÍÎÉÎÁÎÉÅ ÏÔËÒÙÔÙÈ ÆÁÊÌÏ× É ÐÏÚÉÃÉÊ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ
|
||||
set text "$nb.f$nbNode.f.text"
|
||||
puts $fhandle "$f [$text index insert]"
|
||||
puts "$f [$text index insert]"
|
||||
if {[lindex $files($nbNode) 1] == 1} {
|
||||
set f [file tail $f]
|
||||
set answer [tk_messageBox\
|
||||
-message "$f [::msgcat::mc "File was modifyed. Save?"]"\
|
||||
-type yesnocancel -icon warning\
|
||||
-title [::msgcat::mc "Warning"]]
|
||||
case $answer {
|
||||
yes {FileDialog save}
|
||||
no {}
|
||||
cancel {return 0}
|
||||
}
|
||||
}
|
||||
}
|
||||
$tree delete $nbNode
|
||||
$nb delete $nbNode
|
||||
$nb raise [$nb page 0]
|
||||
set nbNode [$nb raise]
|
||||
}
|
||||
close $fhandle
|
||||
}
|
||||
}
|
||||
proc NewFile {fileName} {
|
||||
global dir workDir tree nb font
|
||||
destroy .addtoproj
|
||||
|
||||
set type [string trim [file extension $fileName] {.}]
|
||||
if {$type == "tcl"} {
|
||||
set img "tcl"
|
||||
} elseif {$type == "tk"} {
|
||||
set img "tk"
|
||||
} elseif {$type == "txt"} {
|
||||
set img "file"
|
||||
} elseif {$type == "html"} {
|
||||
set img "html"
|
||||
} else {
|
||||
set img "file"
|
||||
}
|
||||
#set subNode [InsertTreeNode $fileName $dir(doc)]
|
||||
if [info exists dir(current)] {
|
||||
set file [file join $dir(current) $fileName]
|
||||
} else {
|
||||
set file [file join $dir(doc) $fileName]
|
||||
}
|
||||
|
||||
#puts $file
|
||||
#InsertTitle $file $type
|
||||
if {[file exists $file] == 0} {
|
||||
set fHandle [open "$file" a+]
|
||||
close $fHandle
|
||||
}
|
||||
EditFile $file
|
||||
}
|
||||
## ADD FILE INTO PROJECT DIALOG##
|
||||
proc NewFileDialog {} {
|
||||
global dir
|
||||
set w .addtoproj
|
||||
if {[winfo exists $w]} {
|
||||
destroy $w
|
||||
}
|
||||
# create the new "goto" window
|
||||
toplevel $w
|
||||
wm title $w [::msgcat::mc "Create new file"]
|
||||
wm resizable $w 0 0
|
||||
wm transient $w .
|
||||
|
||||
frame $w.frmCanv -border 1 -relief sunken
|
||||
frame $w.frmBtn -border 1 -relief sunken
|
||||
pack $w.frmCanv -side top -fill both -padx 1 -pady 1
|
||||
pack $w.frmBtn -side top -fill x
|
||||
|
||||
label $w.frmCanv.lblImgTcl -text [::msgcat::mc "Input file name"]
|
||||
entry $w.frmCanv.entImgTcl
|
||||
pack $w.frmCanv.lblImgTcl $w.frmCanv.entImgTcl -expand true -padx 5 -pady 5 -side top
|
||||
|
||||
button $w.frmBtn.btnOk -text [::msgcat::mc "Create"] -relief groove -command {
|
||||
NewFile [.addtoproj.frmCanv.entImgTcl get]
|
||||
}
|
||||
button $w.frmBtn.btnCancel -text [::msgcat::mc "Close"] -command "destroy $w" -relief groove
|
||||
pack $w.frmBtn.btnOk $w.frmBtn.btnCancel -padx 2 -pady 2 -fill x -side left
|
||||
|
||||
bind $w <Escape> "destroy .addtoproj"
|
||||
bind $w.frmCanv.entImgTcl <Return> {
|
||||
NewFile [.addtoproj.frmCanv.entImgTcl get]
|
||||
}
|
||||
focus -force $w.frmCanv.entImgTcl
|
||||
$w.frmCanv.entImgTcl insert 0 "name.tex"
|
||||
}
|
||||
|
||||
proc FileAttr {file} {
|
||||
global tcl_platform
|
||||
set fileAttribute ""
|
||||
# get file modify time
|
||||
if {$tcl_platform(platform) == "windows"} {
|
||||
|
||||
} elseif {$tcl_platform(platform) == "mac"} {
|
||||
|
||||
} elseif {$tcl_platform(platform) == "unix"} {
|
||||
set unixTime [file mtime $file]
|
||||
set modifyTime [clock format $unixTime -format "%d/%m/%Y, %H:%M"]
|
||||
append fileAttribute $modifyTime
|
||||
}
|
||||
# get file size
|
||||
set size [file size $file]
|
||||
if {$size < 1024} {
|
||||
set fileSize "$size b"
|
||||
}
|
||||
if {$size >= 1024} {
|
||||
set s [expr ($size.0) / 1024]
|
||||
set dot [string first "\." $s]
|
||||
set int [string range $s 0 [expr $dot - 1]]
|
||||
set dec [string range $s [expr $dot + 1] [expr $dot + 2]]
|
||||
set fileSize "$int.$dec Kb"
|
||||
}
|
||||
if {$size >= 1048576} {
|
||||
set s [expr ($size.0) / 1048576]
|
||||
set dot [string first "\." $s]
|
||||
set int [string range $s 0 [expr $dot - 1]]
|
||||
set dec [string range $s [expr $dot + 1] [expr $dot + 2]]
|
||||
set fileSize "$int.$dec Mb"
|
||||
}
|
||||
append fileAttribute ", $fileSize"
|
||||
}
|
||||
|
||||
## REMOVED SELECTED TEXT INTO FILE AND INCLUDE THEM ##
|
||||
proc SaveToFile {action} {
|
||||
global nb activeFile files dir types typeImage
|
||||
set text $nb.f$activeFile.f.text
|
||||
set selIndex [$text tag ranges sel]
|
||||
if {$selIndex != ""} {
|
||||
set posBegin [lindex $selIndex 0]
|
||||
set posEnd [lindex $selIndex 1]
|
||||
set contents [$text get $posBegin $posEnd]
|
||||
} else {
|
||||
return
|
||||
}
|
||||
|
||||
set enc "[lindex $files($activeFile) 2]"
|
||||
set contents [encoding convertto $enc $contents]
|
||||
set contents [encoding convertfrom $enc $contents]
|
||||
|
||||
if {$action == "image"} {
|
||||
set file [tk_getSaveFile -initialdir $dir(current) -filetypes $typeImage -parent .\
|
||||
-title [::msgcat::mc "Save as"] -initialfile new_name.gif -defaultextension .gif]
|
||||
if {$file == ""} {return}
|
||||
Render $contents text $file
|
||||
} else {
|
||||
set file [tk_getSaveFile -initialdir $dir(current) -filetypes $types -parent .\
|
||||
-title [::msgcat::mc "Save as"] -initialfile new_name.tex -defaultextension .tex]
|
||||
if {$file == ""} {return}
|
||||
set fHandle [open $file w]
|
||||
puts $fHandle $contents
|
||||
close $fHandle
|
||||
}
|
||||
if {$action == "remove"} {
|
||||
$text delete $posBegin $posEnd
|
||||
$text insert $posBegin "\n\\input\{[file rootname $file]\}\n"
|
||||
}
|
||||
PageRaise $activeFile
|
||||
}
|
||||
|
||||
proc CloseNode {node} {
|
||||
global dir font tree nb files treeStruct in lastNode activeFile color status lblList ver sysenc release types
|
||||
if {$node == "debug"} {$nb delete $node; $nb raise [$nb page 0]; set node [$nb raise]; return}
|
||||
|
||||
if {[info exists files($node)] == 1} {
|
||||
if {[lindex $files($node) 1] == 1} {
|
||||
set f [lindex $files($node) 0]
|
||||
set f [file tail $f]
|
||||
set answer [tk_messageBox\
|
||||
-message "$f [::msgcat::mc "File was modifyed. Save?"]"\
|
||||
-type yesnocancel -icon warning\
|
||||
-title [::msgcat::mc "Warning"]]
|
||||
case $answer {
|
||||
yes {FileDialog save}
|
||||
no {}
|
||||
cancel {return}
|
||||
}
|
||||
}
|
||||
}
|
||||
PageTab -1
|
||||
$nb delete $node
|
||||
unset files($node)
|
||||
set parentNode [$tree parent $node]
|
||||
set curNode [$tree selection get]
|
||||
if {[$tree parent $node] == "root"} {
|
||||
if {[$tree exists $node] == 1} {
|
||||
$tree delete $node
|
||||
}
|
||||
}
|
||||
#$nb raise [$nb page 0]
|
||||
#set node [$nb raise]
|
||||
ClickTab $node
|
||||
$treeStruct delete [$treeStruct nodes root]
|
||||
$lblList delete [$lblList item 0 end]
|
||||
wm title . "TkLaTeXEditor $ver\($release\)"
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
575
lib/modules/gui.tcl
Executable file
575
lib/modules/gui.tcl
Executable file
|
@ -0,0 +1,575 @@
|
|||
######################################################
|
||||
# TkTeXeditor
|
||||
# Distributed under GNU Public License
|
||||
# Author: Sergey Kalinin (BanZaj) banzaj@lrn.ru
|
||||
# Copyright (c) "CONERO lrn", 2000, http//conero.lrn.ru
|
||||
######################################################
|
||||
|
||||
######################################################
|
||||
# #
|
||||
# Programms main interface window #
|
||||
# #
|
||||
######################################################
|
||||
|
||||
|
||||
## MAIN INTERFACE WINDOW ##
|
||||
wm geometry . $gui(geometry)
|
||||
set activeFile ""
|
||||
wm title . "TkLaTeXEditor $ver$release"
|
||||
wm iconname . "TkTeXEditor $ver$release"
|
||||
wm protocol . WM_DELETE_WINDOW Quit
|
||||
wm overrideredirect . 0
|
||||
wm positionfrom . user
|
||||
#wm resizable . 0 0
|
||||
|
||||
## main frames
|
||||
frame .frmMenu -border 1 -relief raised -background $color(bg)
|
||||
frame .frmTool -border 1 -relief raised -background $color(bg)
|
||||
frame .frmToolEdit -border 1 -relief raised -background $color(bg)
|
||||
frame .frmBody -border 1 -relief raised -background $color(bg)
|
||||
frame .frmStatus -border 1 -relief sunken -background $color(bg)
|
||||
pack .frmMenu -side top -padx 1 -fill x
|
||||
pack .frmTool -side top -padx 1 -fill x
|
||||
pack .frmToolEdit -side top -padx 1 -fill x
|
||||
pack .frmBody -side top -padx 1 -fill both -expand true
|
||||
pack .frmStatus -side top -padx 1 -fill x
|
||||
|
||||
## MENU ##
|
||||
menubutton .frmMenu.mnuFile -text [::msgcat::mc "File"] -menu .frmMenu.mnuFile.m -font $font(normal) -background $color(bg)
|
||||
set m [menu .frmMenu.mnuFile.m -background $color(bg)]
|
||||
$m add cascade -label [::msgcat::mc "New"] -menu $m.new -font $font(normal)
|
||||
set mn [menu $m.new -background $color(bg)]
|
||||
$mn add command -label [::msgcat::mc "New file"] -command {FileDialog new}\
|
||||
-font $font(normal) -accelerator "Ctrl+N"
|
||||
$mn add command -label [::msgcat::mc "Create from template"] -command {FileDialog new_templ}\
|
||||
-font $font(normal)
|
||||
$mn add command -label [::msgcat::mc "New project"] -command {NewProj add ""}\
|
||||
-font $font(normal) -state disable
|
||||
$m add command -label [::msgcat::mc "Open"] -command {FileDialog open}\
|
||||
-font $font(normal) -accelerator "Ctrl+O"
|
||||
$m add command -label [::msgcat::mc "Save"] -command {FileDialog save}\
|
||||
-font $font(normal) -accelerator "Ctrl+S"
|
||||
$m add command -label [::msgcat::mc "Save as"] -command {FileDialog save_as}\
|
||||
-font $font(normal) -accelerator "Ctrl+A"
|
||||
$m add command -label [::msgcat::mc "Save all"] -command {FileDialog save_all}\
|
||||
-font $font(normal)
|
||||
$m add command -label [::msgcat::mc "Close"] -command {FileDialog close}\
|
||||
-font $font(normal) -accelerator "Ctrl+W"
|
||||
$m add command -label [::msgcat::mc "Close all"] -command {FileDialog close_all}\
|
||||
-font $font(normal)
|
||||
$m add command -label [::msgcat::mc "Delete"] -command {FileDialog delete}\
|
||||
-font $font(normal) -accelerator "Ctrl+D"
|
||||
$m add separator
|
||||
$m add command -label [::msgcat::mc "Print"] -command {PrintDialog print}\
|
||||
-font $font(normal) -accelerator "Ctrl+P" -state normal
|
||||
#$m add separator
|
||||
#$m add command -label [::msgcat::mc "Settings"] -command Settings -font $font(normal)
|
||||
$m add separator
|
||||
$m add command -label [::msgcat::mc "Exit"] -command Quit -font $font(normal) -accelerator "Ctrl+Q"
|
||||
|
||||
### DOCUMENT MENU ####
|
||||
menubutton .frmMenu.mnuDoc -text [::msgcat::mc "Document"] -menu .frmMenu.mnuDoc.m -font $font(normal) -background $color(bg)
|
||||
|
||||
set m [menu .frmMenu.mnuDoc.m -background $color(bg)]
|
||||
#$m add command -label [::msgcat::mc "Included packages"] -command {PackageDialog}\
|
||||
#-font $font(normal) -state disable
|
||||
# "convert to" submenu ##
|
||||
$m add cascade -label "[::msgcat::mc "Convert to"] ..." -menu $m.convert -font $font(normal) -state normal
|
||||
set mn [menu $m.convert -background $color(bg)]
|
||||
$mn add command -label [::msgcat::mc "DVI"] -font $font(normal) -accelerator "F5" -state normal\
|
||||
-command {ConvertDialog dvi}
|
||||
$mn add command -label [::msgcat::mc "PS"] -font $font(normal) -accelerator "F6" -state normal\
|
||||
-command {ConvertDialog ps}
|
||||
$mn add command -label [::msgcat::mc "PDF"] -font $font(normal) -accelerator "F7" -state normal\
|
||||
-command {ConvertDialog pdf}
|
||||
$mn add command -label "HTML" -font $font(normal) -command {ConvertDialog html}\
|
||||
|
||||
$mn add separator
|
||||
## "preview" submenu ##
|
||||
$m add cascade -label [::msgcat::mc "Preview"] -menu $m.preview -font $font(normal) -state normal
|
||||
set mn [menu $m.preview -background $color(bg)]
|
||||
$mn add command -label "DVI" -command {Preview dvi} -font $font(normal)
|
||||
$mn add command -label "PS" -command {Preview ps} -font $font(normal)
|
||||
$mn add command -label "PDF" -command {Preview pdf} -font $font(normal)
|
||||
$mn add command -label "HTML" -command {Preview html} -font $font(normal)
|
||||
|
||||
$m add separator
|
||||
$m add command -label [::msgcat::mc "Spell check"] -font $font(normal) -state normal\
|
||||
-command {
|
||||
SpellCheck $nb.f[$nb raise].f.text
|
||||
}
|
||||
$m add command -label [::msgcat::mc "Encoding"] -font $font(normal) -state normal\
|
||||
-command {EncodeDialog file}
|
||||
|
||||
$m add command -label [::msgcat::mc "Syntax check"] -command {DoModule syntax}\
|
||||
-font $font(normal) -state disable
|
||||
|
||||
##.frmMenu 'EDIT' ##
|
||||
menubutton .frmMenu.mnuEdit -text [::msgcat::mc "Edit"] -menu .frmMenu.mnuEdit.m -font $font(normal) -background $color(bg)
|
||||
set m [menu .frmMenu.mnuEdit.m -background $color(bg)]
|
||||
$m add command -label [::msgcat::mc "Undo"] -font $font(normal) -accelerator "Ctrl+Z"\
|
||||
-state normal -command "CutPast undo"
|
||||
$m add separator
|
||||
$m add command -label [::msgcat::mc "Copy"] -font $font(normal) -accelerator "Ctrl+C"\
|
||||
-command "CutPast copy"
|
||||
$m add command -label [::msgcat::mc "Paste"] -font $font(normal) -accelerator "Ctrl+V"\
|
||||
-command "CutPast paste"
|
||||
$m add command -label [::msgcat::mc "Cut"] -font $font(normal) -accelerator "Ctrl+X"\
|
||||
-command "CutPast cut"
|
||||
$m add separator
|
||||
$m add command -label [::msgcat::mc "Select All"] -command {Select all} -font $font(normal) -accelerator "Ctrl+/"
|
||||
$m add command -label [::msgcat::mc "Remove selection"] -command {Select remove} -font $font(normal)\
|
||||
-accelerator "Ctrl+\\"
|
||||
$m add separator
|
||||
$m add command -label [::msgcat::mc "Goto line"] -command GoToLine -font $font(normal)\
|
||||
-accelerator "Ctrl+G"
|
||||
$m add command -label [::msgcat::mc "Find"] -command Find -font $font(normal) -accelerator "Ctrl+F"
|
||||
$m add command -label [::msgcat::mc "Replace"] -command ReplaceDialog -font $font(normal)\
|
||||
-accelerator "Ctrl+R"
|
||||
$m add separator
|
||||
$m add cascade -label "[::msgcat::mc "Custom operations"] ..." -menu $m.hotkeys -font $font(normal) -state normal
|
||||
menu $m.hotkeys -background $color(bg)
|
||||
|
||||
## MENU for selected text ##
|
||||
set m [menu .frmMenu.mnuEdit.m.selection -background $color(bg)]
|
||||
$m add command -label [::msgcat::mc "Select All"] -command {Select all} -font $font(normal) -accelerator "Ctrl+/"
|
||||
$m add command -label [::msgcat::mc "Remove selection"] -command {Select remove} -font $font(normal)\
|
||||
-accelerator "Ctrl+\\"
|
||||
$m add separator
|
||||
$m add command -label [::msgcat::mc "Copy"] -font $font(normal) -accelerator "Ctrl+C"\
|
||||
-command "CutPast copy"
|
||||
$m add command -label [::msgcat::mc "Paste"] -font $font(normal) -accelerator "Ctrl+V"\
|
||||
-command "CutPast paste"
|
||||
$m add command -label [::msgcat::mc "Cut"] -font $font(normal) -accelerator "Ctrl+X"\
|
||||
-command "CutPast cut"
|
||||
$m add separator
|
||||
$m add command -label [::msgcat::mc "Preview formula"] -command {GenerateFormula math} -font $font(normal)\
|
||||
-accelerator "Alt+F"
|
||||
$m add command -label [::msgcat::mc "Preview text"] -command {GenerateFormula text} -font $font(normal)\
|
||||
-accelerator "Alt+T"
|
||||
$m add separator
|
||||
$m add command -label [::msgcat::mc "Remove to file"] -command {SaveToFile remove} -font $font(normal)
|
||||
$m add command -label [::msgcat::mc "Save as file"] -command {SaveToFile file} -font $font(normal)
|
||||
$m add command -label [::msgcat::mc "Save as image"] -command {SaveToFile image} -font $font(normal)
|
||||
|
||||
|
||||
## VIEW MENU ##
|
||||
menubutton .frmMenu.mnuView -text [::msgcat::mc "View"] -menu .frmMenu.mnuView.m -font $font(normal) -state normal -background $color(bg)
|
||||
set m [menu .frmMenu.mnuView.m -background $color(bg)]
|
||||
$m add cascade -label [::msgcat::mc "Toolbar"] -menu $m.tool -font $font(normal)
|
||||
set mn [menu $m.tool]
|
||||
|
||||
#$mn add command -label [::msgcat::mc "Create from template"] -command {FileDialog new_templ}\
|
||||
#-font $font(normal)
|
||||
|
||||
$m add separator
|
||||
$m add command -label [::msgcat::mc "Split window"] -font $font(normal) -accelerator "F2" -state disable\
|
||||
-command {SplitWindow}
|
||||
$m add command -label [::msgcat::mc "Encoding"] -font $font(normal) -state normal\
|
||||
-command {EncodeDialog view}
|
||||
|
||||
## MODULES MENU ##
|
||||
menubutton .frmMenu.mnuModule -text [::msgcat::mc "Modules"] -menu .frmMenu.mnuModule.m \
|
||||
-underline 0 -font $font(normal) -background $color(bg)
|
||||
|
||||
## HELP MENU ##
|
||||
menubutton .frmMenu.mnuHelp -text [::msgcat::mc "Help"] -menu .frmMenu.mnuHelp.m \
|
||||
-underline 0 -font $font(normal) -background $color(bg)
|
||||
set m [menu .frmMenu.mnuHelp.m -background $color(bg)]
|
||||
$m add command -label [::msgcat::mc "Help"] -command ShowHelp \
|
||||
-accelerator F1 -font $font(normal)
|
||||
$m add command -label [::msgcat::mc "About ..."] -command AboutDialog \
|
||||
-font $font(normal)
|
||||
|
||||
pack .frmMenu.mnuFile .frmMenu.mnuEdit .frmMenu.mnuDoc .frmMenu.mnuView .frmMenu.mnuModule -side left
|
||||
pack .frmMenu.mnuHelp -side right
|
||||
|
||||
|
||||
###############################################
|
||||
frame .frmBody.frmList -background $color(bg)
|
||||
frame .frmBody.frmEditor -background $color(bg)
|
||||
pack .frmBody.frmList .frmBody.frmEditor -side left -fill both
|
||||
|
||||
## SPLIT BAR ##
|
||||
pane::create .frmBody.frmList .frmBody.frmEditor
|
||||
|
||||
## TREE FRAME ##
|
||||
|
||||
set nbTree [NoteBook .frmBody.frmList.nBook -font $font(normal) -side $gui(tabsLabel) -background $color(bg)]
|
||||
pack $nbTree -fill both -expand true -padx 2 -pady 2
|
||||
|
||||
set f [$nbTree insert end fileTree -text [::msgcat::mc "Files"] -background $color(bg)]
|
||||
set fTree [ScrolledWindow $f.f -background $color(bg)]
|
||||
pack $fTree -side top -fill both -expand yes -padx 0 -pady 0
|
||||
set tree [Tree $fTree.tree \
|
||||
-relief sunken -borderwidth 1 -width 1 -height 1 -highlightthickness 1\
|
||||
-redraw 0 -dropenabled 1 -dragenabled 1 -dragevent 3 \
|
||||
-background $color(editBg) -selectbackground $color(selectbg) \
|
||||
-droptypes {TREE_NODE {copy {} move {} link {}}
|
||||
LISTBOX_ITEM {copy {} move {} link {}}} -opencmd {} -closecmd {}]
|
||||
$fTree setwidget $tree
|
||||
#pack $tree -side left -fill both -expand yes
|
||||
###############################################
|
||||
set fStruct [$nbTree insert end fileStruct -text [::msgcat::mc "Document"] -background $color(bg)]
|
||||
set fTreeStruct [ScrolledWindow $fStruct.fs -background $color(bg)]
|
||||
pack $fTreeStruct -side top -fill both -expand yes
|
||||
set treeStruct [Tree $fTreeStruct.treeStruct \
|
||||
-relief sunken -borderwidth 1 -width 1 -height 1 -highlightthickness 1\
|
||||
-redraw 0 -dropenabled 0 -dragenabled 0 -dragevent 3 \
|
||||
-background $color(editBg) -selectbackground $color(selectbg) \
|
||||
-showlines 1 -droptypes {
|
||||
TREE_NODE {copy {} move {} link {}}
|
||||
LISTBOX_ITEM {copy {} move {} link {}}
|
||||
}]
|
||||
$fTreeStruct setwidget $treeStruct
|
||||
#pack $treeStruct -side left -fill both -expand yes
|
||||
###############################################
|
||||
set f [$nbTree insert end lblList -text [::msgcat::mc "Labels"] -background $color(bg)]
|
||||
set fList [ScrolledWindow $f.f -background $color(bg)]
|
||||
set lblList [ListBox $fList.list -font $font(normal) -relief sunken -borderwidth 1 -width 1 -height 1 -highlightthickness 1 -background $color(editBg) -selectbackground $color(selectbg)]
|
||||
#pack $lblList -side left -fill both -expand yes
|
||||
$fList setwidget $lblList
|
||||
pack $fList -side top -fill both -expand yes
|
||||
###############################################
|
||||
set nb [NoteBook .frmBody.frmEditor.noteBook -font $font(normal) -side $gui(tabsLabel) -background $color(bg)]
|
||||
pack $nb -fill both -expand true -padx 2 -pady 2
|
||||
###############################################
|
||||
|
||||
set m .popupTabs
|
||||
menu $m -font $font(normal)
|
||||
$m add command -label [::msgcat::mc "Close"] -command {FileDialog close}\
|
||||
-font $font(normal) -accelerator "Ctrl+W"
|
||||
$m add command -label [::msgcat::mc "Close all"] -command {FileDialog close_all}\
|
||||
-font $font(normal)
|
||||
|
||||
## KEYS BINDINGS ##
|
||||
|
||||
$tree bindText <Button-1> "TreeOneClick [$tree selection get]"
|
||||
$tree bindImage <Button-1> "TreeOneClick [$tree selection get]"
|
||||
$tree bindText <Shift-Button-1> {$tree selection add [$tree selection get]}
|
||||
$tree bindImage <Shift-Button-1> {$tree selection add [$tree selection get]}
|
||||
$treeStruct bindText <Button-1> "TreeStructOneClick [$treeStruct selection get]"
|
||||
$treeStruct bindImage <Button-1> "TreeStructOneClick [$treeStruct selection get]"
|
||||
|
||||
$nb bindtabs <ButtonRelease> "ClickTab"
|
||||
$nb bindtabs <Button-3> {catch [PopupMenuTab .popupTabs %X %Y]}
|
||||
|
||||
## MOUSE WHEEL BINDING ##
|
||||
bind $fTree.tree.c <Button-4> "$tree yview scroll -3 units"
|
||||
bind $fTree.tree.c <Button-5> "$tree yview scroll 3 units"
|
||||
bind $fTree.tree.c <Shift-Button-4> "$tree xview scroll -2 units"
|
||||
bind $fTree.tree.c <Shift-Button-5> "$tree xview scroll 2 units"
|
||||
bind $fTree.tree.c <Button-3> {catch [tk_popup .frmMenu.mnuFile.m %X %Y]}
|
||||
|
||||
bind $fTreeStruct.treeStruct.c <Button-4> "$treeStruct yview scroll -3 units"
|
||||
bind $fTreeStruct.treeStruct.c <Button-5> "$treeStruct yview scroll 3 units"
|
||||
bind $fTreeStruct.treeStruct.c <Shift-Button-4> "$treeStruct xview scroll -2 units"
|
||||
bind $fTreeStruct.treeStruct.c <Shift-Button-5> "$treeStruct xview scroll 2 units"
|
||||
|
||||
$lblList bindImage <ButtonRelease-1> "FindLabel [$lblList selection get]"
|
||||
$lblList bindText <ButtonRelease-1> "FindLabel [$lblList selection get]"
|
||||
|
||||
bind $lblList.c <Button-4> "$lblList yview scroll -3 units"
|
||||
bind $lblList.c <Button-5> "$lblList yview scroll 3 units"
|
||||
bind $lblList.c <Shift-Button-4> "$lblList xview scroll -2 units"
|
||||
bind $lblList.c <Shift-Button-5> "$lblList xview scroll 2 units"
|
||||
|
||||
bind . <Control-q> Quit
|
||||
bind . <Control-Q> Quit
|
||||
bind . <F1> ShowHelp
|
||||
bind . <F5> {ConvertDialog dvi}
|
||||
bind . <F6> {ConvertDialog ps}
|
||||
bind . <F7> {ConvertDialog pdf}
|
||||
|
||||
bind . <Control-Next> {PageTab 1}
|
||||
bind . <Control-Prior> {PageTab -1}
|
||||
|
||||
###############################################
|
||||
## CREATE TOOLBARs ##
|
||||
###############################################
|
||||
set btnNum 0
|
||||
proc CreateToolButton {frame command image hint keys} {
|
||||
global dir btnNum color relief
|
||||
if {$frame == "main"} {
|
||||
set frm frmTool
|
||||
} else {
|
||||
set frm frmToolEdit
|
||||
}
|
||||
set comm [string trim $command "\""]
|
||||
set btn [Button .$frm.$frame.btn_$btnNum -relief $relief(btn) -bd 1\
|
||||
-command $comm -background $color(bg)]
|
||||
image create photo img_$btnNum -format gif -file [file join $dir(img) $image]
|
||||
$btn configure -image img_$btnNum
|
||||
if {$keys != ""} {
|
||||
set keys [string trim $keys "\""]
|
||||
#puts "$keys - $comm"
|
||||
bind . <$keys> "$comm"
|
||||
}
|
||||
|
||||
pack $btn -side left
|
||||
balloon $btn set [::msgcat::mc [string trim $hint "\""]]
|
||||
incr btnNum
|
||||
}
|
||||
proc ReadToolBarFile {_dir} {
|
||||
global dir font color file frm frame tool
|
||||
foreach file [lsort [glob -nocomplain [file join $_dir toolbar *]]] {
|
||||
puts "Found toolbar file - \'$file\'"
|
||||
set frame [file tail $file]
|
||||
if {$frame == "main"} {
|
||||
set frm frmTool
|
||||
} else {
|
||||
set frm frmToolEdit
|
||||
}
|
||||
AddCheckBox .frmMenu.mnuView.m.tool $frame $file $frm
|
||||
if {$tool($frame) == 1} {
|
||||
ReadToolBar $file
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
proc AddCheckBox {m frame file frm} {
|
||||
global font color tool
|
||||
$m add checkbutton -label [::msgcat::mc "$frame"] -font $font(normal) -state normal\
|
||||
-offvalue 0 -onvalue 1 -variable tool($frame) -selectcolor $color(selectbg)\
|
||||
-command "ToolBar $frm $frame $file"\
|
||||
-background $color(bg)
|
||||
}
|
||||
|
||||
proc ReadToolBar {file} {
|
||||
global dir font color
|
||||
set frame [file tail $file]
|
||||
puts "Create toolbar \'$frame\' from file \'$file\'"
|
||||
|
||||
if {$frame == "main"} {
|
||||
set frm frmTool
|
||||
} else {
|
||||
set frm frmToolEdit
|
||||
}
|
||||
pack [frame .$frm.$frame -background $color(bg)] -side left -fill x
|
||||
set fHandle [open $file]
|
||||
while {[gets $fHandle line]>=0} {
|
||||
set line [string trim $line]
|
||||
set kw [string range $line 0 [expr [string first " " $line]-1]]
|
||||
set l [string range $line [expr [string first " " $line] +1] end]
|
||||
if {$kw == "button"} {
|
||||
if [regexp -- {(\".*?\") (.*?) (\".*?\") (\".*?\")} $l m cmd img hint keys] {
|
||||
#puts "$frame $cmd $img $hint"
|
||||
CreateToolButton $frame $cmd $img $hint $keys
|
||||
} elseif [regexp -- {(\".*?\") (.*?) (\".*?\")} $l m cmd img hint] {
|
||||
CreateToolButton $frame $cmd $img $hint ""
|
||||
}
|
||||
}
|
||||
if {$l == "Separator"} {
|
||||
CreateSeparator $frame
|
||||
}
|
||||
if {$kw == "menu"} {
|
||||
if [regexp -- {(.*?) (\".*?\")} $l m img hint] {
|
||||
set menu [CreateToolMenu $frame $img $hint]
|
||||
}
|
||||
}
|
||||
if {$kw == "cmd"} {
|
||||
|
||||
if [regexp -- {(\".*?\") (\".*?\") (\".*?\")} $l m cmd hint keys] {
|
||||
InsertCommand $menu $cmd $hint "" $keys
|
||||
} elseif [regexp -- {(\".*?\") (\".*?\")} $l m cmd hint] {
|
||||
InsertCommand $menu $cmd $hint "" ""
|
||||
}
|
||||
|
||||
if [regexp -- {separator} $l m] {
|
||||
InsertSeparator $menu
|
||||
}
|
||||
}
|
||||
if {$kw == "imagecmd"} {
|
||||
if [regexp -- {(\".*?\") (\".*?\") (.*?)\.gif} $l m cmd hint im] {
|
||||
InsertCommand $menu $cmd $hint $im ""
|
||||
}
|
||||
if [regexp -- {(\".*?\") (\".*?\") (.*?)\.gif (\".*?\")} $l m cmd hint im keys] {
|
||||
InsertCommand $menu $cmd $hint $im $keys
|
||||
}
|
||||
}
|
||||
}
|
||||
close $fHandle
|
||||
}
|
||||
|
||||
set mnuNum 0
|
||||
proc CreateToolMenu {frame image hint} {
|
||||
global dir font mnuNum color relief
|
||||
if {$frame == "main"} {
|
||||
set frm frmTool
|
||||
} else {
|
||||
set frm frmToolEdit
|
||||
}
|
||||
image create photo img_mnu$mnuNum -format gif -file [file join $dir(img) $image]
|
||||
menubutton .$frm.$frame.m$mnuNum -image img_mnu$mnuNum -border 0\
|
||||
-menu .$frm.$frame.m$mnuNum.m -background $color(bg) -relief $relief(menu)
|
||||
|
||||
set menu [menu .$frm.$frame.m$mnuNum.m -background $color(bg)]
|
||||
pack .$frm.$frame.m$mnuNum -side left
|
||||
balloon .$frm.$frame.m$mnuNum set [::msgcat::mc [string trim $hint "\""]]
|
||||
incr mnuNum
|
||||
return $menu
|
||||
}
|
||||
set cmdNum 0
|
||||
proc InsertCommand {m cmd hint image keys} {
|
||||
global font dir cmdNum color
|
||||
set comm [string trim $cmd "\""]
|
||||
set hint [string trim $hint "\""]
|
||||
#puts "Create cmd - $m - $cmd $hint $image"
|
||||
|
||||
if {$keys != ""} {
|
||||
set keys [string trim $keys "\""]
|
||||
#puts "$keys - $comm"
|
||||
bind . <$keys> "$comm"
|
||||
if {$image != ""} {
|
||||
set image [string trim $image]
|
||||
image create photo img_$cmdNum -format gif -file [file join $dir(img) $image.gif]
|
||||
$m add command -label [::msgcat::mc $hint] -font $font(normal) -state normal\
|
||||
-command $comm -image img_$cmdNum -background $color(bg) -accelerator "$keys"
|
||||
} else {
|
||||
$m add command -label [::msgcat::mc $hint] -font $font(normal) -state normal\
|
||||
-command $comm -background $color(bg) -accelerator "$keys"
|
||||
}
|
||||
} else {
|
||||
if {$image != ""} {
|
||||
set image [string trim $image]
|
||||
image create photo img_$cmdNum -format gif -file [file join $dir(img) $image.gif]
|
||||
$m add command -label [::msgcat::mc $hint] -font $font(normal) -state normal\
|
||||
-command $comm -image img_$cmdNum -background $color(bg)
|
||||
} else {
|
||||
$m add command -label [::msgcat::mc $hint] -font $font(normal) -state normal\
|
||||
-command $comm -background $color(bg)
|
||||
}
|
||||
}
|
||||
incr cmdNum
|
||||
}
|
||||
proc InsertSeparator {m} {
|
||||
$m add separator
|
||||
}
|
||||
|
||||
proc CreateSeparator {frame} {
|
||||
global dir btnNum color relief
|
||||
if {$frame == "main"} {
|
||||
set frm frmTool
|
||||
} else {
|
||||
set frm frmToolEdit
|
||||
}
|
||||
set btn [frame .$frm.$frame.btn_$btnNum -width 10 -background $color(bg) -borderwidth 0]
|
||||
#set btn [Button .$frm.$frame.btn_$btnNum -relief $relief(btn) -bd 2 -background $color(bg) -width 0 -state disable]
|
||||
pack $btn -side left -fill y -expand 1
|
||||
incr btnNum
|
||||
}
|
||||
|
||||
proc ToolBar {frm frame file} {
|
||||
global tool
|
||||
if {$tool($frame) == 0} {
|
||||
#set tool($frame) 0
|
||||
if {$frame == "main"} {
|
||||
destroy .$frm.$frame
|
||||
.frmTool configure -height 1
|
||||
} else {
|
||||
destroy .$frm.$frame
|
||||
.frmToolEdit configure -height 1
|
||||
}
|
||||
return
|
||||
} elseif {$tool($frame) == 1} {
|
||||
#set tool($frame) 1
|
||||
ReadToolBar $file
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
###############################################
|
||||
proc CutPast {action} {
|
||||
global nb
|
||||
set node [$nb raise]
|
||||
if {$node == "newproj" || $node == "settings" || $node == "about" || $node == ""} {
|
||||
return
|
||||
}
|
||||
|
||||
set text $nb.f$node.f.text
|
||||
switch -- $action {
|
||||
"copy" {
|
||||
tk_textCopy $text
|
||||
}
|
||||
"cut" {
|
||||
tk_textCut $text
|
||||
}
|
||||
"paste" {
|
||||
tk_textPaste $text
|
||||
}
|
||||
"undo" {
|
||||
$text undo
|
||||
}
|
||||
}
|
||||
}
|
||||
proc Select {type} {
|
||||
global nb activeFile
|
||||
set text $nb.f$activeFile.f.text
|
||||
if {$type == "all"} {
|
||||
$text tag remove sel 1.0 end
|
||||
$text tag add sel 1.0 end
|
||||
} elseif {$type == "remove"} {
|
||||
$text tag remove sel 1.0 end
|
||||
}
|
||||
}
|
||||
|
||||
proc PopupMenu {text x y} {
|
||||
set selIndex [$text tag ranges sel]
|
||||
if {$selIndex != ""} {
|
||||
tk_popup .frmMenu.mnuEdit.m.selection $x $y
|
||||
} else {
|
||||
tk_popup .frmMenu.mnuEdit.m $x $y
|
||||
}
|
||||
}
|
||||
proc PopupMenuTab {menu x y} {
|
||||
tk_popup $menu $x $y
|
||||
}
|
||||
|
||||
###########
|
||||
## STATUS BAR ##
|
||||
set frm1 [frame .frmStatus.frmFileAttr -background $color(bg)]
|
||||
set frm2 [frame .frmStatus.frmActive -background $color(bg)]
|
||||
set frm3 [frame .frmStatus.frmFileSize -relief sunken -background $color(bg)]
|
||||
set frm4 [frame .frmStatus.frmPos -background $color(bg)]
|
||||
set frm5 [frame .frmStatus.frmFile -background $color(bg)]
|
||||
set frm6 [frame .frmStatus.frmOvwrt -background $color(bg)]
|
||||
set frm7 [frame .frmStatus.frmOther -background $color(bg)]
|
||||
pack $frm1 $frm4 $frm6 $frm2 $frm5 $frm3 -side left -fill x
|
||||
pack $frm7 -side left -fill x -expand true
|
||||
set status(fileAttr) [label $frm1.lblFileAttr -width 30 -relief sunken -font $font(normal) -anchor w -background $color(bg)]
|
||||
pack $frm1.lblFileAttr -fill x
|
||||
set status(pos) [label $frm4.lblPos -width 10 -relief sunken -font $font(bold) -anchor w -background $color(bg)]
|
||||
pack $frm4.lblPos -fill x
|
||||
set status(ovwrt) [label $frm6.lblOvwrt -width 10 -relief sunken -font $font(normal) -anchor center -background $color(bg)]
|
||||
pack $frm6.lblOvwrt -fill x
|
||||
set status(active) [label $frm2.lblActive -width 25 -relief sunken -font $font(normal) -anchor center -background $color(bg) ]
|
||||
pack $frm2.lblActive -fill x
|
||||
set status(fileSize) [label $frm3.lblFileSize -width 10 -relief sunken -font $font(normal) -anchor w -background $color(bg)]
|
||||
pack $frm3.lblFileSize -fill x
|
||||
set status(encode) [label $frm5.lblFile -width 10 -relief sunken -font $font(normal) -anchor w -background $color(bg)]
|
||||
pack $frm5.lblFile -fill x
|
||||
set status(other) [label $frm7.lblOther -width 10 -relief sunken -font $font(normal) -anchor w -background $color(bg)]
|
||||
pack $frm7.lblOther -fill x
|
||||
|
||||
#######
|
||||
bind . <Control-n> {FileDialog new}
|
||||
bind . <Control-ograve> {FileDialog new}
|
||||
bind . <Control-o> {FileDialog open}
|
||||
bind . <Control-ugrave> {FileDialog open}
|
||||
|
||||
$nbTree raise fileTree
|
||||
############
|
||||
$status(ovwrt) configure -text [::msgcat::mc "Insert"]
|
||||
|
||||
ReadToolBarFile $dir(gui) ;# system toolbars
|
||||
ReadToolBarFile $dir(work_gui) ;# user toolbars
|
||||
ReadHotKeysFile $dir(gui) ;# system hotkeys
|
||||
ReadHotKeysFile $dir(work_gui) ;# users hotkeys
|
||||
|
||||
## FINDE EXTERNAL MODULES ##
|
||||
FindModule
|
||||
|
||||
|
||||
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user