38 lines
1.4 KiB
Plaintext
38 lines
1.4 KiB
Plaintext
|
# Using Pluto
|
|||
|
|
|||
|
|
|||
|
```{julia}
|
|||
|
#| echo: false
|
|||
|
|
|||
|
import Logging
|
|||
|
Logging.disable_logging(Logging.Info) # or e.g. Logging.Info
|
|||
|
Logging.disable_logging(Logging.Warn)
|
|||
|
|
|||
|
import SymPy
|
|||
|
function Base.show(io::IO, ::MIME"text/html", x::T) where {T <: SymPy.SymbolicObject}
|
|||
|
println(io, "<span class=\"math-left-align\" style=\"padding-left: 4px; width:0; float:left;\"> ")
|
|||
|
println(io, "\\[")
|
|||
|
println(io, sympy.latex(x))
|
|||
|
println(io, "\\]")
|
|||
|
println(io, "</span>")
|
|||
|
end
|
|||
|
|
|||
|
# hack to work around issue
|
|||
|
import Markdown
|
|||
|
import CalculusWithJulia
|
|||
|
function CalculusWithJulia.WeaveSupport.ImageFile(d::Symbol, f::AbstractString, caption; kwargs...)
|
|||
|
nm = joinpath("..", string(d), f)
|
|||
|
u = ""
|
|||
|
Markdown.parse(u)
|
|||
|
end
|
|||
|
|
|||
|
nothing
|
|||
|
```
|
|||
|
|
|||
|
:::{.callout-note}
|
|||
|
## Note
|
|||
|
We see in this notebook the use of `let` blocks, which is not typical with `Pluto`. As `Pluto` is reactive – meaning changes in a variable propagate automatically to variables which reference the changed one – a variable can only be used *once* per notebook at the top level. The `let` block, like a function body, introduces a separate scope for the binding so `Pluto` doesn't incorporate the binding in its reactive model. This is necessary as we have more than one function named `f`. This is unlike `begin` blocks, which are quite typical in `Pluto`. The `begin` blocks allow one or more commands to occur in a cell, as the design of `Pluto` is one object per cell.
|
|||
|
|
|||
|
:::
|
|||
|
|