Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

  • Модель ячеек CSS - это надежная абстракция, в то время как макет ящиков в модели Tex определяется оперативно: по мере того, как в модели Tex выкладываются ящики, код может разваливаться и перестраивать предыдущие поля.
  • В то время как модель компоновки Tex ориентирована на текст, например, модель CSS box — и в противоположность этому, например, ориентированная на страницы макетная модель Adobe InDesign, которая очень сильно подходит для объединения блоков для покрытия каждой страницы; у него все еще есть немало ориентированных на страницы абстракций, таких как определение "плохости" вертикального пространства, чтобы помещать сноски, - ничего подобного в модели ящиков CSS я не вижу. Контекст имеет более сложную модель макета страницы, которая позволяет одновременно ориентировать на текст и сетку.
  • Как модель CSS, так и модель Tex имеют понятия блоков блоков (vbox) и встроенных ящиков (hbox). Однако, хотя вы можете указать с помощью CSS, что поле блока на уровне внутри встроенного блока, раздел 9.2.1 стандарта CSS2, говорит, что семантика этого заключается в том, чтобы превратить внешнюю встроенную ячейку в блок-уровень, поэтому модель CSS-блока в основном запрещает яблоки блочного уровня внутри встроенных ящиков. Tex, напротив, счастлив иметь vbox внутри hboxes, что дает возможность делать что-то вроде текста над текстом внутри текста абзаца.
  • Самое главное, что в модели с CSS-блоком нет понятия гибкого клея, что делает масштабируемую компоновку страницы более сложной и, по-моему, является причиной того, что дизайн веб-страницы с фиксированной шириной является доминирующим.

Ответ 2

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

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

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

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

Я думаю, что это сильно отличается от CSS, но для деталей я боюсь, что вам нужно читать книги, например. Книга TeX от Knuth, или компаньон LaTeX от Mittelbach et. и др.

Миэль.