我正在使用 Julia 和 Symbolics 包将变量名称显示为 LaTeX。我使用
@variables
宏定义了一个类似 LaTeX 的名称的变量:
Pkg.add("Symbolics")
using Symbolics
@variables var"\frac{\partial y}{\partial x}"
我想将此变量名称显示为 LaTeX,但是当我使用
display(var"\frac{\partial y}{\partial x}")
时,它显示变量的值而不是 LaTeX 表达式。我想像使用 L""
字符串一样显示变量名称:
L"\frac{\partial y}{\partial x}" |> display
有没有办法将这个符号变量名称显示为LaTeX,以便它显示变量名称本身。
我尝试了以下方法将符号变量
var"\frac{\partial y}{\partial x}"
显示为LaTeX:
我尝试显示变量:
front = "L\""
back = '"'
eval(print(front, :(var"\frac{\partial y}{\partial x}") ,back)) |> display
但是没有成功。
我希望我可以使用元编程将符号变量
var"\frac{\partial y}{\partial x}"
显示为LaTeX,即作为L"\frac{\partial y}{\partial x}" |> display
的输出,显示变量名称本身,var"\frac{\partial y}{\partial x}"
。
我的期望是找到一种解决方案或替代方法,允许我将符号变量名称显示为 LaTeX,保留变量的类似 LaTeX 的格式。
您有两个选择。
首先,通过指定输出的 MIME,您可以将变量显示为 LaTeX 方程:
julia> x = (@variables var"\frac{\partial y}{\partial x}")[1]
var"\\frac{\\partial y}{\\partial x}"
julia> display("text/latex", x)
$$ \begin{equation}
\frac{\partial y}{\partial x}
\end{equation}
$$
您还可以手动拉开
Num
,即x
要获取其底层的Symbol
,您可以使用它来获取内联形式的LaTeX。
julia> x.val.metadata
Base.ImmutableDict{DataType, Any} with 1 entry:
VariableSource => (:variables, Symbol("\\frac{\\partial y}{\\partial x}"))
julia> latexstring(first(values(x.val.metadata))[end])
L"$\frac{\partial y}{\partial x}$"