[HN Gopher] Show HN: CalcuLaTeX, a pretty-printing calculator la...
___________________________________________________________________
Show HN: CalcuLaTeX, a pretty-printing calculator language
Author : fish45
Score : 105 points
Date : 2021-02-24 15:22 UTC (1 days ago)
(HTM) web link (mkhan45.github.io)
(TXT) w3m dump (mkhan45.github.io)
| fish45 wrote:
| Hey HN, I created CalcuLaTeX because I was frustrated with my
| workflow for chemistry and physics homework. Generally, I'd use
| the Python REPL as a calculator and type each problem into LaTeX
| to turn it in. CalcuLaTeX merges these two steps and makes it
| easier to reason about calculations by real time visual feedback.
|
| I've posted on r/rust as well (https://www.reddit.com/r/rust/comm
| ents/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
| FabHK wrote:
| This is awesome!
|
| 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)
| fish45 wrote:
| The main export of the Rust/WASM library is just a function
| which outputs LaTeX; it should be pretty doable to add a
| button to the website which does what you're asking. I think
| I'll just add a checkbox to set whether it actually renders
| or not.
| 8note wrote:
| Ti-89 is a great option, since you can also get the nice
| formatting while you're doing exams
| RandomWorker wrote:
| This is awesome! Does it do other conversions than weight?
| mol/lengths/surface/volume/energy?
| fish45 wrote:
| It supports every SI unit and many derived units. It doesn't
| yet support fractional units, e.g. km^3/2 though. AFAIK there
| aren't any fractional units that have physical meaning but
| they might appear in intermediate steps sometimes.
| tobmlt wrote:
| Imagine you are G.I.Taylor and its the start of The Cold
| War. Life magazine has just published an amazing high speed
| photographic sequence of the detonation of an atom bomb.
| The nation is enthralled by these images, but you see a bit
| further into the imagery.
|
| 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.
| fish45 wrote:
| Haha if only.
|
| GI Taylor should be able to publish his findings by the
| end next week
| tobmlt wrote:
| Yeah they managed to find their way into circulation
| somehow. ;)
|
| 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.
| FabHK wrote:
| The unit of volatility is conceptually [time^{-1/2}], most
| commonly 1/sqrt(year), but that is rarely written. (People
| speak of a stock with 30% annual vol, not with a sigma =
| 0.3 a^-0.5 :-)
| fish45 wrote:
| Weird units are cool. I was pretty mindblown when I
| realized that radians are basically meters/meters and
| steradians are meters^2/meters^2
| kccqzy wrote:
| That's wonderful! When I used to do my math and physics
| homework, I used Mathematica as a calculator. It has built-in
| LaTeX formatting available (right click, Copy As > LaTeX). But
| likewise Mathematica is expensive and proprietary software so
| it doesn't appeal to everyone.
| formerly_proven wrote:
| FYI you might find the GNU units(1) tool useful, which has a
| huge catalog of units and understands about the same set of
| math operations as a scientific calculators. From the demo I
| actually thought this was using GNU units in the background.
| fish45 wrote:
| That's pretty cool. I did search for a unit calculation
| library before starting this but since WASM is a priority I
| wanted to use a Rust one.
| prezjordan wrote:
| Very cool! The output looks nice, will definitely give this a
| whirl for some blog posts.
| fish45 wrote:
| I'm glad to hear it! Feel free to open an issue if you'd like
| anything added
| hamaluik wrote:
| I'm so glad you made this! I'm also very upset that this didn't
| exist 10 years ago when I really needed it. Well done!
| fish45 wrote:
| Haha I don't think I understood the concept of units 10 years
| ago
| macintux wrote:
| I used to do my calc and some CS homework in LaTeX. Seemed
| easier than trying to write slowly enough to make my
| handwriting legible.
| SamBam wrote:
| Very cool!
|
| 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.
| fish45 wrote:
| > What made you choose LaTeX for the tool?
|
| 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.
| Jakobeha wrote:
| This is cool! I think it can be really useful.
|
| 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.
| fish45 wrote:
| I definitely agree that error handling should be improved. I'm
| trying to keep the LaTeX output as portable/minimal as possible
| though so I'm not sure if highlights are doable. My current
| plan is to output more diagnostic info and let the JS interface
| figure it out.
| drran wrote:
| I use Marker markdown editor + MathJax + embedded JavaScript to
| achieve similar results.
| croddin wrote:
| This is awesome. It reminds me of the iOS app Calca[1], which is
| similar.
|
| [1] http://calca.io/
| nielsbot wrote:
| I like Calca, and this looks like a cool project. Could be cool
| to combine the 2 in an editor similar to Typora.
|
| 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.
| fish45 wrote:
| That's really cool. I'll definitely look to it for inspiration
___________________________________________________________________
(page generated 2021-02-25 23:01 UTC)