Как заполнить CellFrameLabels в стилях Mathematica Notebook?

Я работал над получением пронумерованных меток кадров ячеек, следуя отличным советам в этих других ответах

Расширение определение ячейки в определение 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 во многих комбинациях, но безрезультатно.

Я в тупике и буду благодарен за любой совет.

Screenshot

5
задан Community 23 May 2017 в 10:32
поделиться