Re: Defining new Forms
- To: mathgroup at smc.vnet.net
 - Subject: [mg20305] Re: Defining new Forms
 - From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
 - Date: Fri, 15 Oct 1999 20:20:38 -0400
 - Organization: Universitaet Leipzig
 - References: <7tuos0$ehq@smc.vnet.net>
 - Sender: owner-wri-mathgroup at wolfram.com
 
Hi Eckhard,
whats wrong with FullForm[] and First[] ?
The general rule in Matheamtica is that 
- if someone really want to see the internal data representation
  he has to use FullForm[]
It is not clear why you introduce the ListForm[]. Since Mathematica has 
no ListForm[] primitive it will ignore Format[_,ListForm] statements.
If you realy need the first argument of your LargeObject[] you can
simply
call First[LargeObject[_,_]]. This is the typical way to acess the data
in
Graphics[] objects ..
So you can use
obj // First 
and get what you want without any additional formats.
Hope that helps
  Jens
Eckhard Hennig wrote:
> 
> Hi, I would greatly appreciate some help on the following problem with
> Mathematica 3.0's expression formatting functionality. Assume that we have
> objects of the form
> 
> LargeObject[lst, stuff]
> 
SNIPP SNAPP
> So far, no problem. Now, I also want to be able to display a LargeObject
> such that the user data "lst" is shown in its natural form, i.e. as a list
> in StandardForm(!), using a new format type "ListForm" as illustrated below.
> 
> In[2]:= obj // ListForm
> 
> Out[2]//ListForm= {1, 2, 3, 4, 5}
> 
> Although I experimented a lot with formatting rules, I was not able to
> produce exactly what I want. The definition
> 
> Format[ListForm[LargeObject[a_,b_]]] := a
> 
> returns the list but without the //ListForm suffix in the cell label,
> whereas the definition
> 
SNIP SNAP 
> Does anyone have an idea how to apply Format and/or MakeBoxes to make the
> command
> 
> obj // ListForm
> 
> produce the correct output in StandardForm involving RowBoxes etc.?