Я работал над получением пронумерованных меток кадров ячеек, следуя отличным советам в этих других ответах
Расширение определение ячейки в определение CellFrameLabels
Как автоматически пронумеровать теги ячеек в Mathematica Notebooks?
и я почти готов. Я хотел добавить номера разделов к стилям разделов в таблице стилей Creative / Pastel colors. Я создал новую записную книжку (вот копия в моем общедоступном Dropbox)
http://dl.dropbox.com/u/1997638/CellFrameMargins.nb
зашел в меню «Формат», выбрал «Таблица стилей \ Creative \ PastelColor», затем «Форматировать», «Изменить таблицу стилей», «Выбрать стиль: раздел», затем щелкнуть Creative \ Pastelcolor.nb в верхней части диалогового окна редактирования таблицы стилей.
Это открывает другой редактор таблиц стилей, и я перехожу к четвертому элементу «Стили для ячеек заголовка и разделов», а затем ко второму элементу там «Раздел». Поместите туда перекрестие мыши и щелкните, затем выберите меню «Ячейка», пункт «Показать выражение», в котором отображается следующее выражение:
Cell[StyleData["Section"],
CellFrame->{{0, 0}, {1, 3}},
CellFrameColor->RGBColor[1., 0.819608, 0.658824],
FontFamily->"Helvetica",
FontSize->18,
FontWeight->"Bold",
FontColor->RGBColor[0.882353, 0.419608, 0.0784314],
Background->RGBColor[1., 0.886275, 0.741176]]
ОТЛИЧНО! Открывает все подробности, по крайней мере, я так подумал. В частности, элемент CellFrame предоставляет мне информацию {{0, 0}, {1, 3}}
, которая мне нужна, чтобы выровнять метки фреймов ячеек со стилем раздела. Итак, вернемся к диалоговому окну редактора steylsheet для моей записной книжки и, следуя вышеупомянутым ответам, я набираю
Cell[
StyleData["Section"],
CellFrameLabelMargins -> 0,
CellFrameLabels-> { {
Cell[
TextData[{ "§", CounterBox["Section"], ": " }],
"SectionLabel",
CellFrame -> {{0, 0}, {1, 3}},
CellFrameMargins -> 4
] (* left label *),
Inherited (* right label *) },
{Inherited (* bottom label *),
Inherited (* top label *) } } ]
. Правило CellFrameMargins -> 4
, которое я обнаружил методом проб и ошибок, необходимо для выравнивания сверху и снизу рамки ячейки, а остальная часть стиля раздела - справа. С грустью сообщаю, что это почти работает. Между текстом CellFrameLabels и фреймами есть промежутки, и я хочу заполнить эти промежутки. Как будто шрифты в CellFrameLabels не растягиваются вверх и вниз достаточно далеко, хотя они точно такие же, как шрифты в ячейках раздела. Я не могу найти способ заполнить фон за этикетками. Я попробовал Фон -> RGBColor [...]
, я попытался вставить явные шрифты, я попытался установить CellFrameMargins и CellFrameLabelMargins во многих комбинациях, но безрезультатно.
Я в тупике и буду благодарен за любой совет.