Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

I build a lot of presentations and custom notebooks with very different stylesheets, and use Button and CreateDocument quite often to accommodate optional/procedurally generated content. For instance,

Map[Button[Style[ToString[#] <> " random images", "Text"], 
       CreateDocument[
          {Cell["Here are " <> ToString[#] <> " random image(s)", "Title"],             
           ExpressionCell[Column@Table[RandomImage[2, {200, 200}], {#}],
           "Output"]}]] &,
   Range[5]]

What I'd like to do is specify that the notebook generated by CreateDocument inherits the StyleSheet from the parent notebook, without having to save the StyleSheet and provide the StyleSheetPath Option in the CreateDocument function each time I change a style.

I imagine there's an undocumented feature, but haven't found it in my brief searches of StackExchange.

share|improve this question
add comment

1 Answer 1

up vote 10 down vote accepted

Add the following option to your CreateDocument call:

StyleDefinitions -> 
 CurrentValue[EvaluationNotebook[], StyleDefinitions]

This works for both embedded stylesheets and stylesheets on the StyleSheetPath. In this case, I use EvaluationNotebook to refer to the notebook containing the button but it could, of course, be whatever NotebookObject you wish to refer to.

share|improve this answer
    
Well, I should've thought of that. Thanks, John! –  Martin John Hadley Jan 8 '13 at 12:20
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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