Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Схема интерактивного редактирования структурированного текста (1980–2020 годы) [ править ]

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

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

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

Особенности [ править ]

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

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

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

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

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

Редактор TeXmacs [ править ]

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

Математическая типографика [ править ]

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

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

Пакетная обработка [ править ]

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

xvfb-run texmacs --convert article.tm article.pdf --quit

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

Формат TeXmacs [ править ]

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

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

(написано здесь с помощью разметки TeX, используемой Википедией) и превращено собственным механизмом набора TeXmacs в формулу набора, вставленную здесь как изображение:

Деревья 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, показан ниже вместе с сеансом, в котором было создано изображение. Изображения, созданные программно в сеансе схемы, также можно редактировать с помощью внутреннего редактора чертежей, поскольку они вставляются в документ в виде дерева; Сценарии схемы также могут быть выполнены с помощью externмакроса TeXmacs - в этом случае в документе доступен только наборный материал, а прямое редактирование невозможно (изменения должны производиться в коде схемы).

Схема ]  ( определить pi  ( acos -1 )) ;; Функция для определения точки в графическом формате TeXmacs с использованием схемы двух координат ]  ( define ( pt  x  y )  ' ( point  , ( number-> string x )  , ( number-> string y ))) ;; Уставки Схема ]  ( определить Xc  ( - ( * 2  ( соз ( / пи 3 ))))) Схема ]  ( определить yC  ( * 2  ( sin ( / pi  3 )))) Схема ]  ( определить pA  ( pt  -2  0 )) Схема ]  ( определить pB  ( pt  2  0 )) Схема ]  ( define pC  ( pt  xC  yC )) Scheme ]  ( определить tA  ( pt  -2.3 -0.5 )) Схема ]  ( определить tB  ( pt  2.1  -0.5 )) Схема ]  ( определить tC  ( pt  ( - xC  0.2 )  ( + yC  0.2 ))) ;; Создать схему графики ]  ( stree-> tree  ' ( с  "gr-geometry"  ( кортеж  "geometry"  "400px"  "300px"  "center" )  ( графика  ( с  "color" «синий»  ( текст в  ( TeXmacs )  , ( pt  -0,55  -0,75 )))  ( с  «цвет»  «черный»  ( дуга  , pA  , pC  , pB ))  ( с  «цветом»  «черный»  ( линия  , pA  , pB ))  ( с  «цветом»  «красный»  ( клин  , pA  , pB  , pC ))  ( с  «цветом»  »чернить" ( текст в  «A»  , tA ))  ( с  «цвет»  «черный»  ( текст-в  «B»  , tB ))  ( с  «цвет»  «черный»  ( текст-в  «C»  , tC ))) ))

Поддерживаемые серверные части [ править ]

Сессия Maxima в TeXmacs

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

Языки программирования: CLISP , CMUCL , Python , QCL , R , Shell

Системы компьютерной алгебры: Axiom , Giac , Macaulay 2 , Mathematica , Maxima , MuPAD , PARI / GP , Reduce , SageMath , Yacas

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

Пакеты для построения графиков : gnuplot , Graphviz , XYpic , Mathemagix

Другое: DraTeX , Eukleides , GTybalt , Lush , Juris-M или Zotero (исследовательские ссылки и менеджер библиографии).

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

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

См. Также [ править ]

  • Сравнение редакторов TeX
  • Сравнение текстовых процессоров
  • Сравнение языков разметки документов
  • Список текстовых процессоров
  • LyX
  • Визуальный редактор

Ссылки [ править ]

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

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • архивы списков рассылки texmacs-users
  • Форум