Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: export to .m using a cell command

  • To: mathgroup at smc.vnet.net
  • Subject: [mg126598] Re: export to .m using a cell command
  • From: Chris Degnen <degnen at cwgsy.net>
  • Date: Wed, 23 May 2012 03:28:30 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <jp54pl$gpe$1@smc.vnet.net>

On Friday, May 18, 2012 10:29:25 AM UTC+1, Roberto wrote:
> Hello, 
> 
>  I know how to make a .m file using the "Save As" menu. This forces every time to choose the folder where I want to put it and the file name.
> 
> As I update frequently my .m  I was wandering if there is a way to make this using a cell command.
> 
> I tried something like
> 
> Export["~/my.m", EvaluationNotebook[]]
> 
> but the .m created does not contain the current notebook, but it's rather empty.
> 
> What should I use to save all the cells in the current notebook into a .m?
> 
> Thanks in advance for your replies.
> Cheers
> Roberto


Another way to write out the notebook as a package, (without using initialisation cells), is to run the following:-

FrontEndExecute[FrontEnd`AddMenuCommands["Save",
  {MenuItem["Save As Pac&kage",
    FrontEnd`KernelExecute[
     nb = SelectedNotebook[];
     SelectionMove[nb, All, Notebook];
     str = 
      First[FrontEndExecute[
        FrontEnd`ExportPacket[NotebookSelection[nb], "InputText"]]];
     If[# =!= $Failed,
        Module[{name},
         name = StringDrop[#, -3];
         Export[name <> ".txt", str];
         Quiet[DeleteFile[name <> ".m"]];
         RenameFile[name <> ".txt", name <> ".m"]
         ]
        ] &@Quiet[NotebookFileName[nb]]
     ],
    MenuKey["G", Modifiers -> {"Control", "Shift"}], 
    System`MenuEvaluator -> Automatic]
   }]]

It will place a command on the menu which can be run with Alt-F, K or Shift-Control-G.  When run, it will write out the current notebook as a package, provided the notebook already exists as a saved file, ie has a filename.

You can read more about ExportPacket here:

http://mathematica.stackexchange.com/questions/1319/how-do-i-extract-the-contents-of-a-selected-cell-as-plain-text/1411#1411

The notebook text is first saved as a .txt file and then renamed because directly exporting as a .m file doesn't save the formatting so well.



  • Prev by Date: Re: Non-trivial Non- linear fit
  • Next by Date: Re: Fourier DFT scaling problem
  • Previous by thread: Re: export to .m using a cell command
  • Next by thread: InverseFunction returning working function or just a symbol