Похоже, что базовая линия содержимого дингбата и ячейки не изменяется одинаково, когда содержимое ячейки заключено в BoxData
. Как указал Sjoerd , удаление BoxData
из содержимого ячейки приводит к выравниванию, но добавление BoxData
к CellDingbat
, похоже, ничего не меняет.
Базовая линия может быть смещена с помощью AdjustmentBox
, и после некоторой игры, я обнаружил, что базовая линия вышла на CurrentValue["FontAxisOffset"]/CurrentValue["FontMWidth"]
.
Оба эти условия меняются с Magnification
, но оказывается, что наблюдаемое смещение является постоянным значением, полученным при Magnification->1
. В этом случае соотношение составляет 0.20833 == 5/24
.
Я не уверен, действительно ли проблема связана с базовой линией и есть ли веская основная причина для поведения. Я также не уверен, почему требуемый сдвиг не зависит от увеличения Cell, Notebook или $ FrontEnd. Но, похоже, это работает, и я потратил достаточно времени, чтобы поиграть с этим!
Чтобы проверить, что все (в принципе) нормально, попробуйте
Do[CellPrint@Cell[BoxData["TxyT"],
CellDingbat -> BoxData[AdjustmentBox["TxyT", BoxBaselineShift -> -5/24]],
Magnification -> mag], {mag, 1, 5}]
А также проверить, как
CellPrint@Cell[BoxData["TxyT"],
CellDingbat -> BoxData[AdjustmentBox["TxyT", BoxBaselineShift -> -5/24]],
Magnification -> Inherited]
ищет различные увеличения вмещающей записной книжки и внешнего интерфейса, например,
SetOptions[EvaluationNotebook[], Magnification -> 4.]
и / или
SetOptions[$FrontEnd, Magnification -> 4.]