|
[Date Index]
[Thread Index]
[Author Index]
Re: Code folding and wrapping using the input->code method?
- To: mathgroup at smc.vnet.net
- Subject: [mg104053] Re: Code folding and wrapping using the input->code method?
- From: telefunkenvf14 <rgorka at gmail.com>
- Date: Sat, 17 Oct 2009 07:02:35 -0400 (EDT)
- References: <hb70a0$8rs$1@smc.vnet.net> <hb9k06$ni$1@smc.vnet.net>
On Oct 16, 6:04 am, David Reiss <dbre... at gmail.com> wrote:
> Take a look at the following MathGroup posting of mine that addresses
> this:
>
> http://groups.google.com/group/comp.soft-sys.math.mathematica/browse_...
>
> I also reproduce that posting below....
>
> Best,
>
> Davidhttp://scientificarts.com/worklife
>
> __________________________________________
> Original posting:
> __________________________________________
>
> There are several points to make on this. The first is that,
> generally you want to create your Mathematica cod within a
> Mathematica notebook (unless you are using Workbench) and then set
> that notebook up so that it's Input Cells or Code cells are
> Initialization cells. Then the notebook will save them into a
> corresponding .m file when the notebook is saved (a dialog will ask
> you this the first time you save it after you have put initialization
> cells in it).
> As for indentation, Code cells will not (by their stylesheet design)
> auto indent. The can be changed at the style sheet level.
> As for working with .m files directly. They do not retain any
> stylsheet information when they are saved. However styles can be
> imposed on them while they are open.
> Cells with code in .m files make use of the Core.nb stylesheet's Code
> cellstyle. So if you modify cells of this style in the .m file they
> will take on those modifications for the session that the .m file is
> open.
> If nb is the NotebookObject for the .m file in question then the
> following will make it behave in a way that you are desiring,
> modifying the cells with code in them. The code comes fromhttp://scien=
tificarts.com/worklifewhere it is used in one of the
> palettes for exactly the purpose you are wanting: I needed the same
> thing and wrote it into thehttp://scientificarts.com/worklife
> package for just this reason.
> ModifyCodeStyle[nb_NotebookObject, Selection] :=
> Module[{},
> NotebookFind[nb, "Code", All, CellStyle, AutoScroll -> False];
> SetOptions[NotebookSelection[nb],
> PageWidth -> WindowWidth,
> AutoIndent -> Automatic,
> AutoSpacing -> True,
> LineBreakWithin -> Automatic,
> LineIndent -> 1,
> LinebreakAdjustments -> {0.85, 2, 10, 0, 1}]
> ];
> And here is a different version which acts on the style of Code cells
> rather than on the cells directly:
> ModifyCodeStyle[nb_NotebookObject, Notebook] :=
> Module[{styledefs, editable},
> editable = Editable /. Options[nb, Editable];
> SetOptions[nb, Editable -> True];
> styledefs = StyleDefinitions /. Options[nb, StyleDefinitions];
> Switch[Head[styledefs],
> Notebook,
> styledefs = Notebook[
> {
> First@First[styledefs],
> Cell[StyleData["Code"],
> PageWidth -> WindowWidth,
> AutoIndent -> Automatic,
> AutoSpacing -> True,
> LineBreakWithin -> Automatic,
> LineIndent -> 1,
> LinebreakAdjustments -> {0.85, 2, 10, 0, 1}],
> Rest@First[styledefs]
> },
> Sequence @@ Rest[List @@ styledefs]
> ],
> String | FileName | FrontEnd`FileName,
> styledefs =
> Notebook[{Cell[StyleData[StyleDefinitions -> styledefs]],
> Cell[StyleData["Code"],
> PageWidth -> WindowWidth,
> AutoIndent -> Automatic,
> AutoSpacing -> True,
> LineBreakWithin -> Automatic,
> LineIndent -> 1,
> LinebreakAdjustments -> {0.85, 2, 10, 0, 1}]},
> StyleDefinitions -> "PrivateStylesheetFormatting.nb"]
> ];
> SetOptions[nb, StyleDefinitions -> styledefs];
> SetOptions[nb, Editable -> editable]
> ];
> I hope this helps...
> --Davidhttp://scientificarts.com/worklife
> On Aug 21, 4:42 am, Benjamin Hell <h... at exoneon.de> wrote:
>
> > Hi,
> > this is a real beginner question for packages in mathematica. When I
> > view a package (.m) file in mathematica, the mathematica editor does=
n't
> > show any indentation nor does any automatic line breaks when scaling=
the
> > window. So whereas my code can be read quite well in a standard
> > mathematica notebook, it looks ugly in a package file. Is there any =
way
> > to setup some viewing options to change that behaviour?
> > Thanks in advance,
> > Benjamin
>
> --
> <><><><><><><><><>><><><>><><><>
> David Reiss, Ph.D; Scientific Arts, LLC .
> http://www.scientificarts.com
> <><><><><><><><><>><><><>><><><>
> This message and any attachments, may contain confidential and/or
> legally privileged information. If you are not the intended
> recipient of the message by the original sender, please destroy it.
> Message and attachments Copyright (c) 2009, all rights reserved.
>
> On Oct 15, 7:16 am, telefunkenvf14 <rgo... at gmail.com> wrote:
>
>
>
> > Does anyone know how to make Mathematica both fold and wrap code
> > input?
>
> > I really like using the code input option (because it automatically
> > generates an autosave package for you, and I like the way it sets the
> > code off from the rest of your work in a notebook), but the lack of
> > folding and wrapping are driving me NUTS!
>
> > -RG
I'd give you a hug if I could reach ya! Thanks.
I nosed around your website as well and will keep your consultation
services in mind.
Are you interested in developing additional packages? I have some
ideas, mainly related to search and auto-linking/cross-linking and
index generation, and am curious about the economics of working on
such a project. (I'm an economist)
-RG
Prev by Date:
Re: ChemicalData[], SMILES, EdgeRules
Next by Date:
Re: Function of list of functions
Previous by thread:
Re: Code folding and wrapping using the input->code method?
Next by thread:
Re: Code folding and wrapping using the input->code method?
|