expl3
позволяет нам измерять размеры коробки с помощью:
\box_dp:N
\box_ht:N
\box_wd:N
но не предоставляет \box_ht_plus_dp:N
то время как предоставляет, например, \box_resize_to_ht_plus_dp:Nn
.
Есть ли этому повод?
Предполагаемый \box_ht_plus_dp:N
- это просто \box_hT:N ... + \box_wd:N ...
. Поскольку все документированные интерфейсы принимают выражения измерений, их довольно легко ввести.
С другой стороны, изменение размера до ht_plus_dp
внутри требует, чтобы код заботился о поддержании базовой линии и, следовательно, об обеспечении масштабирования высоты и глубины. Это отличается от простого масштабирования высоты и надежды, что все остальное «выйдет нормально».
_hT:N ... + \box_wd:N ...
. Поскольку все документированные интерфейсы принимают выражения измерений, их довольно легко ввести.
По сути, это синтаксический сахар, но я думаю, что комбинация проявляется достаточно часто, поэтому было бы неразумно ее предоставить.
@FrankMittelbach Конечно, я пытался ответить на вопрос «почему его вообще не существует?» часть - как вы говорите, нет причин, по которым мы не можем ее добавить.
У меня нет мнения, стоит ли его добавлять, но это было тривиально, поэтому теперь у нас есть ветка, которую при желании можно объединить.
Самый полезный комментарий
По сути, это синтаксический сахар, но я думаю, что комбинация проявляется достаточно часто, поэтому было бы неразумно ее предоставить.