5

これらの他の回答の素晴らしいアドバイスに従って、番号付きのセルフレームラベルを取得することに取り組んでいます

セル定義を CellFrameLabels 定義に拡張する

Mathematica ノートブックでセルタグに自動番号を付ける方法は?

そして私はほとんどそこにいます。クリエイティブ/パステル カラー スタイルシートのセクション スタイルにセクション番号を追加したいと考えていました。新しいノートブックを作成しました (パブリック ドロップボックスにコピーがあります)

http://dl.dropbox.com/u/1997638/CellFrameMargins.nb

「フォーマット」メニューに移動し、「スタイルシート\クリエイティブ\パステルカラー」、「フォーマット」、「スタイルシートの編集」、「スタイルの選択:セクション」を選択し、スタイルシート編集ダイアログの上部にあるCreative\Pastelcolor.nbをクリックします.

これにより、別のスタイルシート エディターが開き、「タイトルとセクション セルのスタイル」の下にある 4 番目の項目に移動し、そこにある 2 番目の項目「セクション」に移動します。そこにマウスの十字線を置いてクリックし、[セル] メニューの [式の表示] 項目を選択すると、次の式が表示されます。

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 のテキストとフレームの間にギャップがあり、それらのギャップを埋めたいと考えています。Section セルのフォントとまったく同じであるにもかかわらず、CellFrameLabels のフォントが上下に十分に伸びていないかのようです。ラベルの背景を埋める方法が見つかりません。試しBackground -> RGBColor[...]てみました、明示的なフォントを入れてみました、CellFrameMargins と CellFrameLabelMargins を多くの組み合わせで設定しようとしましたが、役に立ちませんでした。

私は困惑しており、アドバイスをいただければ幸いです。

スクリーンショット

4

1 に答える 1

4

パステル系に合いそうです。これが行うことは、フレーム内にラベルを配置することです。すべてを揃えるために、ImageMarginsFrameMarginsを少しいじる必要がありました。FrameBox

Cell[StyleData["Section"],
 CellFrameLabels->{{
  Cell[
   BoxData[
    FrameBox[
     TemplateBox[{"§", CounterBox["Section"], ": "},
      "Row",
       DisplayFunction->(RowBox[{#, " ", #2}]& )
     ],
     ImageMargins->-1,
     Background->RGBColor[1., 0.886275, 0.741176],
     FrameStyle->RGBColor[1., 0.886275, 0.741176],
     FrameMargins->2
    ]
   ], 
   "SectionLabel", CellFrame -> {{0, 0}, {1, 3}}, 
   CellFrameMargins->0
  ], Inherited}, 
  {Inherited, Inherited}},
 CellFrameLabelMargins->0
]

スクリーンショット: スクリーンショット

于 2012-01-25T10:03:13.497 に答える