
Помню, я читал какую-то статью в техническом журнале, где автор обращал внимание читателя на то, что многие люди сбивают с толкуязыки набора текстаиязыки разметки.
Как можно точно определить, является ли язык языком набора текста или языком разметки?
Насколько я понимаю, TeX — это язык набора текста, а LaTeX реализует язык разметки поверх TeX. Правильно ли это излагать?
решение1
Насколько я понимаю, TeX — это язык набора текста, а LaTeX реализует язык разметки поверх TeX. Правильно ли это излагать?
да, это точно и кратко.
Язык набора текста предоставляет инструменты для преобразования входного потока в то, что выводится на поверхность. Среди инструментов есть
- доступ к шрифтам и команды для их выбора и/или переключения между ними
- команды для перемещения по поверхности в разных направлениях
- механизм разбиения входного потока на строки или абзацы, а результата — на страницы
- команды для более эффективного применения «базовых» команд
В качестве примера последнего пункта, одной из очень ценных функций tex является концепция группировки. Она отсутствует в других программах для набора текста, которые я использовал. Например, в одной из таких систем была команда для подъема надстрочного индекса на нужную высоту и команда «обратного» для отступления от него на то же расстояние. (Она не всегда возвращала его точно на исходную базовую линию.) tex, с другой стороны, сохраняет исходные значения при запуске новой группы, применяет локальные значения для группы, затем забывает локальные значения и восстанавливает сохраненные значения.
система разметки, с другой стороны, идентифицирует материал в соответствии с его функцией или структурой, а не тем, как он должен выглядеть на поверхности. Таким образом, существуют идентификаторы для «названия», «автора», «главы», «раздела», «теоремы» и т. д., и они преобразуются во время обработки для использования соответствующих команд набора текста. Эта структурная разметка позволяет легко переключать формат вывода при условии использования общего словаря и синтаксиса. latex и xml — два примера систем разметки. Ни одна из них не может использоваться без поддержки «бэкенда». В latex эта поддержка является неотъемлемой, тогда как xml требует отдельных инструментов; однако в обоих случаях идентифицируются структурные элементы, а не окончательный вид, отсюда и «разметка».
решение2
@barbara beeton - Очень интересная статья, и я полностью согласна, и на самом деле я хотела добавить следующий ввод в качестве комментария, но он был слишком длинным, поэтому пишу его как ответ. Мне нравится термин "язык набора текста", даже если я не смогла найти его определение в Википедии. Поэтому я придумала следующую аналогию с отношением:
(Цифровая) типографика и рукопись против языка таблиц стилей и языка разметки: на основе определений, касающихся (цифровой) типографики, рукописей, языка таблиц стилей и языка разметки, язык таблиц стилей является формой цифровой типографики с целью сделать размеченный рукописный соответствующий документ, написанный на языке разметки, разборчивым, читаемым и привлекательным при отображении. Функциональность языка таблиц стилей: «Синтаксис», «Селекторы», «Свойства», «Значения и единицы», «Механизм распространения значений» и «Модель форматирования» содержит, среди прочего, всю формальную информацию, необходимую для набора текста: гарнитуры шрифтов, размеры точек, длины строк, межстрочный интервал, межбуквенный интервал и пробелы между парами букв.