开箱使用

  1. 设置文本空格无连续空格: 首选项>键盘>文本模式中的空格键: No Multiple spaces
  2. 设置文档更新刷新两遍: 首选项>其他>执行文档更新: 两次
  3. 使用前可以删除大多数插件,仅仅保留常用的插件:graph,pari,python,sage,sympy,tikz,tmpy。
  4. 使用标准的断页模式可能会在断页前或其他类似情景输入换行出现闪退 bug。设置 Document>Page..的断行算法为专业可以防止此换行 bug。不过专业的断行可能会拖慢编辑器。解决的方法是书写文章时候使用paperus+标准断行算法, 之后导出文档再转为paper格式。
  5. 中文文档仅仅保存为 xml 格式(tmml)可以以Unicode方式存储中文,方便预览和版本控制。但是文件大小会比较大,且实时编辑保存会有卡顿。

常用技巧

  1. Shift + 箭头可以框选.
  2. MacOS 使用 ctrl + shift + 4 进入行间公式需要切换为英文输入法, 且先按下 ctrl. (Windows版本下快捷键为 Alt+Shift+4
  3. 文档内的==折叠结构==: Insert -> Fold -> Folded -> Default
    会产生一个空心的点,表示点击可展开。第一行是可见内容,之后是不可见。
  4. 向量符号输入是 \vect 而不是 LaTeX 的 \vec.
  5. 使用某些命令, 比如\label, \index 时可以使用 Tab 键代替中间的确认键防止突然跳转.
  6. 在 Texmacs 中高亮数学公式中的括号, "焦点工具栏"中扳手形状的图标,然后点击 "color according to nesting level" 即可.

修改宏

  • 更改中文环境中的“定理”为英文“Theorem”等: 在一个定理环境中点击扳手符号, 找到 Theorem text... 修改对应宏的中文名为英文即可.
  • 常用的宏命令,\assign, \value, \with 以及 \macro\(即 argument,直接输入反斜杠加 argument 的名字即可。) 注意,如果要嵌套的话,需要把每个指令都Enter执行。
  • 定义 definition 的别名\def(详细参见TeXmacs tips: 给定理环境添加别名):输入assign命令将 def 映射到 definition,而命令 definition 需要用 value 来包裹,需要输入的效果如下:

    <assign|def|<value|definition>>

一直回车使之生效,也可以把这些内容放在 preamble 中<hide-preamble| >中。这一assign方式不如直接修改宏,更不如使用快捷键(修改my-init-texmacs.scm)(会导致导出 latex,md 等无效。)

设置快捷键和快捷输入

scheme 代码可以在特定的文档中加入使用(插件或者运行的插件)。

使用scheme 可以实现类似于 AHK 的快速输入。 比如:

(kbd-map ("s u s t c" (insert "南方科技大学"))) 

注意<u>每个字符都要分隔</u>。这些代码还能添加到默认的用户启动配置。

增加复制到/粘贴为 LaTeX 快捷键

通常情况下,我们使用 Edit>Copy to/Paste to 复制粘贴 Latex 代码。我们可以为这两个动作添加快捷键。打开或者新建文件 vi ~/.TeXmacs/progs/my-init-texmacs.scm (Windows下目录为 \Appdata\Roaming\TeXmacs\progs\),增加如下内容

(kbd-map ("M-A-c" (clipboard-copy-import "latex" "primary")))
(kbd-map ("M-A-v" (clipboard-paste-export "latex" "primary")))

设置的是Win+Alt+c复制为latex,而 Win+Alt+v粘贴 latex。详见参考「豆瓣小组」。(在 Texmacs 内 M 代表 Command/Wind,C 代表 Ctrl,A 代表 Option/Alt。)

增加一些不显示快捷键和工具栏的数学公式

比如输入几分之一(且可以嵌套):

(kbd-map (:mode in-math?)("1 /" (begin (math-insert `(frac "1" ""))(go-to-previous-word))))

比如输入二项式系数

(kbd-map (:mode in-math?)("b i n o m" (begin (math-insert `(binom "n" ""))(go-to-previous-word))))

自带画图的技巧

  1. 需要尽可能的画在正中央, 这样裁剪(crop)以后不会有边白.
  2. 公式模式可以插入 tree 用于画交换图.
  3. 画图模式中鼠标右键点击是取消, 左键双击确认曲线.

Bibtex参考文献使用方法

Texmacs 中使用参考文献要求如下几步:

  1. 写好 .bib文件,并把它放在含 tm 文件的文件夹中。
  2. 点击 Insert->Automatic->Bibliography,然后输入 bib 文件名。
  3. 在文档需要引用处,点击 Insert-> Link-> citation-> visible/invisible,再输入相应的文献名,回车(!)。(或者使用 \cite.)
  4. 点击三次 Document-> Update-> Bibliography, 或者使用快捷键 ⌘⇧R

安装字体以及更新字体缓存

TeXmacs默认的中文字体是Fandol,所以我们需要从Fandol字体的主页下载,并将字体放在 ~\AppData\Roaming\TeXmacs\fonts\truetype 下面。

GNU/Linux 或者 macOS 对应的目录是 ~/.TeXmacs/font/truetype,之后要运行如下命令:

/Applications/TeXmacs.app/Contents/MacOS/TeXmacs --delete-font-cache

安装完这个字体以后可以使用中英混排(中文模式).

插件的使用

使用 BasicTex 如何使用 tikz, xypic 等插件

BasicTex 虽然自带 tikz 包, 但是如果直接在 texmacs 中使用tikz插件的话可能会一直显示“busy”, 原因是 texmacs 的 tikz 插件1用到了宏包 standalone, 这需要使用 tlmgr 安装.

BasicTex 默认没有安装 xypic. 使用 tikz 即可.

使用 tikz 画图不显示代码

通常我们并不希望看到代码, 但是也想在文档中留下代码(便于修改), 这时候不要插入 interactive session, 转而插入 executable. 写完代码后, 在插件工具栏点击生成即可.

添加 Markdown 转换功能

下载tm2md项目到本地,放在convert目录下,重命名为markdown。在windows上,路径为%appdata%/TeXmacs/progs/convert,在Linux或MacOS上,路径为~/.TeXmacs/progs/convert

可以先点击菜单Tools->Developer tool打开Developer菜单。之后点击菜单Developer->Open my-init-texmacs.scm, 然后在my-init-texmacs.scm添加代码

(use-modules (convert markdown init-markdown))

成功安装后,可以看到File->Export->Markdown…菜单,点击即可导出为markdown文档。

参考链接

  1. 豆瓣小组. TeXmacs常见问题(2020版)
  2. 知乎专栏. GNU TeXmacs专栏导航贴
  3. 学术文章写作利器: TeXmacs介绍

whzecomjm
2021-04-07 20:37


  1. 以后遇到插件问题可以直接去安装目录, 看看插件是如何写的, 依赖哪些程序和包.