【问题标题】:IHaskell and LatexIHaskell 和 Latex
【发布时间】:2018-08-30 14:27:36
【问题描述】:

在使用 IHaskell 时,是否有可能让 Latex 自动处理所有输出,或者理解为 Markdown ?

也许这将涉及(至少如果我希望它与 MyType 类型的数据一起使用)使用 import IHaskell.Displayinstance IHaskellDisplay MyType where... 但我不知道如何使这项工作!

谢谢!

edit 有人问了一个例子,所以我想到的是:每个输出字符串(对于每个输出都是一个字符串,最终......)被处理为乳胶代码(或降价)。如果一个函数返回,比如说,一个整数,结果将几乎不可见,但如果一个函数返回字符串$\mathbb{Z}$,那么屏幕上显示的是

$\mathbb{Z}$

[警告!我以为我们在 stackoverflow 上有乳胶公式,就像我们在 mathoverflow 中一样,但如果我们没有,你需要你的想象力!...]

最终我想我会有一个class Latexable a where showlatex :: a -> String,我会为某些类型实现 showlatex。

嗯,我对各种部分解决方案很满意,允许我在笔记本中直接排版 一些 公式,all 输出是否是无关紧要的处理...

【问题讨论】:

  • github.com/gibiansky/IHaskell/issues/828 可能是相关的。但是,你所说的“所有的输出都由 LaTeX 自动处理是什么意思?请举例说明您所指的输出类型以及您希望它如何呈现。
  • 好吧,为什么不直接改成class Latexable a where showlatex :: a -> LaTeX?为此使用一个字符串——但随后期望 IHaskell 将其解释为 LaTeX——似乎很奇怪......——“因为每个输出最终都是一个字符串”←不它不是,你为什么会这样认为?
  • 笔记本中的输出单元格是 ASCII 文本。 (好吧,您可以安排笔记本显示图像,但让我们忽略它。)同样,在终端中使用 ghci,它会打印 ASCII 字符。这就是我所说的“输出始终是字符串”的意思,我的意思是“输出是 ASCII 文本”。我希望这个 ASCII 文本由 Latex 处理(或理解为 Markdown。)顺便说一下,当你在 Jupyter Notebook 中运行 Sagemath 时,你完全可以通过使用 %display typeset
  • 在 GHCi 中,它是一个字符串,是的,但 IMO 是 Jupyter 的主要卖点,您不仅限于文本,还可以拥有所有其他内容。当然,现在在 Python 中,您不会倾向于依赖类型系统来区分不同的...类型。输出,但在 Haskell 中这是很自然的事情。
  • 我明白你的意思,好的。但无论如何,我正在寻找一种从笔记本中调用 Latex 的简单方法。哦,即使使用快速而肮脏的解决方案,我也很高兴,例如将输出快速复制到剪贴板的方法(然后我可以粘贴到降价单元格中,总比没有好 - 必须手动使用 CTRL-C 是另一方面,非常慢)

标签: haskell ihaskell


【解决方案1】:

这是我自己问题的部分答案。

import IHaskell.Display (latex)

如果你尝试,说

latex "$x+y$"

有效!

仍然需要找到一种机制,以便在某些情况下自动调用latex,因此问题仍然悬而未决。但在大多数情况下,我很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多