I've posted on r/rust as well (https://www.reddit.com/r/rust/comments/lqn5aa/calculatex_a_p...), and there seems to be interest in using it for scientific papers and such.
The only alternative I know of is PTC MathCAD, which is quite powerful and definitely worth looking into. However, it's quite expensive and Windows only.
The main repo (a Rust library and basic CLI) can be found here: https://github.com/mkhan45/CalcuLaTeX
The website repo using WASM and very hacky JS can be found here: https://github.com/mkhan45/CalcuLaTeX-Web
Is there a way to get the LaTeX source with the completed calculation (so that you can copy/paste the whole thing in your local LaTeX installation and, well, hand in your homework)? (sort of a "middle" tab)
The pictures give you the radius of the blast as a function of time.
All that could be important In determining the radius R as a function of time are the initial energy released, E, and the density of the undisturbed medium, Rho.
Thanks to your natural curiosity, you know the value of dimensional analysis and reason that the radius, with dimensions of length, must depend only on E, rho, and t, for which the correct expression can only be:
R(t) = (E/Rho t^2)^(1/5)
Since E/Rho has dimensions of (length)^5/time^2
A log-log plot of r vs t (imagine measuring the radius of the blast and carefully noting time stamps given in the picture captions) gives a slope of 2/5, checking the theory, and E/Rho could be obtained from extrapolation to the value of log R when log t= 0. Rho is known For air and thus E was determined to within a factor of order 1.
For the practitioner of dimensional analysis, the nations deepest secret had been published in Life magazine.
(Goldstein States of Matter, chapter 6)
Ah, but how best to convey the findings? Surely the best way is to use a mathcad like, But open source tool which prints straight to latex!
Ah ...if only it could express fractional units...
GI Taylor prepares a letter to John wheeler, requesting a closed time like networked computing device so that the feature request can be made.
In all seriousness though, This project is awesome! Just kick in fractional unit support and it will surely be unstoppable.
GI Taylor should be able to publish his findings by the end next week
Not sure what I really had to add with that whole bit up there. I suppose it’s that sometimes intermediary units are a fun part of the story!
Anyway, very cool project.
This is true in a dimensional analysis way, where e.g. arclength around a circle is equal to the subtended angle times the radius and, since the arclength and the radius have the same dimension, the angle must be dimensionless.
But units are more than that. You can't do anything in chemistry without running into quantities like molarity or ppm that appear to be dimensionless but make no sense if you think about them as coefficients rather than as combinations of semantically-distinct units that happen to have the same name.
Imagine some subtance that is 5% salt by mass and 8% salt by volume. ppm by mass is just kg / kg, right? And ppm by volume is m^3 / m^3. Those are the same unit -- in fact, no unit at all. Except that the implication of that non-fact is that ppm by volume and ppm by mass are the same thing, which they aren't.
Similarly, radians are best conceived of as percentages of a rotation, not as dimensionless coefficients. Then we calculate an arclength around a circle by saying that the ratio between the arclength and the full perimeter is equal to the ratio between the subtended angle and the full rotation. Characterized so, we have both units present twice, canceling each other out on each side of the equation, and we don't need to clean up by saying that the angle has no unit at all. We divided part of a perimeter by all of a perimeter -- producing a dimensionless quantity -- and we divided part of a rotation by all of a rotation -- also producing a dimensionless quantity -- and then we correctly compared two dimensionless quantities to each other.
(On this analysis, the equation s = rθ is actually incorrect; it should be written s = rθ/1 . You can extend this -- we all know the area under sin(x) from 0 to pi is 2. 2 whats? Well, the x axis is radians and the y axis is sine values. Sine values are computed by dividing the length of a line segment by the length of another line segment; they are legitimately dimensionless. So the area under sin(x) must be 2 radians.)
This is overt when calculating in degrees because they are an inconvenient size. The size of a radian is chosen so that the constant terms (2·pi) in the numerator and (2·pi radians) in the denominator appear to cancel out, giving a (1 radian) in the denominator which is omitted from the formula because dividing by 1 is numerically pointless. But dividing by 1 radian is not dimensionally pointless; omitting the 1 from the formula leads to the illusion that θ has no unit attached.
My main suggestion is better error handling: make it so that when a calculation is invalid, it shows the error where the result would be (e.g. red text with the error message) instead of failing to compile the whole script.
What made you choose LaTeX for the tool?
It seems like it wouldn't be too hard (maybe?) to get a proper algebra engine to assign variables. Currently you can do `x = 10` but you can't do `x / 2 = 5`. I feel like this would be very helpful since you're using this for scientific calculations.
It could then be possible to extend that further and leave the variable undefined if it doesn't (yet) have enough information to solve it. Then it could theoretically be used to solve simultaneous equations.
I was originally planning to use MathJax and HTML or Markdown but honestly it wasn't a completely conscious decision.
About proper algebraic stuff, it is a long term goal to have at least a basic polynomial solver, but I've no experience in the area and I'm not sure how far it can go.
One thing that’d make this even more awesome is the ability to drop in a data table and have it show up as a graph. The scripts I built in college allowed me to drop a CSV file into a directory and have it automatically turned into an EPS graph that I could use in LaTeX. It made for pretty easy, but very good looking reports.
Typora is my favorite Mac Markdown editor: It looks like a plain word processor file, hiding the markdown annotations, but they're still there and can be edited. I think it's ideal.
5 kg + 5 kg = 10 kg
5 kg + 6 kg = 11.000 kg
yeah that's not supposed to happen. I'm not completely sure what's up there but thanks for the report
km/h doesn't work but km/hour does. I haven't added h as an alias for hour since it's also the SI prefix for hecto.
We have Windows app and beta web app. Also Mac app coming soon. It's free for students and otherwise still inexpensive.
Currently happily using smath studio which is free.