# Can Save[] produce a .nb file instead of a text file?

(I use Mathematica 9.0.1 on OS X 10.10.2.)

Suppose I have a notebook in which I make some definitions and assignments.

a = 108
b[x_] := 4x + 8
c = Interpolation[{15, 16, 23, 42}]


Then it is straightforward to save these definitions to a text file:

Save["filename.txt", {a, b, c}]


produces a text file filename.txt containing

a = 4

b[x_] := 8*x

c = InterpolatingFunction[{{1, 4}}, {4, 3, 0, {4}, {4}, 0, 0, 0, 0,
Automatic}, {{1, 2, 3, 4}}, {{15}, {16}, {23}, {42}}, {Automatic}]

But is there a way to produce exactly the above content, not in a text file, but in an ".nb" file?

(Note that the obvious first guess, just changing the extension of the filename I specify in the Save command from ".txt" to ".nb", does not seem to work. Mathematica still treats the file as a text file, rather than a notebook file, it just now has a deceptive file extension.)

a = 108
b::usage = "test usage msg"
b[x_] := 4 x + 8
c = Interpolation[{15, 16, 23, 42}]


As pointed by OP, the direct usage of FullDefinition produces boxes that are not realy useful. I don't know how to convert them easily without this tiny undocumented function [1], [2]:

Save["test.m", {a, b, c}]

CreateDocument @ Cell[#, "Input"] &@
First @ FrontEndExecute @
UndocumentedTestFEParserPacket[Import["test.m", "Text"], False]


Old answer, not so handy, in edit history.

• Try evaluating the cell, saving and closing the file, and reopening it. – thecommexokid Mar 26 '15 at 20:52
• @thecommexokid again good point, sorry for not being focused enough :) is my edit ok? :) – Kuba Mar 26 '15 at 21:56
• Yes, it is, thanks. It's really weird to me that Save["test.m"] produces a proper .m file, but Save["test.nb"] just produces a text file with a misleading .nb extension. – thecommexokid Mar 27 '15 at 17:59
• By the way, not sure why you deleted all your previous comments! I don't think that was really necessary... – thecommexokid Mar 27 '15 at 18:01
• @thecommexokid Try to wrap it with UsingFrontEnd. I will be afk for 1h now. – Kuba Mar 30 '15 at 6:14