Простые объяснения \dimexpr и измерений в целом

Простые объяснения \dimexpr и измерений в целом

Я внимательно прочитал руководство по etex, чтобы понять синтаксис dimexpr и numexpr, но мое ограниченное понимание остается ограниченным... Выражение "\dimexpr" встречается всего 3 раза в указанном руководстве, и нигде не дано формального определения (я имею в виду: отвечающего на мой вопрос).

Итак, более подробно, этот макрос можно найти в сети:

\newcommand\dimtomm[1]{%
\strip@pt\dimexpr 0.352777778\dimexpr#1\relax\relax
}

для преобразования размера в мм. Дело в том, что он, похоже, не учитывает начальную единицу #1... ? Действительно, я использую эту новую команду с позицией, выданной zsavepos, которая находится в sp, и она работает так, как если бы я дал новой команде размер в pt!

Есть более общий вопрос об измерениях, на который я не могу найти ответ ни в литературе (книга-источник, ...), ни в интернете: когда переменная определена как содержащая измерение, привязана ли к ней единица измерения или это просто число, но с меткой «измерение»? Я полагаю... нет! из-за \strip@pt, но это противоречит поведению \dimtomm выше (по моему мнению, конечно).

Кто может сделать четкие топологические пояснения об измерениях, о координатах (zsavepos...), о том, как добавить zsavepos в sp с измерением в pt, о функционировании dimexpr и т. д.?

РЕДАКТИРОВАТЬЧтобы быть более точным в моем вопросе, чтобы ответы не были слишком общими: я получаю zsavepos точки и могу получить доступ к x и y, которые являются длинами в sp. Затем я хочу нарисовать местоположение объекта в draw, используя что-то вроде:

$(current page.north west) + (0cm,\xcoordtodim{\zposy{pointA}})$

Итак, я сталкиваюсь с двумя проблемами разного типа:

1) Я хочу, чтобы \xcoordtodim возвращал размерность, но, судя по всему, я не могу этого сделать с моими текущими знаниями...

2) \xcoordtodim добавляет zposy точки (в sp) с заданной длиной, обычно выражаемой в pt: это вопрос «смешивания» единиц, связанных с \dimtomm и \dimexpr...

решение1

Размеры не хранятся с единицей измерения (на самом деле они всегда хранятся как целое число, в spединицах измерения). Какая бы единица измерения ни использовалась при установке длины (если единица измерения вообще используется), \theдлина будет отображаться с использованием ptединиц измерения.

Настройки, которые не используют никаких явных единиц измерения, включают в себя такие вещи, как

\setbox0\hbox{abc}  \dimen0=\wd0

Связанный контент