RE: Programmed PageBreaks
- To: mathgroup at smc.vnet.net
- Subject: [mg16574] RE: [mg16431] Programmed PageBreaks
- From: "Ersek, Ted R" <ErsekTR at navair.navy.mil>
- Date: Wed, 17 Mar 1999 23:54:54 -0500
- Sender: owner-wri-mathgroup at wolfram.com
Adelbert Hanszen wrote: ------------------------- How can I add page breaks to this. Print["\012"]; does not work. Until now, I have manually added pagebreaks above those cells, from which I know, that they should go on a new page. I am looking for a better way to achieve this. -------------------------- Rolf Mertig posted a nice palette to do what you want some time ago. Since then I enhanced the "Insert PageBreak" button, and added two unrelated buttons. The palette below has five buttons. 1- CleanSlate[] This button evaluates CleanSlate[] without feedback except "Running name.nb" is displayed in the window frame of the palette while CleanSlate is evaluating. I made this button because I got tired of deleting cells from CleanSlate[]; in my notebooks. Note, CleanSlate isn't a built-in feature. But it's a nice tool and you can find it in the distribution CD for version 3.0. 2- Delete All Graphics This button will delete all Graphic cells and any corresponding output cells. 3- Insert PageBreak This button inserts a cell that does little more than force a page break. The cell has a red cell bracket as a visual indication. If the selection pointer is between cells the "Page Break Cell" is inserted at the selection pointer. I modified the button from Rolf Mertig so that if the selection pointer is in the middle of a cell when the button is used you get a "Page Break Cell" after the cell where the selection pointer was. 4- Next PageBreak Selects the first "Page Break Cell" after the selection pointer. Once the cell is selected the cell bracket turns cyan. 5- Previous PageBreak Selects the nearest "Page Break Cell" that comes before the selection pointer. Once the cell is selected the Cell Bracket turns cyan. ------------------------- Copy the code below into the Front End. Select Yes to interpret the text. Select the Window containing the palette, and save the notebook. I saved the notebook in the folder: WolframResearch/Mathematica/30/SystemFiles/FrontEnd/Palettes That way I can access the palette from the menu selection: --> File --> Palettes ------------------ Regards, Ted Ersek (******* Code Begins Here *********) Notebook[{ Cell[BoxData[ TagBox[GridBox[{ { ButtonBox[\(CleanSlate[]\ \ \ \ \ \ \ \ \ \ \ \ \ \ \), ButtonFunction:>Block[ {Print}, CompoundExpression[ CleanSlate[ ], Null]], ButtonEvaluator->Automatic, Active->True]}, { ButtonBox[\(Delete\ All\ Graphics\), ButtonFunction:>Module[ { Set[ nb1, InputNotebook[ ]], nb2, posn}, CompoundExpression[ NotebookFind[ nb1, "Graphics", All, CellStyle], NotebookDelete[ nb1], Set[ nb2, NotebookGet[ nb1]], Set[ posn, Position[ nb2, Cell[ BoxData[ TagBox[ RowBox[ {"\[SkeletonIndicator]", Alternatives[ "Graphics", "Graphics3D", "ContourGraphics", "DensityGraphics", "SurfaceGraphics", "GraphicsArray","Sound"], "\[SkeletonIndicator]"}], False, Editable -> False]], "Output", BlankNullSequence[ ]], Infinity]], If[ UnsameQ[ posn, {}], NotebookPut[ Delete[ nb2, posn], nb1]], Null]], ButtonEvaluator->Automatic, Active->True]}, { ButtonBox[\(Insert\ a\ PageBreak\ \ \ \ \), ButtonFunction:>Module[ { Set[ nb, InputNotebook[ ]]}, CompoundExpression[ SelectionMove[ nb, All, Cell], If[ SameQ[ NotebookRead[ NotebookSelection[ nb]], {}], SelectionMove[ nb, Previous, Cell]], SelectionMove[ nb, After, Cell], NotebookWrite[ InputNotebook[ ], Cell[ TextData[ " "], "Text", CellMargins -> {{0, 0}, {-10, -4}}, CellBracketOptions -> {"Thickness" -> 2, "Color" -> RGBColor[ 1, 0, 0]}, CellElementSpacings -> {"CellMinHeight" -> 1}, PageBreakBelow -> True, GeneratedCell -> True, Magnification -> .5, Editable -> False, CellTags -> "PageBreakCell"]]]], ButtonEvaluator->Automatic]}, { ButtonBox[\(Next\ PageBreak\ \ \ \ \ \ \ \ \ \ \ \), ButtonFunction:>CompoundExpression[ NotebookFind[ InputNotebook[ ], "PageBreakCell", Next, CellTags]], ButtonEvaluator->Automatic]}, { ButtonBox[\(Previous\ PageBreak\ \ \), ButtonFunction:>CompoundExpression[ NotebookFind[ InputNotebook[ ], "PageBreakCell", Previous, CellTags]], ButtonEvaluator->Automatic]} }, RowSpacings->0.3], DisplayForm]], NotebookDefault, CellMargins->{{Inherited, Inherited}, {7, Inherited}}, CellEditDuplicate->True, CellGroupingRules->"OutputGrouping", CellHorizontalScrolling->True, PageBreakAbove->True, PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, CellLabelMargins->{{11, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultOutputFormatType, LineSpacing->{1.25, 0}, AutoItalicWords->{}, FormatType->InputForm, ScriptMinSize->9, CounterIncrements->"Output", StyleMenuListing->None, FontFamily->"Courier"] }, FrontEndVersion->"Microsoft Windows 3.0", ScreenRectangle->{{0, 800}, {0, 544}}, Editable->False, WindowToolbars->{}, PageWidth->467.5, WindowSize->{Fit, Fit}, WindowMargins->{{Automatic,5}, {Automatic, 5}}, WindowFrame->"Palette", WindowElements->{}, WindowFrameElements->"CloseBox", WindowClickSelect->False, ScrollingOptions->{"PagewiseScrolling"->True}, ShowCellBracket->False, CellMargins->{{0, 0}, {Inherited, 0}}, Active->True, CellOpen->True, ShowCellLabel->False, ShowCellTags->False, ImageMargins->{{0, Inherited}, {Inherited, 0}} ]