GNU TeXmacs - GNU TeXmacs

GNU TeXmacs
gnu texmacs логотип
Коллаж TeXmacs 2019
Коллаж TeXmacs 2019
Разработчики)Проект GNU
Стабильный выпуск1.99.16 (24 ноября 2020 г.; 12 дней назад (2020-11-24)) [±]
Репозиторий Отредактируйте это в Викиданных
Операционная системаLinux, Windows, macOS, Unix-подобный[1]
Платформаx86, x86-64
ТипТекстовый редактор
ЛицензияGNU GPLv3[2]
Интернет сайтtexmacs.org

GNU TeXmacs это научный текстовый редактор и наборный компонент Проект GNU. Это было вдохновлено TeX и GNU Emacs, хотя у него нет кода с этими программами. TeXmacs действительно использует шрифты TeX.[3] Он написан и поддерживается Йорис ван дер Хувен и группа разработчиков.[4] Программа производит структурированные документы с WYSIWYG пользовательский интерфейс. Пользователь может создавать новые стили документов. В редакторе предусмотрены качественные наборный алгоритмы и TeX и другие шрифты для публикации документов профессионального качества.

Схема интерактивного редактирования структурированного текста (1980-2020-е гг.)

Как структурированный редактор WYSIWYG и система подготовки документов, TeXmacs является современным наследником программ, которые были разработаны в этом смысле в 1980-х и 1990-х годах, таких как SoftQuad Автор / редактор,[5] Сирень,[6] Гриф[7] и Тот.[8] В те же годы интерес к интерактивному редактированию сложных типографских конструкций при их представлении с логической структурой был выражен, например, с помощью редактора формул, реализованного в докторской диссертации Клемента Шин Тай-Инь[9] и графический редактор, реализованный в докторской диссертации Поля Асенте[10] (в этой работе графика создается с помощью процедурного языка Dum, которым можно управлять с помощью графического редактора Dee).

В 2000-х и 2010-х годах интерес к интерактивному редактированию структурированного текста стимулировал разработку программ, предназначенных для ученых-гуманитариев; Примером этого является CWRC-Writer, визуальный редактор XML с "близким к WYSIWYG редактированием и обогащением научных текстов значимыми визуальными представлениями разметки".[11]

С другой стороны в мире редактирования и подготовки документов программа для визуального взаимодействия со структурированными текстами, написанными на Латекс является LyX, цель которого - не WYSIWYG-редактирование, а визуальное представление структуры (WYSIWYM ).

Функции

Снимок экрана с математическими формулами и курсивом. Рамка фокусировки окружает среду, в которой находится курсор.

Как и во многих WYSIWYG редакторы (такие как Microsoft Word ) авторы манипулируют документом на экране, который должен быть распечатан в виде похожей на бумажную копию. Цель TeXmacs - предоставить редактор WYSIWYG, который, тем не менее, позволяет писать правильно структурированные документы с эстетически приятными результатами набора. TeXmacs - это нет интерфейс для Латекс[12] но документы TeXmacs можно преобразовать в любой TeX или LaTeX. LaTeX также можно импортировать (в некоторой степени), и оба импортировать из HTML, Схема, "Дословно" и XML и экспорт в них предусмотрен;[13] экспорт HTML можно стилизовать с помощью CSS (начиная с версии 1.99.14). Есть конвертер для MathML а также TeXmacs может выводить PDF и PostScript для печати.[14]

TeXmacs может обрабатывать математические формулы, таблицы, изображения, Перекрестные ссылки и цитаты. Его можно использовать как интерфейс для ряда системы компьютерной алгебры такие как Максима и SageMath, и может, в свою очередь, интегрировать часть своей работы в набор. TeXmacs также поддерживает Схема язык расширения называется Хитрость для настройки программы и написания расширений.

Он также имеет презентация режим и небольшой технический рисунок редактор, и есть планы развиваться в направлении полного научного офисная одежда с электронная таблица возможности. Реализация электронных таблиц присутствует начиная с версии 1.99.12; электронные таблицы в TeXmacs могут использовать плагины (например, Python или Maxima) для вычисления значений ячеек.

TeXmacs в настоящее время работает на большинстве архитектур на основе Unix, включая Linux, FreeBSD, Cygwin, Хайку и macOS. Наряду с версией Cygwin родной порт доступен для Майкрософт Виндоус.

Редактор TeXmacs

В редакторе TeXmacs структура и внешний вид документа отображаются одновременно;[15] структура становится очевидной для пользователя путем окружения логических единиц документа в полях фокуса, которые отображаются в соответствии с перемещением курсора.[16] Подробное описание структуры в непосредственной близости от курсора приводится в нижнем колонтитуле окна редактора, которое можно точно выбрать нажатием стрелки влево-вправо.[15] В редакторе есть возможность переключаться между текстовым режимом и режимом редактирования исходного кода, а также присутствует поддержка композиции макросов; исходный редактор с учетом синтаксиса.[17]

Математическая типографика

TeXmacs упрощает ввод математических формул, сопоставляя последовательности нажатий с клавиатуры символам. Например, символ можно ввести, набрав =>.

Некоторые символы не имеют такого представления ( например). Их можно ввести с помощью вкладка ключ (например, для нажатия клавиш =>вкладка вкладка). Этот ввод с клавиатуры отличается от других редакторов формул, которые, как правило, предоставляют меню «укажи и щелкни» для этой задачи.[18]

Пакетная обработка

Можно использовать TeXmacs как пакетный процессор (который Латекс обычный режим работы), используя X виртуальный кадровый буфер чтобы избежать открытия нежелательных окон во время обработки. Например, команда

xvfb-run texmacs - convert article.tm article.pdf - выйти

генерирует PDF файл "article.pdf" из документа TeXmacs "article.tm".

Формат TeXmacs

Все документы TeXmacs или фрагменты документов можно рассматривать как деревья (понятие дерева существует также в SGML язык разметки, на который похож формат Texmacs). Например, дерево

TeXmacs tree.png

представляет формулу

Дерево TeXmacs rendered.png

Деревья TeXmacs представлены в файлах TeXmacs как строки, а в редакторе TeXmacs - как наборное представление документа вместе с его интерактивным поведением.[19] В экранном представлении дерева TeXmacs движение курсора представляет собой движение внутри дерева. На диске существует три представления формата TeXmacs: собственное представление, представление XML и представление с S-выражениями схемы; Представление Scheme полезно для взаимодействия с программами Scheme.

Набор и контроль документов

В процессе набора деревья TeXmacs преобразуются в блоки.[20] Оценка деревьев TeXmacs происходит путем редукции примитивов, то есть путем оценки макросов. Примитивы набора предназначены для очень быстрой работы и встроены в редактор; рендеринг многих примитивов можно настроить с помощью встроенных переменных среды; язык таблиц стилей позволяет пользователям писать новые примитивы в виде макросов поверх встроенных примитивов.

TeXmacs использует глобальный алгоритм для «разрыва строки» (аналогичный TeX) и, кроме того, использует глобальный алгоритм «разрыва страницы»; алгоритм разбиения на страницы учитывает плавающие объекты (рисунки, таблицы, сноски) и содержимое нескольких столбцов.

Проверка документов

Документами можно управлять с помощью собственной макросистемы и Guile-Scheme. Можно настроить меню редактора и привязки клавиш, а также программно воздействовать на дерево документа.

Макросы TeXmacs

Макросы TeXmacs предоставляют средства структурированного ввода (как в TeX / LaTeX), и они немедленно набираются, сохраняя при этом редактируемые поля ввода. Они написаны в исходном коде, хотя редактор WYSIWYG может помочь в их составлении, переводя визуальные структуры в их синтаксис.[21]

Контроль документов через схему

Схема встроена в TeXmacs через GNU Guile; самим редактором можно управлять таким образом:[20] меню и сочетания клавиш можно настроить. Команды схемы могут быть вызваны интерактивно внутри документов TeXmacs, могут быть вызваны из командной строки и из макросов TeXmacs. Деревья TeXmacs могут передаваться в Scheme в различных формах: как «пассивные деревья» (удобно для управления контентом напрямую с помощью стандартных подпрограмм Scheme в списках), как «активные деревья» (отслеживать положение дерева внутри глобального дерева документа и может использоваться для программного изменения документов) и в «гибридном» представлении.

Графика

Графические объекты также являются частью формата TeXmacs, и ими можно программно управлять из Scheme. Пример графики TeXmacs, сгенерированной в сеансе TeXmacs Scheme, показан ниже вместе с сеансом, в котором было создано изображение. Изображения, созданные программно в сеансе схемы, также можно редактировать с помощью внутреннего редактора чертежей, поскольку они вставляются в документ в виде дерева; Скрипты схемы также могут быть выполнены через внешний Макрос TeXmacs - в этом случае в документе доступен только наборный материал и прямое редактирование невозможно (изменения должны производиться в коде схемы).

Схема]  (определить Пи (acos -1));; Функция для определения точки в графическом формате TeXmacs с использованием двух координатСхема]  (определить (pt Икс у)  (точка ,(число-> строка Икс) ,(число-> строка у)));; УставкиСхема]  (определить xC (- (* 2 (потому что (/ Пи 3)))))Схема]  (определить yC (* 2 (грех (/ Пи 3))))Схема]  (определить pA (pt -2 0))Схема]  (определить pB (pt 2 0))Схема]  (определить ПК (pt xC yC))Схема]  (определить tA (pt -2.3 -0.5))Схема]  (определить tB (pt 2.1 -0.5))Схема]  (определить tC (pt (- xC 0.2) (+ yC 0.2)));; Создать графикуСхема]  (улица-> дерево (с "гр-геометрия" (кортеж "геометрия" «400 пикселей» «300 пикселей» "центр")    (графика      (с "цвет" "синий"  (текст в (TeXmacs) ,(pt -0.55 -0.75)))      (с "цвет" "черный" (дуга ,pA ,ПК ,pB))      (с "цвет" "черный" (линия ,pA ,pB))      (с "цвет" "красный"   (клин ,pA ,pB ,ПК))      (с "цвет" "черный" (текст в "А" ,tA))      (с "цвет" "черный" (текст в "B" ,tB))      (с "цвет" "черный" (текст в "C" ,tC)))))

Поддерживаемые серверные части

Сессия TeXmacs Максима

TeXmacs имеет серверную часть, поддерживающую множество технологий.

Языки программирования:CLISP, CMUCL, Python, QCL, р, Оболочка

Системы компьютерной алгебры:Аксиома, Giac, Маколей 2, Mathematica, Максима, MuPAD, PARI / GP, Уменьшать, SageMath, Якас

Числовые матричные системы:GNU Octave, Matlab, Scilab

Графические пакеты:гнуплот, Graphviz, XYpic, Mathemagix

Другой:DraTeX, Eukleides, GTybalt, Пышный, Juris-M или Zotero (научное цитирование ссылок и библиография).

Встраивание редактируемого вывода плагина

Вывод плагина может быть встроен в документы TeXmacs с помощью «исполняемых переключателей»;[22] таким образом можно переключаться между заданным вводом в систему и соответствующим выводом, который плавно вписывается в документ.

Смотрите также

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

  1. ^ «Загрузка и установка TeXmacs (проект FSF GNU)». Texmacs.org. Получено 2010-05-29.
  2. ^ «Стандартная общественная лицензия GNU». Texmacs.org. Получено 2010-12-27.
  3. ^ Часто задаваемые вопросы (проект FSF GNU)
  4. ^ «Авторы GNU TeXmacs». Получено 2019-09-23.
  5. ^ Браун, Сьюзен (01.03.2015). "Исправление редактора". Междисциплинарные научные обзоры. 40 (1): 78–94. Дои:10.1179 / 0308018814Z.000000000106. ISSN  0308-0188.
  6. ^ Брукс, К. (Июнь 1991 г.). «Сирень: редактор документов с двумя режимами просмотра». Компьютер. 24 (6): 7–19. Дои:10.1109/2.86832. ISSN  0018-9162.
  7. ^ "Редактор GriF SGML". Получено 2020-11-27.
  8. ^ «Редактор структурированных документов Thot». Получено 2020-11-26.
  9. ^ Модель структурированного документа, Клемент Шин Тай-Инь, докторская диссертация, факультет вычислительной техники, Имперский колледж Лондона, 1989 г.
  10. ^ "Редактирование графических объектов с использованием процедурных представлений ", Пол Асенте, докторская диссертация, факультет компьютерных наук, Стэнфордский университет (1987)
  11. ^ CWRC-Writer: редактор XML в браузере, Дж. Роквелл и др., Конференция «Цифровые гуманитарные науки 2012»
  12. ^ ван дер Хувен, Йорис (21 августа 2006 г.). «GNU TeXmacs: платформа для научного редактирования» (PDF). www.texmacs.org. стр. 7f. Получено 2016-01-16. Поскольку TeXmacs не является интерфейсом LaTeX, отсюда следует, что мы можем гарантировать правильные преобразования только для (довольно большого) подъязыка LaTeX.
  13. ^ ван дер Хувен, Йорис; Зайдл, Андреас (2011). "Часто задаваемые вопросы". www.texmacs.org. Получено 2016-01-16.
  14. ^ ван дер Хувен, Йорис (2012). «Добро пожаловать в GNU TeXmacs». www.texmacs.org. Получено 2016-01-16.
  15. ^ а б ван дер Хувен, Йорис. "GNU TeXmacs, бесплатный, структурированный, wysiwyg и технический текстовый редактор" (PDF). Кайерс Гутенберг. 39-40: 39–50.
  16. ^ «Руководство TeXmacs. 2.2, Набор структурированного текста» (PDF). Получено 2020-11-20.
  17. ^ «Руководство пользователя GNU TEXMACS; 11.2. Визуализация файлов стилей и пакетов» (PDF). Получено 2020-11-27.
  18. ^ См. Руководство пользователя: «Ввод математических символов  ».
  19. ^ ван дер Хувен, Йорис. «Формат TeXmacs». Получено 2019-08-10.
  20. ^ а б М. Губинелли, Коварство в TeXmacs, презентация на Guile and Guix Days в Страсбурге, 21–22 июня 2019 г. pdf Проверено 21 сентября 2019.
  21. ^ "Руководство TeXmacs; 11.1 Написание пакета простого стиля" (PDF). Получено 2020-11-27.
  22. ^ «Руководство пользователя TeXmacs, раздел« Обход презентации »"" (PDF). Получено 2020-11-10.

внешние ссылки