# Declare new “Form” wrapper and avoid this wrapper being recorded in Out[…] [duplicate]

When I input

{{1,0},{0,1}} // MatrixForm


and then m = %;, the value that m takes is the actual matrix (list of lists), rather than MatrixForm[...].

Example:

In[1]:= {{1, 0}, {0, 1}} // MatrixForm


In[2]:= Head[%]
Out[2]= List


I have defined my own wrapper myForm to display expressions in a particular form, and I would like to duplicate this behavior: I would like % to take the value before myForm is applied. Is this possible?

• – Szabolcs Jul 6 '15 at 9:41
• According to the last answer in the question I linked above, it's as simple as appending it to $OutputForms. This works at least in 10.1, but I make no claims about robustness: Unprotect[$OutputForms]; AppendTo[$OutputForms, myForm]; Protect[$OutputForms]; – Szabolcs Jul 6 '15 at 9:47
• If you think it's appropriate, you can always mark your own questions as duplicates (unless something has changed, the site doesn't show exactly the same interface, based on reputation score). You can flag/close as "duplicate", then when you load the webpage next time, it'll show a button above the question asking if you already have an answer. Pressing that button closes the question. – Szabolcs Jul 6 '15 at 9:56