7
$\begingroup$

My notebook's groupings for "Subsection" and "SubitemNumbered" are broken:

enter image description here

And by broken, I mean I wanted it to automatically group like this which I did manually (with lots of control+shift+g)

enter image description here

Here's my stylesheet:

Cell[StyleData[StyleDefinitions -> "Default.nb"]]

Cell[StyleData["ItemNumbered"],
 CellGroupingRules->{"SectionGrouping", 10}
]

Cell[StyleData["Item"],
 CellGroupingRules->{"InputGrouping", 10},
 CounterIncrements->"Item",
 CounterAssignments->{{"Section", 0}, {"Subsection", 0}},
 FontSize->14,
]

Cell[StyleData["Section"],  CellGroupingRules->{"SectionGrouping", 1}]

Cell[StyleData["Subsubsection"], "Subsubsection",
  CellGroupingRules->{"SectionGrouping", 1}]

Cell[StyleData["SubitemNumbered"], "Subsubsection",
  CellGroupingRules->{"SubsectionGrouping", 1}]

I've read all the posts on Cell Grouping but I still can't find a straight answer to this question. Here are the posts I've consulted so far:

... and I'm still utterly confused.

$\endgroup$
0

2 Answers 2

4
$\begingroup$

This is not a full response, but I have some info that might be helpful.

The subsection issue is caused by the Stylesheet entry for Subsubsection, changing it to the default of 50 should fix it, or anything >40.

Cell[
    StyleData["Subsubsection"], 
    CellGroupingRules -> {"SectionGrouping", 50}
]

The issue is that the default for SectionGrouping is

  • Section -> 30
  • Subsection -> 40
  • Subsubsection -> 50

You are changing Section and Subsection to be 1, but leaving Subsection at its default.

Sorry, I don't have time now to finish looking at the Item/Subitem stuff, but I will mention that you probably want to be working with "GroupTogetherNestedGrouping" rather than "InputGrouping" to stay in the same grouping space as list stuff normally resides (look into the Default stylesheet at "Styles for Body Text > Display > Lists > Bulleted").

SIDE NOTE: Your Stylesheet entries have superfluous CellStyle arguments, the following expression

Cell[StyleData["Subsubsection"], "Subsubsection"]

should simply be

Cell[StyleData["Subsubsection"]]

This is mentioned in the details of the documentation for StyleData:

Style definition cells have the form Cell[StyleData["style"],options].

It doesn't seem to matter, but seemed worth mentioning.

Cheers

$\endgroup$
2
$\begingroup$

Ok so I fixed it:

Cell[StyleData[StyleDefinitions -> "Default.nb"],
 CellMargins->{{21, 3}, {4, 4}}]

Cell[StyleData[All],
 ShowGroupOpener->False,
 FontFamily->"Avenir"]

Cell[StyleData["Title"],
 CellMargins->{{10, 3}, {4, 4}},
 FontColor-> RGBColor[0,0.0,0.6],
 CellGroupingRules->{"SectionGrouping", 9}]

Cell[StyleData["Section"],
 CellFrame->{{.5, 0}, {0, .5}},
 CellFrameMargins->8,
 CellFrameColor->RGBColor[0, 0.4, 0.9, 1],
 CellMargins->{{17, 3}, {Inherited, Inherited}},
 CellGroupingRules->{"SectionGrouping", 10},
 WholeCellGroupOpener->True,
 FontColor->RGBColor[0, 0.4, 0.9, 1]]

Cell[StyleData["Subsection"],
 CellFrame->{{.1, .1}, {.1, .1}},
 Background->GrayLevel[0.95],
 CellFrameMargins->10,
 CellFrameColor->GrayLevel[0.8],
 CellMargins->{{30, Inherited}, {5, 2}},
 CellGroupingRules->{"SectionGrouping", 20},
 WholeCellGroupOpener->True,
 FontColor-> RGBColor[0,0.5,0.8]
]

Cell[StyleData["Subsubsection"],
CellFrame->{{.1, .1}, {.1, 01}},
 Background->RGBColor[0, 0, 0.6, 0.05],
 CellFrameMargins->8,
 CellFrameColor->GrayLevel[0.8],
 CellMargins->{{48, 3}, {0, 0}},
 CellGroupingRules->{"SectionGrouping", 30},
 FontColor->RGBColor[0, 0, 0.6, 1],
 WholeCellGroupOpener->True,
 FontWeight -> "Light"
 ]

Cell[StyleData["ItemNumbered"],
 CellGroupingRules->{"SectionGrouping", 40}]

Cell[StyleData["Input"],
 CellGroupingRules->(CellGroupingRules -> {"SectionGrouping", 60})]

Cell[StyleData["Output"],
 CellGroupingRules->(CellGroupingRules -> {"SectionGrouping", 60})]

Cell[StyleData["Code"],
 CellGroupingRules->(CellGroupingRules -> {"SectionGrouping", 60})]

Cell[StyleData["Program"],
 CellGroupingRules->(CellGroupingRules -> {"SectionGrouping", 60})]

Cell[StyleData["Text"],
 CellGroupingRules->(CellGroupingRules -> {"SectionGrouping", 60})]

Cell[StyleData["Item"],
  CellDingbat->StyleBox["\[FilledSmallSquare]", Alignment -> Baseline, 
   RGBColor[0.0, 0.73, 1]],
 CellGroupingRules->(CellGroupingRules -> {"SectionGrouping", 60})]

Cell[StyleData["SubitemNumbered"],
 CellGroupingRules->{"SectionGrouping", 50}]

Cell[StyleData["Subitem"],
CellDingbat->StyleBox["\[FilledSmallSquare]", Alignment -> Baseline, 
   RGBColor[0.0, 0.2, 1]],
CellGroupingRules->(CellGroupingRules -> {"SectionGrouping", 60})]

But I still can't find a description of what behavior each of the built in cell grouping types provides.

$\endgroup$
2
  • $\begingroup$ My guess is they best realtor to the numeric value within a group namespace and then each namespace is nested realtor to each other, I.e. SectionGrouping is naturally higher than InputGrouping. That is just a guess, 8 have played with it much to verify. $\endgroup$
    – Kyle Keane
    Commented Aug 28, 2015 at 23:29
  • $\begingroup$ Sorry typed that on my phone and got a weird typo. My guess is that they first nest according to the numeric value... $\endgroup$
    – Kyle Keane
    Commented Aug 29, 2015 at 1:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.