Каковы различия между моделями поля CSS и Latex?

Каковы различия между тем, как CSS и Латекс организуют поля? (Или абзац или графические элементы.)

16
задан ShreevatsaR 22 June 2010 в 00:04
поделиться

2 ответа

Общая схема, заключающаяся в наличии иерархического коробочного представления макета страницы, создаваемого в результате обработки входного языка, которое затем превращается в отрисованную страницу, в основном схожа между двумя моделями. Четыре различия, которые произвели на меня наибольшее впечатление:

  1. Модель ящиков CSS является надежной абстракцией, в то время как расположение ящиков в модели Tex определяется операционно: по мере размещения ящиков в модели Tex код может разбивать и перекомпоновывать предыдущие ящики.
  2. Хотя модель верстки Tex ориентирована на текст, как и модель CSS boxes - и в отличие, скажем, от модели верстки InDesign, ориентированной на страницы Adobe, в которой очень много внимания уделяется подбору блоков для каждой страницы - она все же имеет довольно много абстракций, ориентированных на страницы, например, определение "плохого" вертикального пространства для размещения сносок - ничего подобного в модели CSS boxes я не вижу. В Context есть более сложная модель разметки страницы, которая позволяет использовать как текстово-ориентированную, так и сеточно-ориентированную разметку.
  3. И в модели CSS, и в модели Tex есть понятия блочных (vboxes) и инлайн-боксов (hboxes). Однако, хотя вы можете указать с помощью CSS, что блок-уровень находится внутри инлайн-бокса, раздел 9.2.1 стандарта CSS2 гласит, что семантика этого заключается в превращении внешнего инлайн-бокса в блок-уровень, поэтому модель CSS в основном запрещает появление блок-уровней внутри инлайн-боксов. Tex, напротив, с удовольствием располагает vbox'ы внутри hbox'ов, что дает возможность делать такие вещи, как размещение фрагментов текста над текстом внутри текста абзаца.
  4. Самое главное, что модель CSS box не имеет понятия гибкого клея, что делает масштабируемый макет страницы намного сложнее, и, я полагаю, это причина, по которой дизайн веб-страниц с фиксированной шириной является доминирующим.
16
ответ дан 30 November 2019 в 22:30
поделиться

Спецификации для CSS найти нетрудно, и, конечно же, они содержат главу о блочной модели .

Информацию о LaTeX найти несколько сложнее, но вы можете посмотреть здесь , где вы можете прочитать:

LaTeX создает свои страницы, перемещая поля. Сначала каждая буква представляет собой маленькую коробочку, которая затем приклеивается к другим буквам, образуя слова. Они снова приклеиваются к другим словам, но с помощью специального эластичного клея, так что ряд слов можно сжать или растянуть, чтобы точно заполнить строку на странице.

Я признаю, что это очень упрощенная версия того, что происходит на самом деле, но дело в том, что TeX работает с клеем и ящиками. Буквы - не единственное, что могут быть коробками. В коробку можно положить практически все, включая другие коробки. Каждый ящик будет обрабатываться LaTeX, как если бы это была одна буква.

Я думаю, что это сильно отличается от CSS, но боюсь, чтобы узнать подробности, вам придется читать книги, например Книга Кнута по TeX или компаньон по LaTeX Миттельбаха и др. al.

Миэль.

1
ответ дан 30 November 2019 в 22:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: