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