GNU TeXmacs
Разработчик(и) | Проект GNU |
---|---|
Стабильная версия | 2.1.4 [1]
/ 11 марта 2024 г. |
Репозиторий | |
Написано в | С++ |
Операционная система | Linux , Windows , macOS , Unix-подобные [2] |
Платформа | х86 , х86-64 |
Тип | Текстовый процессор |
Лицензия | GPL-3.0 или новее [3] |
Веб-сайт | www |
GNU TeXmacs — научный текстовый процессор и набора текста компонент проекта GNU . Он возник как вариант GNU Emacs с функциями TeX , хотя он не использует общий код с этими программами, хотя использует шрифты TeX. [4] Он написан и поддерживается Йорисом ван дер Хувеном и группой разработчиков. [5] Программа создает структурированные документы с WYSIWYG пользовательским интерфейсом . Пользователь может создавать новые стили документов. Редактор предоставляет высококачественные набора текста алгоритмы , а также шрифты TeX и другие шрифты для публикации профессионально выглядящих документов.
Предыстория [ править ]
Как структурированный редактор WYSIWYG и система подготовки документов TeXmacs похож на более ранние редакторы структурированных документов, такие как Interleaf (первая версия 1985 г.), Framemaker (1986 г.), SoftQuad Author/Editor (1988 г.), [6] Сирень, [7] Гриф (1991), [8] и Тот; [9] были также академические исследования по интерактивному редактированию сложных типографских конструкций, представленных логически. [10] [11]
В 2000-х и 2010-х годах интерес к интерактивному редактированию структурированного текста стимулировал разработку программ, предназначенных для ученых-гуманитариев; примером этого является CWRC-Writer, визуальный редактор XML с «редактированием, близким к WYSIWYG, и обогащением научных текстов осмысленными визуальными представлениями разметки». [12]
На другой стороне мира редактирования и подготовки документов находится программа для визуального взаимодействия со структурированными текстами, написанными на LaTeX, — LyX , целью которой является не WYSIWYG-редактирование, а визуальное представление структуры ( WYSIWYM ).
Особенности [ править ]
Как и во многих редакторах WYSIWYG (таких как Microsoft Word ), авторы манипулируют документом на экране, который должен распечататься в похожей на бумаге копии. Цель TeXmacs — предоставить редактор WYSIWYG, который, тем не менее, позволяет писать правильно структурированные документы с эстетически приятными результатами верстки. TeXmacs не является интерфейсом для LaTeX. [13] но документы TeXmacs можно конвертировать в TeX или LaTeX. LaTeX также можно импортировать (в некоторой степени), причем как импорт, так и экспорт в HTML , Scheme, Verbatim и XML ; предусмотрен [14] экспорт HTML можно стилизовать с помощью CSS (начиная с версии 1.99.14). имеется конвертер для MathML Также , а TeXmacs может выводить PDF и PostScript для печати. [15]
TeXmacs может обрабатывать математические формулы , таблицы, изображения, перекрестные ссылки и цитаты . Его можно использовать в качестве интерфейса для ряда систем компьютерной алгебры, таких как Maxima , FriCAS и SageMath , и, в свою очередь, можно интегрировать часть их вывода в набор текста. TeXmacs также поддерживает язык расширения Scheme , называемый Guile, для настройки программы и написания расширений.
Он также имеет режим презентации и небольшой редактор технических чертежей , и есть планы по развитию в сторону полноценного научного офисного пакета с возможностями электронных таблиц . Реализация электронных таблиц присутствует начиная с версии 1.99.12; электронные таблицы в TeXmacs могут использовать плагины (например, Python или Maxima) для вычисления значений ячеек.
TeXmacs в настоящее время работает на большинстве архитектур на базе Unix, включая Linux , FreeBSD , Cygwin , Haiku и macOS . Наряду с версией Cygwin собственный порт доступен для Microsoft Windows .
Редактор TeXmacs [ править ]
В редакторе TeXmacs структура и внешний вид документа отображаются одновременно; [16] структура становится очевидной для пользователя путем заключения логических единиц документа во вложенные рамки фокусировки, несущие цветовые сигналы, которые отображаются в соответствии с движением курсора. [17] Подробное описание структуры рядом с курсором представлено в нижнем колонтитуле окна редактора, которое можно точно выбрать с помощью нажатия стрелок влево-вправо. [16] В редакторе есть возможность переключения между текстовым режимом и режимом редактирования исходного кода, присутствует поддержка композиции макросов; редактор исходного кода учитывает синтаксис . [18]
Математическая типографика [ править ]
TeXmacs облегчает ввод математических формул, сопоставляя последовательности нажатий клавиш с символами. Например, символ можно ввести, набрав =>.
Некоторые символы не имеют такого представления ( например). Их можно ввести с помощью Tab ↹ ключ (например, для нажатия клавиш =>Tab ↹Tab ↹ . Этот ввод с клавиатуры отличается от других редакторов формул, которые, как правило, предоставляют для этой задачи меню «укажи и щелкни». [19]
Пакетная обработка [ править ]
Можно использовать 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 — как наборное представление документа вместе с его интерактивным поведением. [20] В экранном представлении дерева TeXmacs движение курсора представляет собой движение внутри дерева. На диске существуют три представления формата TeXmacs: собственное представление, представление XML и представление с S-выражениями схемы; Представление Scheme полезно для взаимодействия с программами Scheme.
Верстка и контроль документа [ править ]
Процесс верстки преобразует деревья TeXmacs в блоки. [21] Оценка деревьев TeXmacs происходит путем сокращения примитивов, то есть путем оценки макроприложений. Примитивы набора разработаны для очень быстрой работы и встроены в редактор; рендеринг многих примитивов можно настроить с помощью встроенных переменных среды; язык таблиц стилей позволяет пользователям писать новые примитивы в виде макросов поверх встроенных примитивов.
TeXmacs использует глобальный алгоритм «разрыва строк» (аналогичный алгоритму TeX ) и, кроме того, использует глобальный алгоритм «разрыва страниц»; алгоритм разрыва страниц учитывает плавающие объекты (рисунки, таблицы, сноски) и многоколоночный контент.
Документооборот [ править ]
Документами можно управлять через встроенную макросистему и через Guile-Scheme. Можно настраивать меню и сочетания клавиш редактора, а также программно работать с деревом документа.
Макросы TeXmacs [ править ]
Макросы TeXmacs предоставляют средства структурированного ввода (как в TeX/LaTeX) и сразу же набираются, сохраняя при этом редактируемые поля ввода. Они написаны в исходном коде, хотя редактор WYSIWYG может помочь в их составлении путем перевода визуальных структур в их синтаксис. [22]
Управление документами через Схему [ править ]
Scheme встроен в TeXmacs через GNU Guile ; самим редактором можно управлять таким образом: [21] меню и сочетания клавиш можно настроить. Команды схемы можно вызывать интерактивно внутри документов TeXmacs, из командной строки и из макросов TeXmacs. Деревья TeXmacs можно передавать в Scheme в разных формах: как «пассивные деревья» (удобно манипулировать контентом напрямую с помощью стандартных процедур Scheme в списках), как «активные деревья» (отслеживать положение дерева внутри глобального дерева документа и может использоваться для программного изменения документов), так и в «гибридном» представлении.
Графика [ править ]
Графические объекты также являются частью формата TeXmacs, и ими можно управлять программно из Scheme. Ниже показан пример графики TeXmacs, созданной в сеансе TeXmacs Scheme, вместе с сеансом, в котором было создано изображение. Изображения, созданные программно в сеансе Scheme, также можно редактировать с помощью внутреннего редактора рисунков, поскольку они вставляются в документ в виде дерева; Сценарии схемы также могут выполняться через extern
Макрос TeXmacs — в этом случае в документе доступен только наборный материал и прямое редактирование невозможно (изменения необходимо вносить в код Схемы).
Scheme] (define pi (acos -1))
;; A function to define a point in the TeXmacs graphics format using two coordinates
Scheme] (define (pt x y)
‘(point ,(number->string x) ,(number->string y)))
;; Set points
Scheme] (define xC (- (* 2 (cos (/ pi 3)))))
Scheme] (define yC (* 2 (sin (/ pi 3))))
Scheme] (define pA (pt -2 0))
Scheme] (define pB (pt 2 0))
Scheme] (define pC (pt xC yC))
Scheme] (define tA (pt -2.3 -0.5))
Scheme] (define tB (pt 2.1 -0.5))
Scheme] (define tC (pt (- xC 0.2) (+ yC 0.2)))
;; Generate graphics
Scheme] (stree->tree
‘(with "gr-geometry" (tuple "geometry" "400px" "300px" "center")
(graphics
(with "color" "blue" (text-at (TeXmacs) ,(pt -0.55 -0.75)))
(with "color" "black" (arc ,pA ,pC ,pB))
(with "color" "black" (line ,pA ,pB))
(with "color" "red" (cline ,pA ,pB ,pC))
(with "color" "black" (text-at "A" ,tA))
(with "color" "black" (text-at "B" ,tB))
(with "color" "black" (text-at "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 с помощью «исполняемых переключателей»; [23] таким образом можно переключаться между заданным вводом в систему и соответствующим выводом, который легко вписывается в документ.
См. также [ править ]
- Сравнение редакторов TeX
- Сравнение офисных пакетов
- Список офисных пакетов
- Сравнение текстовых процессоров
- Сравнение языков разметки документов
- Список текстовых процессоров
- Роскошь
- Визуальный редактор
Ссылки [ править ]
- ^ Йорис ван дер Хувен (2 апреля 2024 г.). «TeXmacs 2.1.4» . Проверено 2 апреля 2024 г.
- ^ «Загрузка и установка TeXmacs (проект FSF GNU)» . Texmacs.org . Проверено 29 мая 2010 г.
- ^ «Универсальная общественная лицензия GNU» . Texmacs.org . Проверено 27 декабря 2010 г.
- ^ Часто задаваемые вопросы (проект FSF GNU)
- ^ «Авторы GNU TeXmacs» . Проверено 23 сентября 2019 г.
- ^ Браун, Сьюзен (01 марта 2015 г.). «Исправление редактора» . Междисциплинарные научные обзоры . 40 (1): 78–94. Бибкод : 2015ISRv...40...78B . дои : 10.1179/0308018814Z.000000000106 . ISSN 0308-0188 . S2CID 144086542 .
- ^ Брукс, КП (июнь 1991 г.). «Сирень: редактор документов с двумя представлениями» . Компьютер . 24 (6): 7–19. дои : 10.1109/2.86832 . ISSN 0018-9162 . S2CID 2239112 .
- ^ «Редактор GriF SGML» . Проверено 27 ноября 2020 г. [ постоянная мертвая ссылка ]
- ^ «Редактор структурированных документов» . Проверено 26 ноября 2020 г.
- ^ Модель структурированного документа , Клемент Шин Тай-Инь, докторская диссертация, факультет вычислительной техники, Имперский колледж Лондона, 1989 г.
- ^ « Редактирование графических объектов с использованием процедурных представлений », Пол Асенте, докторская диссертация, факультет компьютерных наук, Стэнфордский университет (1987)
- ^ CWRC-Writer: XML-редактор в браузере , Дж. Роквелл и др., Конференция Digital Humanities 2012
- ^ ван дер Хувен, Йорис (21 августа 2006 г.). «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 г.
- ^ Jump up to: Перейти обратно: а б Ван дер Хувен, Йорис. «GNU TeXmacs, бесплатный структурированный технический текстовый редактор с поддержкой WYSIWYG» (PDF) . Каье Гутенберг . 39–40: 39–50.
- ^ «Руководство TeXmacs. 2.2. Ввод структурированного текста» (PDF) . Проверено 20 ноября 2020 г.
- ^ «Руководство пользователя GNU TEXMACS; 11.2. Отрисовка файлов стилей и пакетов» (PDF) . Проверено 27 ноября 2020 г.
- ^ См. руководство пользователя: « Ввод математических символов ».
- ^ Ван дер Хувен, Йорис. «Формат TeXmacs» . Проверено 10 августа 2019 г.
- ^ Jump up to: Перейти обратно: а б М. Губинелли, Коварство в TeXmacs, презентация на Днях коварства и Guix в Страсбурге, 21–22 июня 2019 г. pdf Проверено 21 сентября 2019 г.
- ^ «Руководство TeXmacs; 11.1. Написание простого пакета стилей» (PDF) . Проверено 27 ноября 2020 г.
- ^ «Руководство пользователя TeXmacs, раздел «Обход презентации» » (PDF) . Проверено 10 ноября 2020 г.