|
[Date Index]
[Thread Index]
[Author Index]
Re: Bug of NotebookRead
- To: mathgroup at smc.vnet.net
- Subject: [mg100187] Re: Bug of NotebookRead
- From: dbreiss at gmail.com
- Date: Wed, 27 May 2009 04:09:12 -0400 (EDT)
- References: <gvdr93$757$1@smc.vnet.net>
Yes, I came across this back in Version 6 and reported it to the
WOlfram bugs system. Following is is the note that I sent them. In
my experience I have come across this problem only rarely. But I did
encounter it when working on http://scientificarts.com/worklife which
makes use of lots and lots of tagging. I think that the workaround
that I may have use for the particular case that I had was to use
FrontEndExecute[FrontEndToken[notebookObject, "Copy"]]
rather than NotebookRead. Then I paste the result in an invisible
notebook using (after creating a notebook InvisibleNotebooksObject
that has the optoin Visible->False)
FrontEndExecute[FrontEndToken[InvisibleNotebooksObject, "Paste"]]
And then I select all cells in that notebook and do a NotebookRead on
them (then close the invisible notebook.
******************************************************
In[1]:= $Version
Out[1]= "6.0 for Mac OS X x86 (32-bit) (June 19, 2007)"
NotebookRead sometimes does not read its selection
Create the following notebook:
nb = NotebookPut[
Notebook[{Cell[
CellGroupData[{Cell["Subsubsection", "Subsubsection"],
Cell["item 1", "Item"], Cell["item 2", "Item"],
Cell["item 3", "Item"]}, Open]]}]]
In this notebook select the "Subsubsection" cell and the "item 2"
cell. (Exclude
the "item 1" cell and the "item3" cell.)
Then in a second notebook execute
NotebookRead[nb]
The following corrupted CellGroupData expression results. Note that
the second
cell apears as a second argument to the CellGroupData rather than as
part of an
element in the list that is the first argument to CellGroupData.
Cell[CellGroupData[{Cell["Subsubsection", "Subsubsection"]},
Cell["item 2", "Item"]]]
Now select the "Subsubsection" cell, the "item 2" cell, and the
"item 3" cell
(exclude the "item 1" cell)
Then in a second notebook execute NotebookRead[nb].
This is the result.
NotebookRead[nb]
Cell[CellGroupData[{Cell["Subsubsection", "Subsubsection"]},
Cell["item 2", "Item"]]]
Note that the CellGroupData is corrupted as above and that the third
("item 3")
cell does not appear in the expression at all.
******************************************************
On May 25, 6:18 am, Hannes Kessler <HannesKess... at hushmail.com> wrote:
> Hello,
>
> cell tags could be very useful to extract quickly selected information
> from notebooks, see David Reiss presentationhttp://scientificarts.com/wor=
klife/conference2008.html
>
> But be aware of the following bug of NotebookRead applied to tagged
> cells in a structured notebook with sections and subsections:
> The section cell and the input / output cells in the example are
> tagged, but not the subsection cell. The resulting notebook contains
> only the section cell. The tagged input/ouput cells are lost as a
> consequence of the read notebook data containing a wrong CellGroupData
> [[{Cell[..]},Cell[..]] instead of a correct CellGroupData[[{Cell
> [..],Cell[..]}]. This could be fixed by a corresponding replacement
> rule. But the second input/output cell is missing completely and
> cannot be recovered at all.
>
> notebook1 = Notebook[{
> Cell["Section 1", "Section", CellTags -> "zzz"],
> Cell["Subsection 1 (no tag)", "Subsection"],
> Cell[BoxData[RowBox[{"x", "=", "1"}]], "Input", CellTags ->
> "zzz"],
> Cell[BoxData["1"], "Output", CellTags -> "zzz"],
> Cell[BoxData[RowBox[{"y", "=", "2"}]], "Input", CellTags ->
> "zzz"],
> Cell[BoxData["2"], "Output", CellTags -> "zzz"]
> }];
> notebookObject = NotebookPut[notebook1, WindowTitle -> "Notebook 1"];
> NotebookFind[notebookObject, "zzz", All, CellTags];
> notebookData = NotebookRead[notebookObject]
> notebook2 = Notebook[Flatten[{notebookData}]];
> NotebookPut[notebook2, WindowTitle -> "Notebook 2"];
>
> Did anybody encounter this problem, are there workarounds? I am new to
> the tagging approach and a bit frustrated as this was my very first
> experience with it.
>
> I am using Mathematica 7.0.1 on Windows XP
>
> Best regards,
> Hannes Kessler
Prev by Date:
Re: calculations in findRoot
Next by Date:
Numbering
Previous by thread:
Re: Bug of NotebookRead
Next by thread:
How to handle Units of Measure
|