Mathematica Improve Mathematica Output Display: Show Variable Names in Output

Click For Summary
Mathematica does not natively display variable names alongside their output values, which can be inconvenient for users managing multiple outputs. Users seek a way to modify the output format to include the variable name, similar to functionality found in Matlab. A suggested workaround involves creating a custom function that prints the variable name and its value, using the SetAttributes function to hold the first argument. While there are options like $Pre and $Post for processing outputs, these come with risks and may require careful implementation. Users are encouraged to explore alternative coding methods to minimize the need for extensive output tracking, especially in scenarios involving numerous variables.
NeoDevin
Messages
334
Reaction score
2
Is there any way to make Mathematica display the variable name in the output?

For example, if I have the following:
Code:
In[1]:= A = 1 + 2 + 3

By default Mathematica outputs this:
Code:
Out[1]:= 6

I would like it to instead output something like this:
Code:
Out[1]:= A = 6

Or in some other way indicate what variable the output value corresponds to. Often times I have large cells with may lines that I want printed out, so I can copy the values into other documents. With the default output, I have to keep track of which line of output corresponds to which variable, which is a nuisance when there are 20-30 lines of output.
 
Physics news on Phys.org
SetAttributes[nameAndValue, HoldFirst];
nameAndValue[x_] := Print[Unevaluated[x], "=", x];
a = 4;
nameAndValue[a]
 
Thanks for the reply, that will do the trick.

I don't suppose there's an option anywhere to make this (or something similar) the default behavior? Like it is in Matlab.
 
There is $Pre and $Post which can be expressions that process expressions before and after MMA handles them.

That is not without some risk, but MMA help and a search in the right places can find you a few examples of how others have used this.

If you have lots of examples where you have dozens of lines of output for every variable then you might consider whether there might be different ways of coding that do not have this.
 
Last edited:
Bill Simpson said:
If you have lots of examples where you have dozens of lines of output for every variable then you might consider whether there might be different ways of coding that do not have this.

Mostly it's just one output for any given variable. For example, in a homework assignment, where they ask for a bunch of values along the way.

Thanks for the help, I'll look into those.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 0 ·
Replies
0
Views
825
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 6 ·
Replies
6
Views
4K
  • · Replies 21 ·
Replies
21
Views
6K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K