Daniel Wendelken
Daniel Wendelken

Reputation: 53

Show full calculation in Mathematica to copy into latex

I'm new to Mathematica I was hoping that this is a functionality built in. I am calculating the conditional entropy of a table and have the following 4 variables:

a = 1/8*Log[(1/8)/(1/2)] + 1/16*Log[(1/16)/(1/2)] + 1/16*Log[(1/16)/(1/2)] + 1/4*Log[(1/4)/(1/2)]

b = 1/16*Log[(1/16)/(1/4)] + 1/8*Log[(1/8)/(1/4)] + 1/32*Log[(1/32)/(1/4)] + 0

c = 1/32*Log[(1/32)/(1/8)] + 1/32*Log[(1/32)/(1/8)] + 1/16*Log[(1/16)/(1/8)] + 0

d = 1/32*Log[(1/32)/(1/8)] + 1/32*Log[(1/32)/(1/8)] + 1/32*Log[(1/32)/(1/8)] + 0

Then the final calculation is:

a + b + c + d

I was hoping there was a way to display the expanded a + b + c + d as a output so I can right-click/copy as latex to past into a document so I don't have to type it out. I can't figure out how to do it though. I'm guessing there is a way to expand those variables in the output to show the full calculation but maybe it is not possible. Thanks for any help.

Upvotes: 0

Views: 301

Answers (1)

VentricleV
VentricleV

Reputation: 40

I'm not sure how expanded you wanted the mathematical expression to be. See if the following expression is in the form you want to convert to LaTeX: (1/16 Log[1/(16/4)]+1/8 Log[1/(8/4)]+1/32 Log[1/(32/4)]+0)+(1/32 Log[1/(32/8)]+1/32 Log[1/(32/8)]+1/16 Log[1/(16/8)]+0)+(1/32 Log[1/(32/8)]+1/32 Log[1/(32/8)]+1/32 Log[1/(32/8)]+0)+(1/8 Log[1/(8/2)]+1/16 Log[1/(16/2)]+1/16 Log[1/(16/2)]+1/4 Log[1/(4/2)]).

You can get that by using HoldForm on the right-hand side of your assignments. Then use TeXForm[a+b+c+d] to convert:

a = HoldForm[
  1/8*Log[(1/8)/(1/2)] + 1/16*Log[(1/16)/(1/2)] + 
   1/16*Log[(1/16)/(1/2)] + 1/4*Log[(1/4)/(1/2)]];

b = HoldForm[
  1/16*Log[(1/16)/(1/4)] + 1/8*Log[(1/8)/(1/4)] + 
   1/32*Log[(1/32)/(1/4)] + 0];

c = HoldForm[
   1/32*Log[(1/32)/(1/8)] + 1/32*Log[(1/32)/(1/8)] + 
    1/16*Log[(1/16)/(1/8)] + 0];

d = HoldForm[
   1/32*Log[(1/32)/(1/8)] + 1/32*Log[(1/32)/(1/8)] + 
    1/32*Log[(1/32)/(1/8)] + 0];

TeXForm[a + b + c + d]

Upvotes: 0

Related Questions