Emacs所见即所得地编辑数学公式(伪)


#1

是一个很棒的所见即所得的数学公式编辑器,但是只在web提供,我用Electron简单地(暴力)包装了一下,可以在命令行和Emacs里启动。

quick-mathlive

大家试一试看看有啥bug啊。

有个问题是结束以后没法恢复Emacs的聚焦,而且好像不是很好搞。

有大佬感兴趣可以搞个xwidget的?mac上xwidget太麻烦我就没研究。

更新:

忘了放链接了……


#2

看到一个类似的,感觉也很酷,a WYSIWYG editor for LaTeX formulas in Emacs,基于emacs calculator。我自己一直用org自带的cdlatex已经习惯了,就暂时不折腾预览的功能了。


#3

对,我就是在reddit上看到这个,发现自己已经忍了手写数学公式很久了。


#4

我用了 physics 宏包以后就没再觉得手写公式太痛苦了((


#5

个人觉得如果纯粹论输入的话,cdlatex输入法已经减轻了我纯手码的痛苦了,因为大大减少了反斜杠的输入次数。

比如输入\frac{\varphi}{\beta},我只需要敲 fr TAB ``f TAB `b,其中第一个TAB用作complete(fr -> \frac{}{}),第二个TAB用作花括号{}中间输入位置的切换;半角号(点)是用来开启希腊字母和常用数学符合的前缀,比如 <半角>a就是\alpha,<半角>x就是\chi, <半角><半角>d是偏微\partial。

还有很多类似的shortcuts,熟悉之后打公式还是很快的,而且并不难记。虽然半角号也有点远,但确实少打了很多东西,也可以自己修改绑定。

预览的话我还是觉得 论坛里 fuxialexander 的 [Packaged on Github] Org mode Latex Fragment 即时预览 比较适合我,但一直有几个bug我没搞定,最近暂时也没时间:joy:


#6

github上有人想让我把Guppy 整合进emacs-webkit-katex-render 暂时还没空做。。。 有个问题是linux上的xwidget文字输入体验过于糟糕。。。mac上倒是挺好


#7

mac下的xwidget可以这样获得:

brew edit emacs-plus

然后用以下内容覆盖整个文件

https://gist.github.com/fuxialexander/67ce2d87543a8ec8f76a4868ea93e5b7

然后 brew install emacs-plus --HEAD --with-xwidgets --with-jansson


#8

这个很有意思。熟悉以后应该还不错


#9

这个也是好东西www


#10

好像很厉害的样子


#11

用AucTeX也觉得手写痛苦么?我都可以用它快速记笔记了。当我Emacs之前,写latex公式是真的难受,当然已经比Word打公式好太多太多了


#12

纯手写宏挺烦的,之前没了解过这些快捷输入。文字看起来也比较乱,没有所见即所得的直观。

快速记笔记是怎么做到的?


#13

其实就是直接用AucTeX打公式,Orgmode时我写个小函数在下方快速开个小小的AucTeX窗口写公式(就是一个临时的tex文件),然后剪切进orgmode. (C-c '有各种各样的问题,有时打不开;注:我是用mathjax生成html看的)

AucTeX有LaTeX-math-mode可以用(貌似叫这个),就是用~键快速输入数学符号,因为我大量用latex,所以常用的符号都自定义在这里了,输入很快,差不多能满足快速作笔记的要求了。


#14

哦,对了,如果你不知道, Mac有LaTeXit 可以用来生成png/pdf图的公式,用来用在别的非latex软件中,如keynote之类或画图软件中。其实我更喜欢用Emacs来生成图,因为auctex打公式快很多很多还可读很高(别的支持latex公式的环境显示一大坨公式代码,极容易出错),用下面这个template就好了(写个snippet方便快速输入),自动切好刚刚公式大小的pdf:

\documentclass[class=scrreprt]{standalone}
\usepackage{varwidth}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
% \KOMAoptions{fontsize=24pt}
% \usepackage{times,newtxmath}
\usepackage{lmodern}

\usepackage{latexsym, amsmath, amssymb, amsfonts, mathrsfs, arydshln, mathtools}
\usepackage{algorithm, algpseudocode}
\usepackage{graphics, setspace}

\begin{document}
\begin{varwidth}{10in}
     \begin{equation*}
       \begin{aligned}
         % insert equation here:
         % Equation #1
         
       \end{aligned}
     \end{equation*}
\end{varwidth}
\end{document}

#15

看来是老司机了,我是最近上课刚要开始写这些东西


#16

focus到emacs这个,之前在坛里讨论过,记得好像是从magit抄的:

(defun open-emacs-window ()
  "Switch to emacs frame."
  (select-frame-set-input-focus (selected-frame)))
mg() {
    emacsclient -n -e '(magit-status)' -e '(open-emacs-window)' > /dev/null
}