nm

11353 Reputation

20 Badges

13 years, 20 days

MaplePrimes Activity


These are questions asked by nm

I'd like to suggest Physics:-Latex change its use of \textit{} and replace it with \mathit{} 

\mathit is the better Latex command to use, since the Latex generated goes into math mode and \mathit is designed to be used in math mode and hence has a better spacing for this. Making the final Latex look a little better.

Here is an example showing the difference.

restart;
ode:=diff(y(x),x) = y(x)/(x^2+1);
sol:=dsolve(ode);
Physics:-Latex(sol)

Gives

y \left(x \right) = \textit{\_C1} {\rm e}^{\arctan \left(x \right)}

It will be better to generate

y \left(x \right) = \mathit{\_C1} {\rm e}^{\arctan \left(x \right)}

Here is the difference when both are compiled using latest texlive 

Since all the Latex generated is meant to be used in math mode, \mathit would be better choice. It is considered wrong to use \textit in math mode actually, even though it does compile.

Here is the latex file used to generate the above pdf

\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{maplestd2e}


\begin{document}

\[
y \left(x \right) = \textit{\_C1} {\rm e}^{\arctan \left(x \right)}
\]

\[
y \left(x \right) = \mathit{\_C1} {\rm e}^{\arctan \left(x \right)}
\]

\end{document}


 

interface(version);

`Standard Worksheet Interface, Maple 2020.1, Windows 10, July 30 2020 Build ID 1482634`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 789 and is the same as the version installed in this computer, created 2020, September 1, 23:54 hours Pacific Time.`

ode:=diff(y(x),x) = y(x)/(x^2+1);
sol:=dsolve(ode);
Physics:-Latex(sol)

diff(y(x), x) = y(x)/(x^2+1)

y(x) = _C1*exp(arctan(x))

y \left(x \right) = \textit{\_C1} {\rm e}^{\arctan \left(x \right)}

 


thank you

Download latex_issue_8.mw

I've been using Physics:-Latex in my large program, and checking the output visually. I noticed this small issue on one page.

When asking Physics:-Latex to generate Latex for this expression

It gives

While when using standard latex() command, the result is

Below is the worksheet attached. Using Latest Physics and Maple.
 

interface(version)

`Standard Worksheet Interface, Maple 2020.1, Windows 10, July 30 2020 Build ID 1482634`

Physics:-Version()

`The "Physics Updates" version in the MapleCloud is 784 and is the same as the version installed in this computer, created 2020, August 31, 0:51 hours Pacific Time.`

restart;

 

expr:=1/2*int(exp(-t)*f(t),t)*exp(t)-1/2*exp(-t)*int(exp(t)*f(t),t)

(1/2)*(int(exp(-t)*f(t), t))*exp(t)-(1/2)*exp(-t)*(int(exp(t)*f(t), t))

Physics:-Latex(expr)

\frac{\left(\int {\rm e}^{-t} f \left(t \right)d t \right) {\rm e}^{t}}{2}+-\frac{1}{2} {\rm e}^{-t} \left(\int {\rm e}^{t} f \left(t \right)d t \right)

latex(expr)

{\frac {\int \!{{\rm e}^{-t}}f \left( t \right) \,{\rm d}t{{\rm e}^{t}
}}{2}}-{\frac {{{\rm e}^{-t}}\int \!{{\rm e}^{t}}f \left( t \right)
\,{\rm d}t}{2}}

 


THe latex file used to compile the Maple output Latex using TeXLive distribution on Linux is

\documentclass[12pt]{article}
\usepackage{amsmath}
%\usepackage{maplestd2e} %not needed for this example
\begin{document}

%output of Physics:-Latex()
\[
\frac{\left(\int {\rm e}^{-t} f \left(t \right)d t \right) {\rm e}^{t}}{2}+-\frac{1}{2} {\rm e}^{-t} \left(\int {\rm e}^{t} f \left(t \right)d t \right)
\]

%output of maple latex()
\[
{\frac {\int \!{{\rm e}^{-t}}f \left( t \right) \,{\rm d}t{{\rm e}^{t}}}{2}}-{\frac {{{\rm e}^{-t}}\int \!{{\rm e}^{t}}f \left( t \right) \,{\rm d}t}{2}}
\]

\end{document}

Download latex_issue_5.mw

 

I spend all day on this, since some tests I have were failing when I changed to using Physics:-Latex() vs. latex(). I made no change at all in my own code other than to replace latex() by Physics:-Latex().

I am still not sure why that is, but it seems due to symbol clash somewhere.  First time I run my test, it passes, next time if fails. When I change back to latex(), the test passes each time.  

This seems to be due to when calling Physics:-Latex() the very first time, it automatically changing diff(y(x),x) to y'(x). May be it is storing its own x in there. (this happens on special input and not for each input, that is why only some tests fail and not all of them).

So next time I call the test it failes. May be due to different x being used. I do not know. 

All what I know now is that using latex() makes my dsolve test passes each time.  

But here I will show the issue which I think if fixed, should fix the main problem.

Calling Physics:-Latex() causes it to automatically change diff(y(x),x) to y'(x)  even though I am not using Typeseeting at all. 

restart;
s:= y = u*x:  #special case input which causes the typesetting to kick in
ode:=diff(y(x),x)=1:
print(ode);
Physics:-Latex(s,output = string):
print(ode);

Notice how the derivative changes on its own to using y'(x).  Now compare with latex()

restart;
s:= y = u*x:
ode:=diff(y(x),x)=1:
print(ode);
latex(s,output = string):
print(ode);

So something happens inside Physics:-:Latex which causes this.  

For now, I will change back to latex() until I figure more what is going on so that my test do not fail. I like to use Physics:-:Latex as it made the latex look much better.

Maple 2020.1, Physics 778
 

restart;

interface(version)

`Standard Worksheet Interface, Maple 2020.1, Windows 10, July 30 2020 Build ID 1482634`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 778 and is the same as the version installed in this computer, created 2020, August 29, 9:34 hours Pacific Time.`

s:= y = u*x:
ode:=diff(y(x),x)=1:
print(ode);
Physics:-Latex(s,output = string):
#latex(s,output = string):
print(ode);

diff(y(x), x) = 1

diff(y(x), x) = 1

 


 

Additional observation

This change of typesetting does not happen all the time. For example if s:= y = x: then it works OK. i.e. it does not change typesetting. But if s:= y = u*x: then it changes typesetting. which is very strange why that is.

I stepped into Physics:-Latex using the debugger., The typesetting changes after the call to Physics:-Latex:-Print.

Download latex_issue_2.mw

 

I am learning Typesetting so I can get better Latex.

I'd like to have all derivatives generated as y'(x) and not dy/dx regardless of what the derivative variable is. (It is more clear this way).

I found I can't even give Maple a list of the variables. But must do it each time one at a time.

I have thousands of ODE's I need to typeset, (they use different variables (depending on the textbook), and not always x or t, but the set of variables is not large).

so having to check and keep changing this setting each time is awkward (but I think is doable, as I know what the independent variable is for each ode so I can call Typesetting at start of each ode processing, once I know what the variable is).   

It wil be much easier if there is a way to tell Maple to do this for all variables. May be there is a good reason why Maple does not seem to allow such an option?

Here is an example

Typesetting:-Settings(usedot=false,prime=t,typesetprime=true):
ode:=diff(y(t),t$2)+diff(y(t),t)+y(t)= 0:
Physics:-Latex(ode);

Which gives the Latex I want

But if the variable was x instead of t, I have to do this

Typesetting:-Settings(usedot=false,prime=x,typesetprime=true):
ode:=diff(y(x),x$2)+diff(y(x),x)+y(x)= 0:
Physics:-Latex(ode);

I tried doing prime=[x,t] but Maple did not like this.

Is there a way or trick to tell Maple to use typesetprime=true for any letter?  I looked at https://fr.maplesoft.com/support/help/Maple/view.aspx?path=Typesetting%2fSettings but do not see a way so far.

Maple 2020.1 with Physics 776

I am trying the new Physics:-Latex command in version 774.

Couple of isssues I found:

1) One test I have failed with this error

Error, (in anonymous procedure called from anonymous procedure called from anonymous procedure called from anonymous procedure called from Physics:-*) invalid boolean expression: NULL
 

Using the normal latex() command works OK. I hope it is not too hard to fix since this new version seems to have fixed the fraction problem in latex(). Please see

restart;
sol:=dsolve(t*(t-2)^2*diff(diff(y(t),t),t)+t*diff(y(t),t)+y(t) = 0,y(t));
latex(sol);  #OK

Physics:-Latex(sol); #error

 

2) Maple now generates Latex using maple macro, which I do not know what it is.  Comparing

restart;
ode:=t*(t-2)^2*diff(diff(y(t),t),t)+t*diff(y(t),t)+y(t) = 0;
latex(ode)

which gives 

t \left( t-2 \right) ^{2}{\frac {{\rm d}^{2}}{{\rm d}{t}^{2}}}y
 \left( t \right) +t{\frac {\rm d}{{\rm d}t}}y \left( t \right) +y
 \left( t \right) =0

compare to

Physics:-Latex(ode)

which gives

t \left(t -2\right)^{2} \Mapleoverset{\ldots}{y}\left(t \right)
      +t \Mapleoverset{.}{y}\left(t \right)+y \left(t \right) = 0

What is \Mapleoverset ? googling around, these look like part of internal Maple style sheet for Latex?

Does this mean when using the new Physics Latex command, now one needs to use the package maplestd2e.sty?  With the normal latex() command, this was not needed. 

Just trying to understand the new setup.

First 114 115 116 117 118 119 120 Last Page 116 of 199